Build a customer interview research repository in Notion from Granola notes

When a Granola interview note lands, an agent files a structured record in your Notion research database and posts a highlights digest to Slack.

Agentic Task
GranolaNotionSlack BotProductOperationsResearch & MonitoringMeeting WorkflowsFeedback Triage

Build me an agent workflow that turns every customer interview I take in Granola into a structured record in our Notion research database, and posts a short highlights digest in our research Slack channel so the team sees it.

Trigger: poll Granola for new notes (event type: new_note), scoped to a specific Granola folder I will configure (our Customer Interviews folder). I will provide the folder name or ID at setup. Skip any note whose meeting title does not look like a customer interview, using simple heuristics like the presence of an external company name, or a title pattern such as 'Interview', 'User Research', 'Discovery', or 'Customer Call'. When in doubt, skip rather than file a noisy record.

For each interview note that passes the filter, the agent should:

1. Call Granola Get Note for the triggering note ID with include=transcript so we have both the summary_markdown and the full transcript to work with.

2. From the summary and transcript, extract the following structured fields: interviewee name, interviewee role/title, company, interview date, key pain points (as a list), themes (as a list of tags), top 1 to 3 surprising or quotable lines (verbatim, with attribution), and any explicitly requested features or product asks. If a field is genuinely missing from the note, leave it blank rather than hallucinating.

3. Call Notion Create a Page with the parent set to our research database (I will paste the database/data source ID at setup). Map the extracted fields onto the database properties: Interviewee (title), Company, Role, Interview Date (date), Themes (multi-select), Pain Points (multi-select or rich text), Feature Requests (rich text), and a Granola Link property pointing back to the original note URL. Put the full Granola summary_markdown into the page body, followed by a Surprising Quotes section with the verbatim quotes, and an Action Items section if Granola surfaced any. If a property does not exist on the database, skip it gracefully.

4. Call Slack Bot Send a Message to post a short digest to the research channel I designate at setup. The message should include: interviewee name and company, 2 to 4 bullet highlights (top pain points and themes), one standout quote, and a link to the new Notion page. Keep it under ~10 lines so it reads cleanly in channel.

Other behavior I want: be idempotent (do not double-create the Notion page if the same note fires twice; check by Granola note ID stored in a property like 'Granola Note ID' on the database before creating). If Notion create fails, do not post to Slack. If Slack post fails after a successful Notion create, log the error but do not retry the Notion create. Use the Granola summary_markdown verbatim for the body, do not rewrite it.

At setup time, ask me for: the Granola folder to watch, the Notion research database/data source ID, the Slack channel ID for the digest, and any custom title keywords I want to treat as 'this is an interview'.

Additional information

What does this prompt do?
  • Watches a designated customer interview folder in Granola and skips notes that are not real interviews.
  • Pulls the full summary and transcript and extracts interviewee, company, role, pain points, themes, surprising quotes, and feature requests.
  • Creates a new entry in your Notion research database with those fields as page properties and the full recap in the page body.
  • Posts a short highlights digest to your research Slack channel with a link back to the Notion page so the team can react in one place.
What do I need to use this?
  • A Granola account on a Business or Enterprise plan with personal API keys enabled, plus a folder you use for customer interviews.
  • A Notion workspace with a research database that has properties for interviewee, company, role, themes, pain points, and feature requests.
  • A Slack workspace and a research channel where the team wants to see new interview highlights.
How can I customize it?
  • Point it at a different Granola folder, or change the title rules used to decide which notes count as interviews.
  • Add or rename properties in the Notion database (for example a customer segment tag, a deal stage, or a sentiment score) and the agent will fill them in.
  • Swap the Slack channel, change the digest format, or have it post in a thread under a weekly research roundup message instead of a top-level message.

Frequently asked questions

Do I need to build the Notion database first?
Yes. Create a database in Notion with the properties you want populated (interviewee, company, role, themes, pain points, feature requests, interview date, and a link back to Granola work well) and share it with your Notion integration. The agent fills the properties you have, so missing ones are simply skipped.
Will it run on every Granola note I take?
No. It only fires for notes inside the folder you point it at, and it skips meetings whose titles do not look like customer interviews. Internal standups, 1:1s, and sales calls in other folders are ignored by default.
Can I change which Slack channel gets the highlights?
Yes. Tell the agent which channel to post to, or have it post to several channels at once. You can also turn the Slack message off entirely if you only want the Notion record.
What goes into the Notion page body versus the properties?
Structured fields like interviewee, company, role, themes, and feature requests become page properties so you can filter and group them. The full Granola summary, surprising quotes, and any extra context are written into the page body so a reader gets the whole story without leaving Notion.
Does it work on Granola Free or Pro plans?
No. Granola only issues personal API keys on Business and Enterprise plans. You will not be able to connect Granola until your workspace is on one of those plans and your admin has enabled personal API keys.

Stop letting customer interview insights die in your notes app.

Connect Granola, Notion, and Slack once, and Geni turns every interview into a searchable research record the whole team can act on.