Create a Composable Workflow
Add a Trigger
Drag one trigger onto the canvas: Call Completed, Signals Extracted, Signal Created, Manual Trigger, or Schedule.
Add Data and Logic
Add blocks that fetch context, filter results, ask an LLM, branch, or format output.
Add an Action
End with a side effect such as Send Webhook, Send to Slack, Add to Folder, or Add Tag.
Starting From a v2 Template
V2 templates seed the graph with working nodes and edges. Current templates include:- Send Transcript to Webhook
- Send Full Call Data to Webhook
- Conditional Summary to Webhook
- Ask LLM About Call
- Signal Report to Slack
- Organize Calls into Folder
- Folder by Title Match
- Apply Tag Conditionally
/workflows/v2/:id. Edit the graph, point actions at the right destination, test it, then enable it.
Building by Hand
1. Pick the Right Trigger
| Trigger | Use When |
|---|---|
| Call Completed | You need call metadata, transcript, summary, participants, or call-scoped signals. |
| Signals Extracted | You want one digest-style run for a batch of newly extracted signals. |
| Signal Created | You want one run per individual signal. |
| Manual Trigger | You want an on-demand workflow. |
| Schedule | You want hourly, daily, weekly, or custom cron-based automation. |
2. Connect Blocks
Drag from one block to another to create edges. The editor prevents invalid graph structure:- No second trigger.
- No duplicate edge.
- No self-loop.
- No cycle.
3. Configure Inputs
Config fields can be filled three ways:| Input Type | Example | Use It For |
|---|---|---|
| Literal | https://example.com/webhook | Hardcoded values like URLs, channel selections, limits, or labels. |
| Reference | trigger.callId | Passing one upstream field directly into a block. |
| Template | Call {{get_call.title}} ended with {{get_summary.summary}} | Combining text with multiple upstream fields. |
4. Use Specialized Inputs
Some blocks expose richer controls:- Signal filter uses the same filter builder as Signals.
- Resource picker loads connected resources, such as Slack channels.
- Item template scopes variables to an array item, such as
{{item.context}}inside Format List. - Schedule input stores cron plus timezone for local-time scheduled runs.
5. Test Safely
Click Test before enabling the workflow. Test runs are stored as normal run records with a test badge, and the drawer highlights per-node output and errors.Managing Workflows
From the Workflows list you can:- Open any v2 workflow under Composable Workflows.
- Duplicate a v2 workflow. Duplicates are created disabled.
- Open older workflows under Template Workflows.
- See the last updated time for v2 workflows and last run time for legacy workflows.
- Rename the workflow inline.
- Save graph and description changes.
- Toggle Enabled on or off.
- Open Run History.
- Delete the workflow.
- Use the chat panel to build, edit, explain, or debug the graph.
Migrating a Legacy Pattern
| Legacy Pattern | v2 Starting Point |
|---|---|
| Transcript to Webhook | Send Transcript to Webhook template |
| Send Call to Webhook | Send Full Call Data to Webhook template |
| Recording Summary to Webhook | Conditional Summary to Webhook or blank Call Completed graph |
| Answer Questions to Webhook | Ask LLM About Call template |
| Recording to Folder | Organize Calls into Folder template |
| Recording to Folder by Title | Folder by Title Match template |
| Recording to Tag | Apply Tag Conditionally template |
| Signal to Webhook | Blank graph with Signals Extracted or Signal Created trigger |