Build a customer interview research repository in Notion from Granola notes

By General Input

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

Integrations

  • Granola
  • Notion
  • Slack Bot

Type

Agentic Task

Categories

  • Product
  • Operations

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

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them