Hourly meeting recordings to Notion briefs and Slack recaps

By General Input

Every hour, transcribe new meeting recordings from a Google Drive folder, write a structured brief to Notion, and post a recap in Slack.

Integrations

  • OpenAI
  • Google Drive
  • Notion
  • Slack Bot

Type

Agentic Task

Categories

  • Operations
  • Product

Build me an agent workflow that turns new meeting recordings in Google Drive into structured briefs in Notion and short recaps in Slack. It should run on a cron trigger every hour.

On each run, use Google Drive's List Files to look inside a folder named Meeting Recordings (I'll pick it during setup). Filter to files whose mimeType starts with audio/ or video/ and whose createdTime is within the last hour. For each new file, use Google Drive's Download File Content to pull the raw bytes.

Send the audio to OpenAI's Create Audio Transcription with the Whisper model to get the full transcript. Then call OpenAI's Create Response with a JSON schema (text.format) that extracts: an executive summary (2 to 4 sentences), key decisions with the owner of each decision, action items with an assignee and a due date when one is stated, open questions still to resolve, and follow-up items or next steps. Prefer a fast general-purpose GPT model for the extraction step.

For each processed recording, use Notion's Create a Page to add a new entry to my Meetings database. The page should include the meeting title (derive from the file name if none is obvious), the meeting date (use the recording's createdTime), the executive summary, action items rendered as to_do blocks (Notion checkboxes) with the assignee and due date inline, decisions and open questions as bulleted lists, and the full transcript inside a toggle block so the page stays readable.

Finally, use Slack Bot's Send a Message to post a short recap in a team channel I'll pick during setup. The message should include the meeting title, a one-line summary, up to five action items with owners, and a link to the Notion page.

Two important guardrails. First, skip any file smaller than about 1 MB so accidental one-second uploads or empty files never trigger a run. Second, de-duplicate by remembering which Drive file IDs have already been processed (store the IDs in workflow memory) so that if the same file shows up on a later hourly run, or if a run reprocesses, we do not create duplicate Notion pages or duplicate Slack recaps.

If a step fails on a single file (Whisper errors, Notion permission issue, etc.), log it and continue with the remaining files rather than aborting the whole run.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them