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?
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.