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.
Additional information
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.
Frequently asked questions
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?
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.