Transcribe recruiting interviews into Ashby notes with speaker labels

By General Input

Every weekday at 8am, turn yesterday's interview recordings into structured Ashby candidate notes with interviewer and candidate turns clearly labeled.

Integrations

  • AssemblyAI
  • Google Drive
  • Ashby
  • Google Docs

Type

Agentic Task

Categories

  • HR & People

Every weekday at 8am ET, sweep our designated "Recruiting interviews" folder in Google Drive for interview recordings that were uploaded in the last 24 hours, transcribe each one with speaker labels using AssemblyAI, write a structured interview note for the candidate, and post that note onto their Ashby profile. Skip recordings I have already processed, and if no Ashby candidate matches with reasonable confidence, leave a note in a fallback Google Doc instead of guessing.

Trigger: a cron schedule that runs every weekday at 8am America/New_York.

Step 1, find new recordings in Drive. Use the Google Drive List Files action scoped to a configurable folder ID for the "Recruiting interviews" folder, filtered by createdTime greater than 24 hours ago and trashed = false. Treat each returned audio or video file as a candidate recording (mp3, m4a, wav, mp4, mov, etc.).

Step 2, parse candidate identity. For each file, derive a candidate name from the filename first (strip dates, stage labels, and file extensions), then fall back to the parent folder name if the filename is generic. Pass that name to Ashby Search Candidates. If multiple candidates come back, prefer an exact name match; if still ambiguous, treat it as no confident match.

Step 3, skip already-processed recordings. Before transcribing, call Ashby List Candidate Notes for the matched candidate and check whether any existing note body already references this filename. If yes, skip the file entirely.

Step 4, transcribe with speaker diarization. Download the file bytes with Google Drive Download File Content, then push the bytes to AssemblyAI Upload Audio File to get a private upload URL. Call AssemblyAI Submit Transcript with that audio_url and speaker_labels set to true. Poll AssemblyAI Get Transcript until status is completed or error. On error, log the failure and move on to the next file.

Step 5, write the interview note. Using the speaker-labeled transcript, draft a structured HTML note that covers: a one-line summary of the candidate and the role, key strengths with supporting evidence, concerns or red flags, two or three notable verbatim quotes attributed to the candidate, answers to important technical or behavioral questions if the transcript reveals them, and a recommended next step (advance, hold, reject, or follow up on specific topics). Include the source filename at the bottom of the note so future runs can detect duplicates.

Step 6, file the note in Ashby. Call Ashby Create Candidate Note with the candidate ID and the HTML body. Then call Ashby Add Candidate Tag with a configurable tag (default "Interview transcribed") so recruiters can see at a glance which candidates already have an AI write-up.

Step 7, fallback for unmatched recordings. If Search Candidates returns no confident match, do NOT create or invent a candidate. Instead, append a short entry into a configurable fallback Google Doc using Google Docs Batch Update Document. The entry should include the filename, a one-paragraph summary of what the recording is about, and the date, so a recruiter can route it manually.

Configuration the workflow should expose: the Drive folder ID for recruiting interviews, the lookback window in hours (default 24), the timezone for the cron, the Ashby tag name, the fallback Google Doc ID, and an optional list of role-specific guidance the agent can weave into the note (for example, "emphasize systems design depth for senior engineering interviews").

Quality rules: never guess a candidate match, never overwrite existing recruiter notes, always include the filename in the note body for dedupe, and always wait for AssemblyAI status to be completed before composing the note.

Related prompts

Explore more prompts
A searchable RFP answer library your bid team drafts fromRun your weekly Lever pipeline review and decide in the appLinkedIn creator sourcing and vetting workbench for B2BTurn outbound replies into objection themes you can fixVessel due diligence desk for pre-fixture screeningTurn any influencer campaign into a client-ready reportJob search command center with live listings and pay contextOffer desk that prices one role against the live marketAd creative studio with a pre-approved variant libraryFilter every signed Ironclad contract and brief it on demand