Turn Granola action items into Asana tasks for cross-functional projects
When a new Granola note lands, an agent files each action item as an Asana task in the right project, with the right owner, due date, and meeting context.
Build me an agent workflow that turns Granola meeting action items into Asana tasks for my cross-functional projects (marketing, operations, ops reviews, GTM, etc.). This is the Asana equivalent of the Granola-to-Linear flows; it should not file engineering tickets.
Trigger: poll Granola for new_note. Whenever a new meeting note is published, fire the agent.
What the agent should do for each new note:
1. Call Granola Get Note to read the full recap, including the summary, attendees, and the calendar event metadata.
2. Extract the action items from the recap. For each item, pull out the description, the named owner, the due date if one is stated, and any section label the note uses (Backlog, In Progress, Blocked, etc.).
3. Decide which Asana project the task belongs in. Use a mapping I will provide in plain English (for example: marketing standup → Campaigns project, operations review → Operations project, customer onboarding sync → CS Onboarding project). If there's no obvious match, fall back to a default project I'll name during setup.
4. For each action item with a clear owner, call Asana Create a Task in that project. Set the task name to the action item, set the due date, and put the meeting context in the task description: meeting title, date, attendees, a one-line recap, and a link back to the Granola note.
5. Set the assignee by matching the owner's name from the note to a user in the Asana workspace. Use Asana Get Users in a Workspace to resolve names to user IDs. If no confident match, leave the task unassigned but still create it and note the intended owner in the description.
6. If the action item carries a section label and the destination project has a section with that name, call Asana Add Task to Section to move the new task into the right column. Otherwise leave it in the project's default section.
7. Skip any action item that doesn't have a clear owner. Do not create unassigned placeholder tasks just to capture the line; the goal is an actionable task list, not a dump.
Other rules: don't create duplicates if the same note triggers twice; one task per action item per note. Keep the task description compact (a few lines) but always include the Granola link so people can jump back to the source.
What does this prompt do?
- Watches Granola for new meeting notes and reads the recap as soon as one is published.
- Pulls every action item out of the note along with its owner and due date.
- Creates an Asana task for each action item in the right project, with the assignee, due date, and a link back to the original Granola note.
- Drops the task into the right section like Backlog, In Progress, or Blocked when the note specifies one, and skips items without a clear owner so your task list stays actionable.
What do I need to use this?
- A Granola account where your team's meetings are recorded and recapped.
- An Asana workspace with the projects you want tasks created in.
- A simple mapping from meeting type or attendee team to the right Asana project (you can describe this in plain English when you set the workflow up).
How can I customize it?
- Change which Asana project each kind of meeting routes to (for example, marketing standups go to the Campaigns project, ops reviews go to the Operations project).
- Adjust the rule for skipping items, like requiring both an owner and a due date before a task is created.
- Tweak the task description format so it matches how your team likes to see meeting context, links, and notes.
FAQs
Will this work if some action items don't have a clear owner?
How does the agent know which Asana project to use?
What happens if the owner's name in Granola doesn't match an Asana user?
Can it put tasks into specific sections like Backlog or In Progress?
Is this a good fit for engineering tickets?
Related templates
Every weekday at 6pm, the commitments you made in meetings become TickTick tasks with real due dates, no duplicates, and a tidy Slack recap.
Every weekday morning, sort the last day of Vimeo comments, turn real questions into assigned tasks, and post one digest to Slack.
Every weekday morning, check your artist watchlist for new releases and open a ready-to-run launch checklist in Asana for each one.
Every Monday, find contracts renewing or expiring in the next 90 days, post a ranked digest to Slack, and open Asana tasks for the ones that need a decision now.
The moment a client SOW is signed in Adobe Acrobat Sign, spin up the Asana project, book the kickoff call, and DM the account owner with everything.
Every weekday at 6pm, an agent turns today's meetings into structured Confluence pages under the current month's Meeting Notes folder.
Stop rewriting meeting action items into Asana by hand.
Connect Granola and Asana once, and Geni files every action item as a task with the right owner, due date, and meeting context.