Automation triggers, conditions, and actions explained
This article digs into every trigger, condition operator, and action available in the DispoStack automation engine.
Triggers
A trigger is what causes an automation to fire.
| Trigger | When it fires |
|---|---|
| Lead created | A new seller lead is saved — manually or through the website intake form |
| Lead status changed | A lead's pipeline status is updated (e.g. New → Qualified) |
| Deal status changed | A deal room's status changes (e.g. Evaluating → Under Contract) |
| Transaction stage changed | A transaction moves to a new stage, including when the transaction is first created |
Conditions
Conditions are optional. If you leave the field blank, the automation fires every time the trigger occurs.
Fields you can match on
Lead created / Lead status changed:
source— Where the lead came from (website, cold-call, referral, etc.)situation— Seller situation (inherited, foreclosure, divorce, etc.)status/new_status/old_status— Lead pipeline status values
Deal status changed:
new_status/old_status— Deal status values
Transaction stage changed:
new_stage/old_stage— Transaction stage keys (contract_signed, funded, closed, etc.)
Operators
| Operator | Meaning |
|---|---|
| equals | The field value exactly matches |
| does not equal | The field value is anything other than the value |
| is one of | The field value matches any entry in a comma-separated list |
Actions
Create task
Creates a task linked to the triggering lead or property.
| Config field | Description |
|---|---|
| Title | Short task description — supports merge fields (see below) |
| Priority | Low, Normal, High, or Urgent |
| Due in days | Number of days from now when the task is due |
| Assign to | Pre-assign the task to a team member |
Update lead status
Changes the lead's pipeline status. Only works for lead triggers. If the lead already has the target status, the run is recorded as "skipped" (no loops).
Add activity
Appends a system note to a deal room's activity feed. Only works when the entity has a linked property (deal or transaction triggers, or leads that have been converted to deal rooms). Supports merge fields.
Send webhook
POSTs a JSON payload to an HTTPS URL you specify. The payload looks like:
{
"trigger": "lead_created",
"account_id": "your-account-uuid",
"entity": { "id": "...", "name": "Jane Smith", "source": "website", ... }
}DispoStack waits up to 5 seconds for a response. Any non-2xx response is recorded as an error. The URL must start with https://.
Merge fields
Merge fields let you insert live data into task titles and activity bodies. Use double-curly-brace syntax:
| Merge field | What it inserts |
|---|---|
{{name}} | Lead's full name |
{{address}} | Lead's property address |
{{source}} | Lead source |
{{situation}} | Lead situation |
{{new_status}} | The status the lead just changed to |
{{old_status}} | The status before the change |
{{new_stage}} | The transaction stage just entered |
{{old_stage}} | The previous transaction stage |
Click the merge field chips in the builder to insert them into the text field at the cursor position.
No-loop guarantee
The Update lead status action writes directly to the database — it does not call the same server action that originally fired the trigger. This means it cannot trigger another automation run on the same lead in the same chain, preventing infinite loops.
Error isolation
Automation failures never affect the action that triggered them. If an automation errors out (e.g. a webhook times out), the original lead save, status update, or stage move still completes normally. You can review all errors in the Run history on the automation detail page.