Prerequisites
- An agent, from Agent builder, if the trigger will place a call
- A connected Salesforce or HubSpot account, if the trigger starts from a CRM event
- A connected Slack workspace, if the trigger posts a Slack message
Where triggers live
Triggers is under Dispatch, in both sidebars. At All agents it lists every trigger in the organization; inside an agent it lists that agent’s. Nothing here is gated by plan, role or permission.The list
A grid of cards rather than a table. Each card carries the trigger’s name, its event, its action and its status. Clicking a card opens that trigger’s run history, not its settings. To change it, use the Trigger actions menu in the card’s corner and pick Edit. The same menu pauses and activates it without opening anything, and Edit trigger in the top bar of Runs gets you there too. Search runs on the server and covers everything you have. Sort does not. It orders the page you are looking at, so past 50 triggers Most runs and Name A-Z are sorting a slice.Build one
New trigger opens a two-pane screen. The canvas on the left, the panel on the right.Pick the event
Narrow it with conditions
Choose the action
Point the action at the event
{{field.path}} reference into the text. Custom code gets the whole payload as input.Save it
Agent attribution
A Call action needs an agent. The field is marked required and Save will not go through without it. No other action has an agent field. A Webhook needs a URL, an SMS needs a number and a message, and neither asks who is responsible for it. Only a Call trigger is ever filed under an agent. A webhook, SMS, Slack or custom code trigger lives at All agents and nowhere else, even when you build it from inside an agent. Inside an agent, the picker is a locked card rather than a list: the trigger runs on the agent you are editing. If it currently points somewhere else, or nowhere, a warning appears with a Use this agent button that repoints it. Requiring an agent is a dashboard rule. The API is looser, so a trigger built elsewhere may not follow it.Test it
Test hands the whole right panel over to the test flow. The steps stay along the top and are how you get back out. A test runs the configuration on your screen, including edits you have not saved. So it is a real answer about what you are looking at, and not necessarily about what is live. For a CRM trigger you can paste a real record ID and Bland fetches it, or switch to Manual and type the fields yourself. Fire Test Trigger stays disabled until the record comes back, so an ID that does not resolve reads as a dead button. A Bland event has no record to fetch. It gives you an editable payload instead, and Fire Test Trigger waits until that payload is valid JSON. If your conditions use a change operator, the panel adds Simulate field changes, on by default, with a previous value for each field. Without it there is no change for the condition to see.Turn it on
The status control at the top switches between Active and Paused.Watch it run
Runs in the top bar opens the history for that trigger: when it fired, what happened, and why it stopped if it did. Failures are not the same on every action. A failed webhook is recorded and never retried. A failed call is retried when the failure looks temporary, up to five attempts in all. The calls themselves land in Conversations like any others.Common failures
Save does nothing
Save does nothing
Test is greyed out
Test is greyed out
The test passed and nothing happened
The test passed and nothing happened
The card does not show the conditions you set
The card does not show the conditions you set
The trigger is not in the agent's list
The trigger is not in the agent's list
Changing the event emptied everything
Changing the event emptied everything
A trigger runs twice for one thing
A trigger runs twice for one thing
A saved trigger fails with only 'Please try again'
A saved trigger fails with only 'Please try again'