Meeting Follow-Up Workflow
Build an automated meeting follow-up with AI summarization
In this tutorial, you'll build a workflow that automatically generates an AI summary of meetings and posts it to Slack. This is one of the most common and valuable automation patterns.
Time: 20 minutes Difficulty: Beginner Prerequisites:
- Completed First Workflow tutorial
- Slack integration connected
What You'll Build
A workflow that:
- Triggers when a meeting with a recording ends
- Loads meeting details including transcript
- Uses AI to generate a summary
- Posts the summary to Slack
[Meeting Ended] ā [Load Meeting] ā [AI: Summarize] ā [Slack Post]
Step 1: Create the Workflow
- Navigate to Workflows
- Click "Create Workflow"
- Name it: "Meeting Follow-Up"
- Click "Create"
Step 2: Add the Event Trigger
Configure the trigger for recorded meetings:
- Add an Event Trigger node
- Set Event Type to:
MEETING_ENDED
Step 3: Add Load Meeting
- Connect a Load Meeting node after the trigger
- No additional configuration needed - it uses the meeting ID from the trigger
Step 4: Add Conditional Check (Optional)
Only process meetings that have recordings:
- Add an If node after Load Meeting
- Configure the condition:
json.callRecording != null
- Connect the true path to continue
- Connect the false path to a Sink node (ends that branch)
This prevents errors when meetings don't have transcripts.
Step 5: Add AI Summarization
Now add the AI node to generate summaries:
- Add an AI Prompt node
- Configure it:
Model: Medium
Return Type: String
System Message:
You are a professional meeting summarizer. Create concise, actionable summaries that help team members who weren't in the meeting understand what happened.
Guidelines:
- Be concise (3-5 bullet points max)
- Focus on decisions and action items
- Use professional language
- Don't include small talk or off-topic discussion
User Message:
Summarize this meeting:
Meeting: {{ json.meeting.title }}
Date: {{ json.meeting.startTime | date: "%B %d, %Y" }}
Attendees: {{ json.meeting.attendees | map: "name" | join: ", " }}
Transcript Summary:
{{ json.callRecording.transcriptSummary }}
Step 6: Add Slack Notification
Post the AI-generated summary to Slack:
- Add a Slack Post node after the AI node
- Configure it:
Channel: Select your channel
Message:
š *Meeting Summary: {{ json.meeting.title }}*
{{ json.value }}
_Generated automatically by Agents_
Understanding the Output
Notice {{ json.value }} in the Slack message. This references the AI node's output:
- After AI Prompt executes, its output is available as
json.value - The string output (the summary) is directly inserted into the Slack message
Step 7: Add Error Handling
Handle potential AI failures gracefully:
- Connect the AI node's error output
- Add another Slack Post node for errors
- Configure the error notification:
Message:
ā ļø *Meeting Summary Failed*
Meeting: {{ json.meeting.title }}
Error: Unable to generate summary. Please review the meeting manually.
Step 8: Final Workflow Structure
Your complete workflow should look like:
[Event Trigger: MEETING_ENDED]
ā
ā¼
[Load Meeting]
ā
ā¼
[If: Has Recording?]
ā
āāāāā“āāāā
ā¼ ā¼
[Yes] [No ā Sink]
ā
ā¼
[AI Prompt: Summarize]
ā
āāāāā“āāāā
ā¼ ā¼
[Slack] [Error Slack]
Step 9: Test Your Workflow
Test the workflow using the trigger execution feature:
- Click the "Trigger" button in the toolbar
- In the trigger execution modal, fill in the form with your test data (select a recorded meeting)
- Click "Execute"
- Check your Slack channel for the summary
Once testing succeeds, click "Release" to make the workflow active
Example Output
Here's what a typical summary looks like:
š Meeting Summary: Q4 Planning Review
⢠Decision: Moving forward with the enterprise tier launch in November
⢠Action Item: Sarah to finalize pricing by Friday
⢠Action Item: Mike to update the roadmap document
⢠Key Discussion: Budget allocation approved for additional headcount
⢠Next Steps: Follow-up meeting scheduled for next Tuesday
Generated automatically by Agents
Customizing the Summary
Different Summary Styles
Executive Summary:
Create a brief executive summary suitable for leadership.
Focus on decisions, financial impact, and strategic direction.
Maximum 3 sentences.
Technical Summary:
Summarize the technical discussions from this meeting.
Include any architecture decisions, technical debt discussed, and implementation details.
Sales Summary:
Summarize this sales meeting focusing on:
- Customer needs and pain points
- Objections raised
- Next steps in the sales process
- Deal probability assessment
Adding Action Items
Extract action items separately:
- Add another AI Prompt node
- Configure for action items:
Return Type: String List
User Message:
Extract all action items from this meeting.
Each item should be a complete, actionable task.
If an owner or deadline was mentioned, include it.
{{ json.callRecording.transcriptSummary }}
Then format in Slack:
š *Meeting Summary: {{ json.meeting.title }}*
{{ steps.summary.value }}
*Action Items:*
{% for item in steps.actionItems.value %}
⢠{{ item }}
{% endfor %}
Advanced: Adding Urgency Detection
Add AI-based urgency detection to prioritize notifications:
- Add an AI Prompt node after Load Meeting
- Configure for boolean output:
Return Type: Boolean
User Message:
Determine if this meeting requires urgent follow-up.
Return true if ANY of these apply:
- Customer expressed concerns or frustration
- Deadline mentioned within 48 hours
- Competitive threat discussed
- Deal at risk
Meeting summary:
{{ json.callRecording.transcriptSummary }}
- Add an If node to check the result:
json.value == true
- Route urgent meetings to a different channel or add a priority indicator
Troubleshooting
Issue: AI returns "No transcript available"
Cause: Meeting doesn't have a recording or transcript
Solution: Ensure the If node checks for json.callRecording != null
Issue: Summary is too long
Solution: Add length constraints to the system message:
Maximum 5 bullet points. Each point should be one sentence.
Issue: Summary misses key points
Solution: Be more specific in the prompt:
Focus specifically on: decisions made, action items assigned, and deadlines mentioned.
Congratulations! š
You've built an AI-powered meeting follow-up workflow! You now understand:
- ā How to use AI nodes for text generation
- ā How to pass data between nodes
- ā How to add conditional logic
- ā How to handle errors gracefully
- ā How to customize AI prompts
Next Steps
- Try the Deal Room Automation tutorial for more complex logic
- Explore AI Content Generation for advanced AI patterns
- Read Prompt Engineering to improve your AI outputs