Free n8n template

Meeting summaries and action items n8n template

What it does

An importable n8n workflow that receives Zoom's transcript-ready webhook, downloads the transcript, and has Claude return a summary, decisions, open questions and action items, each with a quoted line and timestamp. Items whose quote is not in the transcript are dropped. A reviewer approves the draft in Slack before any Asana task is created. You need n8n, a Zoom app, an Anthropic API key, Slack and Asana.

What this workflow does

  1. Zoom webhook receives Zoom event notifications.
  2. URL validation? (If) catches Zoom’s one-time endpoint check. Sign plainToken (Crypto) computes the HMAC with your secret token and Return validation sends it back, so Zoom accepts the URL.
  3. Acknowledge event replies to Zoom right away so it does not retry, then the work continues.
  4. Download transcript (HTTP Request) fetches the VTT transcript using the download token in the event.
  5. Clean transcript (Code) converts VTT into timestamped lines and stops empty or oversized transcripts on the exceptions path.
  6. Extract with Claude (HTTP Request) calls the Anthropic Messages API with a strict JSON schema: summary, decisions, open questions and action items with owner, due date, exact quote and timestamp.
  7. Parse and check evidence (Code) handles refusals and truncated output, then removes any action item whose quote does not appear in the transcript.
  8. Draft OK? (If) sends good drafts to Organizer review in Slack, which waits up to two days for Approve or Discard.
  9. Fan out approved tasks (Code) maps owners to Asana users and stops if the draft was declined or ignored.
  10. Create Asana task creates one task per action item with the quote and summary in the notes.
  11. Post exception to Slack collects download failures, API errors, bad output and Asana errors.

Before you import

  • A Zoom app (general app or webhook-only) with event subscriptions, plus cloud recording and audio transcripts turned on for the accounts in scope. Availability depends on your Zoom plan and admin settings.
  • An Anthropic API key. The template uses claude-opus-5-5; claude-haiku-5-5 is cheaper for high-volume, simple classification.
  • A Slack bot in the review and exceptions channels, and an Asana personal access token.
  • A plan for consent. Several US states require all parties to agree to recording. Announce it in invites and let people opt out.

Setup

  1. Import the JSON. Connect Anthropic, Slack and Asana credentials.
  2. Create a Crypto credential and paste your Zoom app’s Secret Token as the HMAC secret. Select it on Sign plainToken.
  3. Activate the workflow, copy the production URL of Zoom webhook, and set it as the Zoom event notification endpoint. Subscribe to “Recording transcript files completed” and include the download token.
  4. Replace REPLACE_WITH_SLACK_REVIEW_CHANNEL_ID and REPLACE_WITH_SLACK_EXCEPTIONS_CHANNEL_ID.
  5. On Create Asana task, replace REPLACE_WITH_ASANA_WORKSPACE_ID and REPLACE_WITH_ASANA_PROJECT_ID.
  6. In Fan out approved tasks, fill the map of attendee emails or full names to Asana user IDs.

Test it

Record a five-minute Zoom call where two people commit to specific tasks by a named day, and one person says “we should” without committing. When the transcript is ready, the Slack review message should list two action items with quotes and due dates, and no item for the vague suggestion. Click Approve and check Asana. Then run once with a muted recording to confirm the exceptions channel receives the “too short” message.

Make it production-ready

  • Verify Zoom’s x-zm-signature header on every event, not just the URL check, before trusting a payload.
  • Set an n8n error workflow so failures outside the handled paths still alert someone.
  • Before creating a task, search Asana for an open task from the same meeting series with a similar title, so recurring meetings do not create duplicates.
  • Keep HR, legal and sensitive one-on-ones out of scope, and delete raw transcripts on a fixed schedule.
  • Track how often reviewers edit or discard drafts. Rising edits usually mean poor speaker labels from shared room microphones.
  • The Claude call tries up to three times, five seconds apart. Long transcripts take longer, so keep the timeout generous.

Read the full guide on automating meeting summaries and action items for consent, templates per meeting type and deduplication, or talk to Lumeor about Teams or Google Meet transcripts.

Next steps