Workflow trigger reference
Every workflow starts with one trigger — the event that enrolls a contact and kicks off their run. This page lists the events you can pick, what fires each one, and how to pin a trigger to one specific form, stage, product, tag, or channel.
How triggers work
You pick the trigger at the top of the workflow canvas. When that event happens, every workflow that is toggled on and listening for it enrolls the contact automatically. A workflow that's switched off never fires. One workflow, one trigger — to run the same steps on two different events, build a second workflow with those steps and the other trigger.
A contact can only have one active run per workflow. If the same event fires twice — two form submits in a row, a webhook retry — the second fire is ignored while the first run is live, so nobody gets double-messaged. Once a run ends, a later event can enroll the contact again. That's how a stalled-deal rescue can fire a second time if the deal moves and then stalls again.
Pin a trigger to one instance
Some triggers accept a filter so the workflow only fires for one specific instance of the event:
- Form submitted — one form (picked from a dropdown)
- Pipeline stage changed and Deal stalled — one stage
- Product purchased — one product
- Tag added — one tag
- Inbound message — one channel:
sms,email, orcall
Leave the filter blank and the workflow fires on every instance — every form, every stage, every product. That's how you split traffic: one workflow pinned to your "Free consult" form, another pinned to "Contact us." Note that blank really does mean every instance — a blank-filter workflow fires alongside any pinned ones, not just for the leftovers. If you change a workflow's trigger to a different event, a filter that no longer fits is cleared automatically.
The trigger list
Getting into your CRM
| Trigger | Fires when | Filter |
|---|---|---|
| Manual only | Never fires on its own. You enroll contacts by hand, or another workflow enrolls them with its "Add to workflow" step. Good for long-term nurture sequences other workflows feed into. | — |
| New lead | A brand-new lead lands in your CRM through your lead capture — your website's lead form, or a lead your AI rep takes down on a call. Leads that come in through one of your forms fire Form submitted instead. | — |
| Form submitted | Someone submits one of your forms. | One form |
| Incoming webhook | An outside app POSTs a contact to this workflow's private catch URL — Zapier, Make, or your lead vendor. Details below. | — |
Engagement signals
| Trigger | Fires when | Filter |
|---|---|---|
| Inbound message | A contact replies — by text, email, or call. | One channel |
| Email opened | A contact opens one of your workflow emails. Opens are detected with a tracking pixel, and some inboxes block images — treat opens as a useful signal, not a guarantee. | — |
| Tag added | A workflow's Tag step adds a tag to a contact. That makes tags a simple way to chain workflows: one workflow tags the contact, and this one picks them up. | One tag |
| No reply (gone cold) | A contact on an open deal goes quiet after outreach. A daily sweep checks every open deal and fires once as the contact crosses the quiet threshold (default 3 days of silence) — not every day they stay cold. | — |
Appointments
| Trigger | Fires when | Filter |
|---|---|---|
| Appointment booked | A contact books an appointment. | — |
| Appointment cancelled | A booked appointment is cancelled — the natural start of a re-book sequence. | — |
| Appointment no-show | A contact misses a booked appointment. | — |
Pipeline & deals
| Trigger | Fires when | Filter |
|---|---|---|
| Pipeline stage changed | A deal moves to a stage. | One stage |
| Deal stalled | An open deal sits with no activity — default 7 days. Won, lost, on-hold, and contract-signed stages are skipped. Fires once per stall; if the deal moves and later stalls again, it qualifies again. | One stage |
| Deal won | A deal is marked won. | — |
| Deal lost | A deal is marked lost. | — |
| Win-back (re-engage) | A set time after a deal is marked lost — default 30 days. It's its own event, so it never masquerades as a real reply from the contact. | — |
Purchases
| Trigger | Fires when | Filter |
|---|---|---|
| Product purchased | A contact buys a product or completes a payment. | One product |
The incoming-webhook catch URL
The Incoming webhook trigger gives a workflow its own private URL that any outside app can POST a contact to — Zapier, Make, a lead vendor, your own code. Each POST adds (or updates) the contact and enrolls them, no API key required: the URL itself is the credential.
Set the trigger
On the workflow canvas, set the trigger to Incoming webhook and save. The workflow's catch URL appears right on the canvas:
https://app.salesteamtoolbox.com/api/wf/<token>. The token is created the first time you pick this trigger and stays the same after that, so your integrations never break.Point your other app at it
Add a webhook / HTTP POST action in Zapier or Make (or your vendor's lead-delivery settings) and paste the URL. JSON bodies and form-encoded bodies both work.
Send at least one identifier
Include
name,email, orphone— at least one is required, or the request is rejected. Any extra keys that match your custom fields are saved onto the contact too.Done
Each POST matches an existing contact by email or phone (updating them) or creates a new one, opens a deal for them if they don't already have one, logs the arrival on their timeline, and enrolls them in the workflow.
A minimal example:
curl -X POST https://app.salesteamtoolbox.com/api/wf/wf_YOUR_TOKEN \
-H "Content-Type: application/json" \
-d '{"name":"Jane Diaz","phone":"+15551230000","email":"jane@example.com"}'
Anyone who has the URL can add contacts to your account, so treat it like a password — don't publish it on a web page. The workflow must be toggled on for the URL to accept posts, and each URL is rate-limited to 120 requests per 10 minutes; heavier bursts get a 429 until the window resets.
The Autopilot "trigger"
Autopilot (agentic) appears in the trigger list, but it isn't an event. Picking it marks the workflow as a pipeline's Autopilot manager — the workflow the goal engine runs deals through. Its canvas is informational: Autopilot chooses its own next move per deal, so you steer it with goals in the Agent Goals panel, not with nodes.
You usually don't create this workflow yourself. The first time a deal on a pipeline goes under Autopilot — through the pipeline's AI stages, a workflow's Handoff to Autopilot step, or by turning Autopilot on in Settings — the platform creates "Autopilot: <pipeline name>" for you. You can also create one by hand: set the trigger to Autopilot, then bind the pipeline you want in the Agent Goals panel.
Autopilot requires the Pro or Agency plan. The full story — goals, stage-by-stage behavior, human takeover — is in Autopilot & Agent Goals.
Next steps
Pick an event, wire the follow-up. Set a trigger on any workflow in a few clicks.
Open Workflows