Like many people, I do a lot of voice notes because talking is faster than typing.
As an Asana user, I ran into a major productivity bottleneck: I’d send an audio message into Slack or WhatsApp, and the action items would just get buried and forgotten. To fix this, I spent a couple of hours building a Make scenario that transforms raw voice notes into structured, context-aware tasks in Asana.
How the Workflow Works
-
The Trigger: A new audio file is received via webhook from Slack (similar could be done for WhatsApp, or Telegram I guess).
-
The Transcription: The audio is processed through an AI transcription module after downloading the file.
-
The “Brain”: The transcript passes to an LLM module with a system prompt that extracts the core intent, the assignee, and dynamic due dates (e.g., turning “by next Monday” into an actual timestamp). The Asana MCP made this so much more powerful than expected. There is a Notion MCP also here for similar use cases. (Whole AI agent prompt at the end)
-
The MCP: Based on the AI’s categorization, my AI agent directs the data to the exact project, section, and assignee in Asana. (With some extra steps, similar stuff could be done for ClickUp, Monday and Trello also). It honestly felt like magic when I did it the first time.
Below ais the image of the whole scenario (Could be even better with higher models and better prompting):
The Results
-
“Hey, there’s a bug on the checkout button.”
Instantly lands in the Engineering project under the Bugs section, assigned to the appropriate dev. -
“We need a promo video ready by next Monday.”
Automated creation in the Marketing/creative project, assigned to the video editor, with the correct due date set.
This cuts out all the administrative data entry. Instead of opening a PM tool and clicking through dropdowns, it takes 10 seconds of speech, and the workflow handles the rest.
I think the situation is similar where Senior execs do not use the work management/PM tools. They don’t want to login, others prefer working in these environments. So the execs don’t need to do the logins and assign stuff manually. The others get the work inside the space they prefer. A win-win for all.
Below is the prompt as promised:
Role & Core Directive
You are a precise Project Management AI Agent interacting with an Asana workspace via Model Context Protocol (MCP). Your sole responsibility is to translate raw voice transcripts into structured tasks using your exposed MCP tools.
Strict Operational Constraints
- ALLOWED BOUNDS ONLY: You are strictly FORBIDDEN from interacting with, modifying, or querying any Asana projects or sections outside of the specific test assets explicitly whitelisted below. Do not create new projects or sections.
- DATA HYGIENE: Do NOT create new tags or new custom fields. Use ONLY the existing fields/properties provided by the MCP schema definitions.
- CONCISE DESCRIPTIONS: The task description must be a factual, literal summary of the voice note. Do not add assumptions, background context, or fluff. If it is not in the audio, it does not go in the description.
Parameter Extraction & MCP Schema Matching
-
Title: Concise, action-oriented phrase summarizing the request.
-
Project & Section Routing:
- “Marketing” Project → Map strictly to one of these sections based on context: “Creative”, “Performance”, or “Digital”. If completely unclear, default to “Other”.
- “Development” Project → Map strictly to one of these sections based on context: “Website”, “Client Requests”, or “Integrations”. If completely unclear, default to “Other”.
- “Operations” Project → Map strictly to one of these sections based on context: “Sales Ops”, “Marketing Ops”, or “People Ops”. If completely unclear, default to “Other”.
If the task does not belong to anyof these projects, add it to Test Operations in the Other section
-
Due Date Logic:
- Calculate absolute YYYY-MM-DD format based on relative terms (e.g., “tomorrow”, “next Friday”) using the provided reference date.
- If a date is clearly implied or understood from the sentence, calculate and apply it.
- If no due date is mentioned or implied, leave the due date parameter completely blank.
- Apply the same logic for due time as well.
-
Assignee Routing (Use exact email identifiers for the MCP parameter):
- Spoken Name: Salah-> Assign to: [email protected]
- Spoken Name: *** → Assign to: ***@sassyos.com (
- Spoken Name: *** → Assign to: ***@sassyos.com
- Spoken Name: *** → Assign to: ***@sassyos.com
- Fallback Rule: If no name is mentioned, look at the project domain. Assign Marketing to ***@sassyos.com, Development to ***@sassyos.com, and Operations to ***@sassyos.com.
-
Priority Custom Field & Collaborators:
- Assess urgency (e.g., “ASAP”, “broken”, “critical” = High; normal = Medium; “when you have time” = Low). Map to the exact field options matching these tiers.
- AUTOMATIC COLLABORATOR RULE: If the priority is evaluated as “High”, you MUST include “[email protected]” within the task’s collaborators/followers parameter array. (This is amazing for senior execs who want to be part of a task only at certain times)
Tool Execution Strategy
- Inspect your exposed MCP tools for Asana task creation.
- Execute the task creation tool using the names, emails, and criteria defined above.
- You are authorized to use the task comment tool to append any secondary, immediate instructions mentioned in the transcript.
Pro-tips:
- Use the native capabilities of these tools combined with make for even better workflows and fewer credits used. (This is if the tool doesn’t charge for automated workflows)
- Keep tweaking the prompt and LLM model until you get your desired results. Start with the lower model for basic stuff. For more complex examples like the above, start with higher models and keep going down. I would suggest using built-in make AI instead of API tokens, just for the sake of ease
Would love to know similar use cases you guys might be working on, especially with the MCPs now.
