Skip to main content

Scenario

Your product/marketing team runs sprint retrospectives in Asana — each retro is a task or project with discussion items captured as subtasks and comments. Over time, retros reveal messaging gold: what customers love, where positioning falls flat, which features generate excitement. This job aggregates retro content and feeds it to Mave for messaging pattern extraction. Flow: Asana GET /tasks (retro tasks) → GET /tasks/{id}/subtasks + GET /tasks/{id}/stories → Aggregate → Mavera POST /api/v1/mave/chat → Messaging insights

Code

Example Output

Error Handling

Some retros may be placeholder tasks with no notes or subtasks. The code processes them but generates thin analysis. Filter by notes length or subtask count for higher-quality input.
Asana stories include system events (assignment, status changes) and comments. The code filters to type: "comment" only. System stories add noise to the corpus.
The stories endpoint counts against the global rate limit. With 12 retros × 2 calls each (subtasks + stories) = 24 calls. The 500ms delay keeps this well within limits.
Old retros may reference obsolete features or resolved issues. Consider limiting to the last 3-6 months of retros for relevant messaging insights.