Triggers
Nodes that start workflow execution
Trigger nodes are special nodes that start workflow execution. Every workflow has exactly one trigger node, and it determines when and how your workflow runs.
Available Triggers
| Node | Description | Use Case |
|---|---|---|
| Event Trigger | Fires when system events occur | React to meetings, manual runs |
| Scheduled Trigger | Fires on cron schedules | Daily summaries, periodic tasks |
How Triggers Work
text
External Event Workflow
│ │
▼ ▼
┌─────────┐ ┌─────────────┐ ┌──────────┐
│ Event │─────▶│ Trigger │─────▶│ Next Node│
│ System │ │ Node │ │ ... │
└─────────┘ └─────────────┘ └──────────┘
│
▼
trigger object
{
meetingPlanId,
dealRoomId,
event,
firedAt
}
- An external event occurs (meeting ends, schedule fires, user clicks Trigger)
- The event system matches the event to subscribed workflows
- The trigger node activates and outputs event data
- Downstream nodes process the data
Trigger Output
All triggers output a trigger object containing:
json
{
"meetingPlanId": "mp_abc123",
"dealRoomId": "dr_xyz789",
"organizationId": "org_456",
"event": "MEETING_ENDED",
"firedAt": "2024-01-15T14:30:00Z"
}
| Field | Type | Description |
|---|---|---|
meetingPlanId | string | ID of the associated meeting (if applicable) |
dealRoomId | string | ID of the associated deal room (if applicable) |
organizationId | string | Your organization ID |
event | string | The event type that triggered execution |
firedAt | ISO timestamp | When the trigger fired |
Choosing a Trigger
Use Event Trigger when:
- You want to react to something happening (meeting ends, deal updates)
- You need manual testing capability
- The timing depends on external events
Use Scheduled Trigger when:
- You want workflows to run at specific times
- You're building daily/weekly summaries
- You need predictable, recurring execution
Trigger Configuration
Uniqueness
Each workflow has exactly one trigger. You cannot have multiple triggers in a single workflow.
Deduplication
The system prevents duplicate executions for the same event:
- Same event + same workflow version = single execution
- This prevents issues from event replay or system retries
Event Filtering
Triggers only fire for events matching their configuration:
- Event Trigger: Only fires for the selected event type
- Scheduled Trigger: Only fires when cron schedule matches
Comparison
| Feature | Event Trigger | Scheduled Trigger |
|---|---|---|
| Fires when | System event occurs | Cron schedule matches |
| Timing | Reactive (event-driven) | Proactive (time-driven) |
| Meeting context | Usually has meeting data | May not have specific meeting |
| Manual testing | Set event to MANUAL | Cannot test directly |
| Timezone | Event time | Configurable timezone |
Best Practices
1. Choose the Right Trigger Type
- Event-driven logic → Event Trigger
- Time-based tasks → Scheduled Trigger
2. Consider Testing Strategy
- Event Trigger with MANUAL mode makes testing easier
- Scheduled Triggers require waiting or schedule modification to test
3. Handle Missing Context
- Scheduled workflows may not have meeting context
- Use conditionals to handle cases where expected data is missing
4. Document Trigger Purpose
- Name workflows clearly to indicate their trigger
- Example: "Post-Meeting Summary (MEETING_ENDED)"
Common Patterns
Pattern: Meeting-Triggered Workflow
text
[Event Trigger: MEETING_ENDED] → [Load Meeting] → [Process] → [Action]
Pattern: Pre-Meeting Preparation
text
[Event Trigger: MEETING_START_MINUS_1H] → [Load Meeting] → [Generate Briefing] → [Send to Slack]
Pattern: Daily Summary
text
[Scheduled Trigger: 0 0 9 * * *] → [Query Data] → [Generate Summary] → [Email Report]
Pattern: Testing with Manual Trigger
text
[Event Trigger: MANUAL] → [Load Meeting] → [Debug Output]
Next Steps
- Event Trigger - Complete event trigger documentation
- Scheduled Trigger - Complete scheduled trigger documentation