Turn Granola action items into Google Tasks

When a new Granola note lands, an agent picks the action items you own, infers due dates, and files them into your Google Tasks Follow-ups list.

Agentic Task
GranolaGoogle TasksPersonal ProductivityOperationsMeeting WorkflowsNotifications & Alerts

Build me an agent workflow that turns my Granola meeting notes into Google Tasks so I never lose a follow-up again.

Trigger: poll Granola for new notes. Fire once per newly created Granola meeting note.

When the trigger fires, the agent should:

1) Call Granola Get Note with the new note's id and include the transcript so you have the full summary, attendees, calendar event, and transcript text. Capture the meeting title, meeting date/time, attendees, the note's web link, and the summary markdown.

2) Identify who "me" is. Use the connected Granola account's identity (or fall back to a configurable display name the user will set when they install this). Treat the user as "me" when matching attendees and action item owners.

3) From the summary and transcript, extract every action item. For each one, decide who owns it. Only keep action items where the owner is me, where the note explicitly assigns it to me, or where I clearly committed to it in the transcript ("I'll send that", "I'll set that up", etc.). Skip every action item owned by another attendee.

4) For each kept action item, infer a due date from natural language phrases in the note. Examples: "by Friday" -> the next Friday after the meeting, "next week" -> the following Monday, "by end of month" -> the last day of the month, "tomorrow" -> meeting date + 1 day. If there is no due date language, leave the due date unset rather than guessing. Use the meeting date as the anchor for relative phrases, not today's date.

5) Before creating tasks, call Google Tasks List Task Lists to find a list named "Follow-ups" (case-insensitive). If it doesn't exist, create it with Create Task List. Then call List Tasks on that list with showCompleted=false to get the open tasks already on it, so you can dedupe.

6) For each kept action item, dedupe against the open Follow-ups tasks: if there's already an open task whose notes reference the same Granola note link and whose title describes the same action, skip it. Otherwise, call Google Tasks Create Task on the Follow-ups list with:

- title: the concrete action in imperative voice ("Send the pricing deck to Acme", not "sending the pricing deck").

- due: the inferred due date in RFC 3339 (the time portion is ignored by Google Tasks, that's fine).

- notes: a short block that contains the meeting title, the meeting date, the attendee who raised the action item (or "self-committed" if it was me), the verbatim quote from the note or transcript, and the Granola note link so I can reopen the source context in one click.

- status: needsAction.

7) If the meeting had zero action items that belong to me, do nothing. Don't create a placeholder task and don't post anywhere. A clean exit is the right outcome.

Keep the title under 1024 characters and the notes under 8192 characters (Google Tasks limits). The Follow-ups list name should be configurable at install time. Only Granola and Google Tasks are needed, no third tool.

Additional information

What does this prompt do?
  • Watches Granola for new meeting notes and reads the full summary plus transcript.
  • Pulls out only the action items you committed to or were assigned, and skips items owned by other attendees.
  • Reads natural language like by Friday or next week and turns it into a real due date on the task.
  • Creates one Google Tasks task per action item on your Follow ups list, with the meeting title, date, who raised it, the verbatim quote, and a link back to the Granola note.
  • Checks open tasks already on the list so re running the workflow does not create duplicates.
What do I need to use this?
  • A Granola account on the Business or Enterprise plan with personal API keys enabled.
  • A Google account with Google Tasks, and a task list named Follow ups (or whatever list name you prefer).
  • Your own name as you appear in Granola attendee lists, so the agent knows which action items belong to you.
How can I customize it?
  • Point it at a different list name, like Personal or Inbox, instead of Follow ups.
  • Change the rule for what counts as yours. For example, include items assigned to your manager, or anything where you are the meeting host.
  • Adjust how due dates are inferred. You can default everything to two business days out, or only set a due date when the note explicitly says one.
  • Add a prefix or label to every task title, like Meeting follow up, so they are easy to filter in Google Tasks.

Frequently asked questions

Will this create tasks for action items assigned to other people in the meeting?
No. The agent only files tasks for items you committed to or that were explicitly assigned to you. Items owned by other attendees are skipped so your task list stays focused.
What happens if a meeting has no clear action items for me?
Nothing. The agent does a clean exit and does not create empty placeholder tasks. You only see new tasks when there is real follow up to do.
How does it pick a due date?
It reads natural language from the note, like by Friday, next week, or end of month, and turns that into a real date on the Google Tasks task. If there is no due date language, the task is created without one and you can add one later.
Will it create duplicate tasks if Granola updates the same note or I re run the workflow?
No. Before creating each task, the agent checks the open tasks already on your Follow ups list and skips anything that looks like the same action item from the same meeting.
Do I need a paid Granola plan to use this?
Yes. Granola personal API keys are only available on the Business and Enterprise plans, and Enterprise admins must enable them in workspace settings first.

Stop rewriting your meeting follow ups by hand.

Connect Granola and Google Tasks once, and every meeting you have turns into a clean, dated to do list.