Interview debriefs from Granola to Ashby and an Airtable scorecard
When a Granola interview note lands, attach a structured recap to the candidate in Ashby and append a hiring committee scorecard row in Airtable.
Build an agent workflow that turns interview notes from Granola into structured hiring records in Ashby and Airtable.
Trigger: poll Granola for new_note. When a new note is created, fetch the full note via Granola Get Note (with summary, attendees, and calendar event).
Step 1: Decide if this note is an interview. Treat it as an interview if any of these are true: the title matches a typical interview pattern (e.g. contains 'interview', 'screen', 'panel', 'phone screen', or '<role> with <name>'), the note lives in a designated interviews folder in Granola, or the attendee list includes at least one external email domain that does not match the company domain. If none of these match, stop and skip the rest. Do not write anything to Ashby or Airtable for non-interview meetings.
Step 2: Extract the candidate's name and email from the note's attendees (the external attendee), and identify the role and the interviewer(s) from the title plus internal attendees. Read the summary to derive: an overall signal rating (Strong Yes / Yes / Mixed / No / Strong No), 2 to 4 bullet strengths, 1 to 3 concerns, and a one-line recommendation.
Step 3: In Ashby, call Search Candidates by the candidate's email (exact match). If exactly one candidate is found, call Create Candidate Note on that candidate with HTML content structured as: a heading with the role and date, a Signal line, a Strengths section (bulleted), a Concerns section (bulleted), a Recommendation line, and a footer link back to the original Granola note. If no candidate is found, do not create a new candidate; record this and continue to step 4 with a flag.
Step 4: In parallel with step 3, call Airtable Create Records on the configured hiring committee scorecard base/table. Append one row with these fields: Candidate (name), Candidate Email, Role, Interviewer(s), Signal, Recommendation, Strengths (multiline), Concerns (multiline), Granola Note URL, Ashby Candidate URL (if found), and Interview Date. If the Ashby lookup failed, set an 'Ashby Match' field to 'Not found' so a recruiter can reconcile.
Configuration the user should be able to edit: the Granola interview folder id (optional), the company email domain(s) to treat as internal, the Airtable base id and table name, and the field-name mappings for the scorecard columns. Idempotency: only act on the first time a given Granola note id is seen; later edits should not retrigger writes unless the user opts in.
Use these specific operations: Granola Get Note, Ashby Search Candidates, Ashby Create Candidate Note, Airtable Create Records.
Additional information
What does this prompt do?
- Watches Granola for new meeting notes and recognizes which ones are interviews based on title patterns, the interview folder, or attendee email domains.
- Pulls the candidate's name and email from the note, then finds the matching candidate in Ashby and pins a clean recap to their profile with signal, strengths, concerns, and recommendation.
- Adds a row to your hiring committee scorecard in Airtable with the candidate, role, interviewer, signal rating, recommendation, and a link back to the original Granola note.
- Skips non-interview meetings cleanly so customer calls and internal syncs never end up in your hiring records.
What do I need to use this?
- A Granola account where your interviewers take notes.
- An Ashby account with permission to read candidates and add candidate notes.
- An Airtable base set up as your hiring committee scorecard with columns for candidate, role, interviewer, signal, recommendation, and a Granola link.
How can I customize it?
- Change how the agent recognizes interviews, for example by Granola folder, meeting title prefix, or which email domains count as external candidates.
- Adjust the recap structure pinned to Ashby, like adding culture fit, technical depth, or red flags as separate sections.
- Swap or rename Airtable columns to match your existing scorecard, or point the workflow at a different base for a specific role or panel.
Frequently asked questions
How does the workflow know a Granola note is an interview and not a customer call?
What happens if the candidate is not already in Ashby?
Can I run this only for certain roles or panels?
Do I need a separate Airtable base, or can I use an existing one?
Will it overwrite an interviewer's notes if they edit the Granola recap later?
Related templates
Every morning an AI browser agent checks the tender and grant portals you follow, logs the ones that fit your business, and Slacks you what is closing soon.
Every Monday at 6am, snapshot every household's AUM from Addepar into an Airtable base so your ops team starts the week with a fresh dashboard.
When a new vendor lands in Airtable, pick the right Adobe Acrobat Sign NDA template, send it out for signature, and log the agreement id back to the row.
When ops drops a new shipment row into Airtable, we detect the courier, register it in AfterShip, and stamp the predicted delivery date back on the row.
Copy every table in an Airtable base to Amazon S3 as CSV in a timestamped folder each night, with a manifest for easy restores.
Every 15 minutes, generate an Adyen payment link for every ready invoice in Airtable, save it to the row, and email the customer.
Stop copy-pasting interview notes into Ashby and Airtable.
Connect Granola, Ashby, and Airtable once, and Geni files every interview recap and scorecard row for you.