Short answer / recommendation
Use a Zapier workflow that’s triggered by a Slack cue (recommend: a reaction emoji like :summarize: on the thread or a scheduled Zap at standup end), fetch the full thread via Slack API (conversations.replies), call ChatGPT with a tight prompt that returns "Summary / Key decisions / Action items (owner, due)" and then create a Notion page in your standup notes database. This minimizes noise, keeps cost predictable, and gives consistent structured notes.
Why this approach
- Reaction-based triggers give you human control (only summarize threads you mark). Good when you have many threads and want high precision.
- Scheduled runs (e.g., 10 minutes after standup) work if your team always posts standups in one channel and you want an automatic sweep.
- Fetching the whole thread via Slack API avoids missing context and lets the model extract decisions and owners.
Practical Zap (step-by-step)
1) Trigger
- Option A (recommended): Slack "Reaction Added" for emoji :summarize: on a thread.
- Option B: Schedule by Zapier after standup ends and then search messages in channel with a time window.
2) Lookup thread content
- Use Webhooks by Zapier to call Slack API conversations.replies (pass channel and thread_ts) to get full messages. Map message text + author + timestamp into a single string (use simple separators).
3) Call ChatGPT
- Use Zapier’s ChatGPT/OpenAI action. System prompt (short): “You are a concise technical meeting scribe. From the messages, produce: 1) One-line summary, 2) Key decisions (bullet list), 3) Action items with owner and suggested due date, 4) Open questions.”
- User prompt: include channel, thread link, participant list, and the concatenated messages. Ask for output as JSON-like fields to make parsing easier.
4) Create Notion page
- Map the ChatGPT fields to Notion properties (Date, Summary, Decisions, Action Items). Optionally tag owners as people if you keep matching emails.
5) Post back to Slack (optional)
- Post the concise summary in-thread or to a #standup-notes channel and mention owners.
Prompt template (short)
System: "You are a concise meeting notes assistant. Output strictly as JSON with keys: one_line_summary, decisions, action_items, open_questions."
User: "Channel: #standups; Participants: Alice, Bob. Messages: [....]. Produce results in JSON."
Decision criteria
- Choose reaction trigger if you want human curation and low noise. Choose scheduled if you require zero-touch automation.
- Choose GPT-4 for highest quality (complex threads) but budget for higher cost. For 10–20 threads/day, gpt-3.5-turbo may be acceptable and cheaper.
- Use webhooks if you need thread-level fetching; use built-in Slack steps if you prefer lower technical work.
Best-for / Avoid-if
- Best for: 30-person SaaS team with frequent standups, want consistent action-item capture, and willing to adopt a small marking habit (emoji).
- Avoid if: you cannot add a marking convention or if threads include large attachments/long transcripts that exceed token limits—then you’ll need chunking logic.
Checklist before you activate
- Decide trigger (reaction vs schedule).
- Create Slack emoji & train team.
- Build and test webhook to Slack conversations.replies.
- Draft and test ChatGPT prompt; enforce JSON output.
- Create Notion database schema and map fields.
- Test 10–20 threads and review for quality; tweak model/ prompt and add retry/backoff for rate limits.
When tradeoffs matter
Budget (API cost) vs. output quality: pick gpt-3.5 for cost, gpt-4 for nuance. Skill level: webhooks require moderate technical comfort. For immediate low-code, use Zapier’s built-in Slack/OpenAI actions but validate thread-fetching works.
If you want, I can give a ready-to-paste Zapier webhook payload + a copyable prompt JSON used in the ChatGPT step.
Compare Zapier and Make