Quick Start
Build your first workflow in 10 minutes
In this guide, you'll build a working workflow that automatically sends a Slack message with an AI-generated meeting summary when a meeting ends. This takes about 10 minutes.
What You'll Build
Meeting Ends ā Load Meeting Data ā AI Summarizes ā Post to Slack
Prerequisites
Before starting, ensure you have:
- Access to Decision Site with Creator or Admin role
- Slack integration connected in your workspace (Setup Guide)
- A Slack channel to post to
Step 1: Create a New Workflow
- From the dashboard, click New Workflow
- Enter a name: "Meeting Summary to Slack"
- Click Create
You'll see an empty workflow canvas with a node palette on the left.
Step 2: Add the Event Trigger
The trigger determines when your workflow runs. We'll use a meeting-ended trigger.
- In the node palette, find Triggers section
- Drag Event Trigger onto the canvas
- Click the node to open its configuration panel
- Set Event Type to
MEETING_ENDED - Click Save (or changes auto-save)
Your workflow now has an entry point that fires whenever a meeting ends.
Step 3: Add the Load Meeting Node
We need to fetch meeting details (title, attendees, transcript) before we can summarize them.
- In the node palette, find Loaders section
- Drag Load Meeting onto the canvas
- Position it to the right of the trigger
- Connect the trigger's success output to the Load Meeting's input:
- Click and drag from the trigger's output port
- Release on the Load Meeting's input port
- Configure the node:
- Meeting ID:
trigger.meetingPlanId(CEL expression)
- Meeting ID:
The Load Meeting node now receives the meeting ID from the trigger and will fetch full meeting details.
Step 4: Add the AI Prompt Node
Now we'll use AI to generate a summary of the meeting.
- In the node palette, find AI section
- Drag AI Prompt onto the canvas
- Position it to the right of Load Meeting
- Connect Load Meeting's success output to AI Prompt's input
- Configure the node:
Model Tier: medium (good balance of quality and speed)
Messages:
Add a system message:
You are a helpful assistant that summarizes meeting transcripts concisely.
Add a user message (using Liquid template):
Please summarize this meeting:
Meeting: {{ json.meeting.title }}
Date: {{ json.meeting.startTime }}
Transcript Summary:
{{ json.callRecording.transcriptSummary }}
Provide a brief summary (2-3 sentences) and list any action items mentioned.
Return Type: string
Step 5: Add the Slack Post Node
Finally, we'll send the summary to Slack.
- In the node palette, find Actions section
- Drag Slack Post onto the canvas
- Position it to the right of AI Prompt
- Connect AI Prompt's success output to Slack Post's input
- Configure the node:
Channel: Enter your Slack channel ID or name (e.g., #sales-updates or C0123456789)
Message (Liquid template):
š *Meeting Summary*
*{{ json.meeting.title }}*
{{ json.value }}
_Posted automatically by Agents_
Step 6: Review Your Workflow
Your completed workflow should look like this:
[Event Trigger] ā [Load Meeting] ā [AI Prompt] ā [Slack Post]
MEETING_ENDED meeting data summary message
Checklist:
- All nodes are connected
- Trigger is set to MEETING_ENDED
- Load Meeting references trigger.meetingPlanId
- AI Prompt has system and user messages
- Slack Post has channel and message configured
Step 7: Test Your Workflow
Before going live, test with 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 recent meeting)
- Click Execute
Watch the execution:
- Each node shows status (waiting ā running ā completed)
- Green checkmarks indicate success
- Click any node to see its input/output data
Expected Result: A message appears in your Slack channel with the meeting summary.
Step 8: Release Your Workflow
Once testing succeeds, release your workflow:
- Click Release in the toolbar
- Confirm the release
- Your workflow is now active and will trigger automatically!
š Congratulations! Your workflow is now live. It will automatically run whenever a meeting ends.
Understanding the Data Flow
Let's trace how data moves through your workflow:
Trigger Output
{
"meetingPlanId": "mp_abc123",
"dealRoomId": "dr_xyz789",
"event": "MEETING_ENDED",
"firedAt": "2024-01-15T14:30:00Z"
}
After Load Meeting
{
"meeting": {
"id": "mp_abc123",
"title": "Q1 Planning Review",
"startTime": "2024-01-15T14:00:00Z",
"attendees": [...]
},
"callRecording": {
"transcriptSummary": "Team discussed Q1 goals...",
"keyStatements": [...]
}
}
After AI Prompt
{
"type": "string",
"value": "The team reviewed Q1 planning, focusing on revenue targets and product roadmap. Action items: 1) Sarah to finalize budget by Friday, 2) Mike to schedule follow-up with engineering."
}
Slack Post Result
{
"success": true,
"messageId": "1234567890.123456",
"channel": "C0123456789"
}
What's Next?
Now that you've built your first workflow, explore these next steps:
Enhance This Workflow
- Add error handling with an If node
- Send to different channels based on meeting type
- Include attendee names in the message
Learn More
- Node Reference - Explore all available nodes
- Data Flow Guide - Deep dive into expressions and templates
- Error Handling - Build resilient workflows
Build More Workflows
- Meeting Follow-up Tutorial - Complete follow-up automation
- Deal Room Automation - CRM integration patterns
Troubleshooting
Workflow doesn't trigger
- Verify the workflow is Active (not Draft)
- Check that meetings are being recorded in Decision Site
- Review execution history for any failures
Slack message not appearing
- Verify Slack integration is connected
- Check the channel name/ID is correct
- Ensure bot is invited to private channels
AI output is unexpected
- Review the prompt for clarity
- Check that meeting data is loading correctly
- Try adjusting the model tier
General issues
- Check the Troubleshooting Guide
- View execution logs for detailed error messages
- Contact support with execution IDs
You've completed the Quick Start! You now have a working automation and understand the basics of building workflows.
ā Explore Node Reference to learn about all available nodes