Runtime Model
| Part | What It Does |
|---|---|
| Workflow definition | A JSON graph of nodes and edges saved on the workflow row. |
| Field value | A config input stored as a literal, an upstream reference, or a template string. |
| Run | A persisted execution record with trigger payload, definition snapshot, status, per-node output, and errors. |
| Block registry | The server-side catalog of valid triggers, data blocks, logic blocks, and actions. |
Trigger Types
Call Completed
Call Completed
Starts after a call has finished processing. Use this when downstream blocks need call metadata, transcript, summary, participants, or call-scoped signals.
Signals Extracted
Signals Extracted
Starts once per extraction batch and exposes an array of signal IDs. Use this for digest-style workflows that summarize multiple signals together.
Signal Created
Signal Created
Starts once per individual signal. If one call creates 20 signals, the workflow runs 20 times.
Manual Trigger
Manual Trigger
Starts when a user manually runs or tests the workflow. Useful for one-off workflows and editor tests.
Schedule
Schedule
Starts from a cron schedule in the selected IANA timezone, such as
America/Los_Angeles. The dispatcher stores the next fire time in UTC and handles daylight-saving changes through the timezone-aware cron parser.Each workflow can have one trigger block. Remove the existing trigger before adding a different one.
Data and Search Blocks
Data blocks pull context into the graph:- Get Call: call title, duration, start time, asset URL.
- Get Transcript: speaker-labeled transcript, speaker count, attendee emails.
- Get Call Summary: active AI-generated summary.
- Get Signal: signal context, type, quote, related call.
- Get Participants: formatted attendee data.
- Get Call Signals: call-scoped signals with optional signal filter.
- Search Calls and Search Signals: recent or filtered result sets for digests and scheduled jobs.
- HTTP Request: fetch data from an external API.
- Exa Search and Firecrawl Scrape: web research and page scraping blocks where enabled.
Logic Blocks
Logic blocks shape the graph before actions run:- Condition uses an LLM to return true or false and route the matching branch.
- Has Content skips empty inputs.
- String Match checks text against a pattern.
- Ask LLM generates an answer from prompt context.
- Format Output converts values into JSON, text, or markdown.
- Format List turns arrays into readable text, with item-level templates such as
{{item.context}}.
Action Blocks
Action blocks produce side effects:| Action | Use It For |
|---|---|
| Send Webhook | POST a JSON payload to an HTTPS endpoint. |
| Send to Slack | Post a message into a connected Slack channel. |
| Add to Folder | Add a call to a BuildBetter folder. |
| Add Tag | Apply a tag to a call. |
Run History
The editor’s Run History drawer shows recent runs for a workflow. Each run includes:- Status: pending, running, completed, or failed.
- Whether the run was a test.
- Trigger event payload.
- Definition snapshot from the graph that actually ran.
- Per-node status, resolved config, output, timing, and error.
Legacy Template Workflows
Legacy template workflows still exist in the same Workflows area. They are useful for older automations such as:- Recording to Folder by Title
- Recording to Folder
- Recording to Tag
- Recording Summary to Webhook
- Send Call to Webhook
- Transcript to Webhook
- Answer Questions to Webhook
- Signal to Webhook
- Send Signal to Webhook