Your First Workflow
Build your first workflow in 10 minutes
In this tutorial, you'll create a simple workflow that sends a notification when a meeting ends. This introduces the core concepts of triggers, nodes, and connections.
Time: 10 minutes Difficulty: Beginner Prerequisites: Slack integration connected
What You'll Build
A workflow that:
- Triggers when a meeting ends
- Loads meeting information
- Sends a Slack notification
[Meeting Ended] → [Load Meeting] → [Slack: Meeting Complete]
Step 1: Create a New Workflow
- Navigate to the Workflows section
- Click "Create Workflow"
- Enter a name: "My First Workflow"
- Click "Create"
Step 2: Add the Trigger
Every workflow starts with a trigger that determines when it runs.
- The workflow editor opens with a blank canvas
- Click "Add Trigger" or drag from the node palette
- Select "Event Trigger"
- Configure the trigger:
- Event Type: MEETING_ENDED
The trigger node appears on your canvas, ready to fire when any meeting ends.
Step 3: Add the Load Meeting Node
The Load Meeting node fetches detailed information about the meeting.
- Click the "+" button on the trigger's output
- Select "Load Meeting" from the node palette
- The node is automatically connected to the trigger
Understanding the Connection
The arrow from the trigger to Load Meeting means:
- When a meeting ends, the trigger fires
- Meeting ID is passed to Load Meeting
- Load Meeting fetches full meeting details
Step 4: Add the Slack Notification
Now add an action to notify you about the meeting.
- Click the "+" button on Load Meeting's success output
- Select "Slack Post"
- Configure the Slack node:
Channel: Select your test channel
Message:
Meeting Complete! 📅
*{{ json.meeting.title }}*
Ended at {{ json.meeting.endTime | date: "%I:%M %p" }}
Step 5: Connect the Nodes
If not already connected, ensure all nodes are linked:
Event Trigger → Load Meeting → Slack Post
- Drag from the output port (right side) of one node
- Drop on the input port (left side) of the next node
Step 6: Release the Workflow
Before your workflow can run, you need to release it.
- Click "Release" in the toolbar
- Confirm the release
- Your workflow is now active!
Step 7: Test Your Workflow
Test the workflow without waiting for a real meeting:
- 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"
Check the Results
- Watch the execution in real-time
- Each node shows its status (pending → running → completed)
- Check your Slack channel for the notification
Understanding What Happened
Let's trace through the execution:
1. Trigger Fired
{
"eventType": "MEETING_ENDED",
"meetingId": "mtg-12345"
}
2. Load Meeting Fetched Data
{
"meeting": {
"title": "Weekly Team Sync",
"startTime": "2024-01-15T10:00:00Z",
"endTime": "2024-01-15T10:30:00Z",
"attendees": [...]
}
}
3. Slack Received Message
Meeting Complete! 📅
*Weekly Team Sync*
Ended at 10:30 AM
Common Issues
Issue: Slack message not appearing
Check:
- Is the Slack integration connected?
- Do you have access to the selected channel?
- Is the bot added to the channel?
Issue: Workflow doesn't trigger
Check:
- Is the workflow released and active?
- Is the event type correct?
- Are there any validation errors?
Issue: Error on Load Meeting
Check:
- Does the meeting exist?
- Do you have permission to access it?
Congratulations! 🎉
You've built your first workflow! You now understand:
- ✅ How to create a workflow
- ✅ How triggers start workflows
- ✅ How nodes process data
- ✅ How to connect nodes together
- ✅ How to release and test
Next Steps
Enhance This Workflow
Try these modifications:
- Add meeting summary - Include more meeting details
- Add conditional logic - Only notify for certain meetings
- Add AI summarization - Let AI summarize the meeting
Continue Learning
Ready for more? Try the Meeting Follow-Up Tutorial to add AI capabilities to your workflow.
Complete Workflow Summary
Trigger: MEETING_ENDED event Nodes: Event Trigger → Load Meeting → Slack Post Output: Slack notification with meeting title and end time
Configuration Reference
Event Trigger:
eventType: MEETING_ENDED
Load Meeting:
# No additional configuration needed
# Uses meeting ID from trigger
Slack Post:
channel: "#your-channel"
message: |
Meeting Complete! 📅
*{{ json.meeting.title }}*
Ended at {{ json.meeting.endTime | date: "%I:%M %p" }}