Text trigger
Verified phones text the platform number and the workflow runs with the message, sender, and timestamp. Menu routing when several workflows listen.
Text the MadMax number from a verified phone, the workflow runs. One platform number, routed by sender.
When it runs
On each inbound SMS from a phone verified in your workspace (Settings → messaging). Texts from any other number are dropped in code before anything is processed, with no reply and no run: an unknown sender learns nothing. The trigger is eligible while the workflow is active, or while you're testing it with Run.
Routing is deterministic and happens before any model is involved:
- No eligible workflow: the sender gets a short nudge back saying none of their text workflows are running, with a hint to press Run or Activate.
- Exactly one: it fires straight away.
- Several: the message is held and MadMax texts back a numbered menu. The digit reply routes the original message, so the sender never retypes. One pending question per sender number; a newer ambiguous text replaces it, and a question expires after 10 minutes. When a model can guess the likely match it leads the menu with "Sounds like X, reply 1", but only the digit reply ever runs anything.
A YES or NO from a number that has a pending text approval is consumed by that approval first and never reaches a trigger.
Config
Nothing to configure. Verification lives in Settings → messaging.
There are no fields. The step arms as soon as the workspace holds at least one verified number; until then the canvas marks it as needing setup. The Inspector shows the number to text.
Output
{
"from": "+17145551234",
"text": "the walk-in fridge is leaking, need someone today",
"message_id": "msg_…",
"received_at": "2026-08-26T18:00:00Z"
}
{{ payload.text }} is the message; {{ payload.from }} the
sender in E.164 form, which is by construction a verified number
you can text back. message_id and received_at come from the
carrier delivery.
Testing
The verify kind is capture_real: a synthetic sample doesn't count.
Press Run, text the number from a verified phone, and that one
delivery both runs the draft and pins the step's sample. A build
with an open capture window outranks other listening text
workflows, so the text you send while building lands on the one
you're looking at. Run step on a trigger with no pinned sample
reports "no captured sample yet" rather than passing on an empty
payload.
Patterns
- Text desk: AI reads each text, urgent ones get an immediate reply via send text, routine ones post to a channel.
- Field logging: "expense 14.50 lunch" → extract the amount and category → store upsert.
- Reminders by reply: text "remind me friday", parse the date, wait, text back.
Gotchas
- Unverified numbers can't trigger, because verification is the security model. The messaging guide covers setup.
- Replying costs a send text step; the trigger only receives.
- STOP suspends a number everywhere it's verified, including as a trigger sender, until the person texts START.
- Several text workflows active at once means every text starts with a menu. Keep one running per workspace when you want texts to fire instantly.
Related
- Text messaging, the full guide to verification and routing.
- Send text, the outbound half.
- Triggers for how listen-and-deliver triggers arm.