Update your CRM pipeline card after every Granola meeting
When a new Granola note lands, an agent logs the meeting on the matching pipeline card and files action items as tasks, so reps walk back to a current card.
Build me an agent workflow that turns every new Granola meeting note into clean CRM activity inside General Input CRM. The promise is: by the time the rep walks back to their desk, the right pipeline card already reflects the meeting they just had.
Trigger: a Granola poll trigger on new_note. When a new meeting note appears in my Granola account, fire the agent.
Step 1. Use Granola Get Note on the triggering note id, with the transcript included, to pull the full summary, the attendee list with emails, and the transcript.
Step 2. Identify external attendees. Treat any attendee whose email domain does not match one of my internal domains as external. If there are zero external attendees, exit the workflow without writing anything. Internal syncs should never reach the CRM.
Step 3. For every external attendee, call General Input CRM Create People with their name and email. This operation is find-or-create and dedupes org-wide, so existing people will be returned rather than duplicated.
Step 4. For each unique external email domain, call General Input CRM Create Companies with the domain so each attendee's company exists as an account. This is also find-or-create.
Step 5. Find the matching open pipeline card. Use Get Pipeline Board (or List Pipelines then Get Pipeline Board) to scan open cards, and pick the one that is tied to any of the external attendees or to the company by domain. If multiple cards match, prefer the most recently updated. If none match, skip the card-level writes and instead leave a note on the person and company records so the recap is not lost.
Step 6. On the matching card, call Log Touchpoint with type set to meeting. The touchpoint body should be a tight bulleted recap of what was actually discussed: 4 to 6 bullets, no fluff, no greetings, written from the host's point of view. Include the meeting date and attendees in the header line.
Step 7. Extract concrete action items the host (me, or whoever owns the card) committed to during the meeting. For each one, call Create Task pinned to the same pipeline card. The task title should be the action, the description should quote or paraphrase the line from the note that captured it, and the due date should be whatever was agreed on the call. If no date was agreed, default to three business days from the meeting date. Skip items that are owned by the customer, not by the host.
Be conservative on writes. Use find-or-create everywhere, do not duplicate touchpoints if the same meeting note fires twice, and never invent action items that are not clearly in the note.
At the end, the result should be: the right pipeline card has a fresh meeting touchpoint and a small set of pinned tasks with due dates. Nothing else changed.
Additional information
What does this prompt do?
- Watches Granola for new meeting notes and pulls the full summary, attendees, and transcript.
- Adds external attendees and their companies to your CRM as people and accounts, deduped against what is already there.
- Finds the open pipeline card tied to that person or company and logs a tight bulleted meeting recap on it.
- Files concrete next steps as tasks pinned to the card with due dates, so nothing falls through the cracks.
- Skips internal-only syncs with no external attendees so your pipeline only sees real customer activity.
What do I need to use this?
- A Granola account on a Business or Enterprise plan, so you can create a personal API key from the desktop app.
- A General Input workspace with CRM access enabled and a membership API key.
- At least one pipeline set up in General Input CRM, with cards for the people or companies you meet with.
- Your team members listed in the workspace so the agent can tell internal attendees from prospects.
How can I customize it?
- Choose which pipeline the agent looks at, or let it search across all of them when a person could be on more than one.
- Tighten the recap format. Five bullets, three sentences, or a fixed template like decisions, blockers, next steps.
- Tune the action item rules. Only file tasks the meeting host owes, or include every commitment with an owner.
- Change the default task due window, like three business days when no date was mentioned.
- Adjust the internal-attendee filter to match your email domains and avoid logging internal standups.
Frequently asked questions
What happens if the prospect is not in our CRM yet?
How does the agent know which pipeline card to update?
Will internal team meetings clutter my CRM?
Does this work for sales pipelines, recruiting pipelines, or both?
Can I review the recap before it gets logged?
Related templates
Every weekday at 6pm, an agent turns today's meetings into structured Confluence pages under the current month's Meeting Notes folder.
When Granola finishes a new meeting note, Claude pulls out your action items, files them in Linear, dedupes duplicates, and drops a clean recap in Slack.
When a new Granola meeting note is ready, every action item lands on your monday.com board with the right owner, due date, and status, plus a tidy Slack recap.
Every Monday, find stuck deals across your CRM pipelines, draft a specific next move for each, and DM every owner their top five.
On the first business day of each month, turn the last 30 days of customer interviews from Granola into a themed Google Slides insights deck and share it in Slack.
Every new demo or contact form response gets researched, scored against your ICP, deduped into your CRM, and pushed to sales in Slack within minutes.
Your pipeline should reflect the meeting you just had.
Connect Granola and General Input CRM once, and every customer call quietly updates the right card before you sit back down.