Primitive 03 / Trigger

Trigger config card

What kicks a workflow off. Webhook URLs, cron expressions, event bus subjects, manual run-now invocations. Each card surfaces config, last-fired, 7-day fire count, armed state and a sample payload — the contract a step downstream is reading from.

Production answer

Trigger config card is a reusable Oak Flats Muffler Men UI primitive with documented states, accessibility expectations, theme behavior, and implementation evidence.

Primary CTAReview Trigger config card states
Generative search brief

Trigger config card: What kicks a workflow off. Webhook URLs, cron expressions, event bus subjects, manual run-now invocations. Each card surfaces config, last-fired, 7-day fire count, armed state and a sample payload — the contract a step downstream is reading from.

Triple · webhook + cron + event bus
Trigger

Shopify · quote.created

Webhook
ConfigPOST /hooks/shopify/quote-created
Last fired · 09:14 AEST1,246 fires / 7dArmed
Sample payload
JSON
{  "event": "quote.created",  "quote": {    "id": "QT-48291",    "customer": "Mick Bramley",    "vehicle": "Nissan Patrol Y61 · 1KW-9P3",    "total": 1480.0,    "sentAt": "2026-05-25T09:14:00+10:00"  }}
Trigger

RWC expiry sweep

Cron
Config0 9 * * * · Australia/Sydney
Last fired · Today 09:007 fires / 7dArmed
Sample payload
JSON
{  "schedule": "0 9 * * *",  "scope": "rego.expiry <= now+7d",  "window": "rolling 7 days",  "tz": "Australia/Sydney"}
Trigger

refund.requested

Event bus
Configevent-bus · subject:refund.requested
Last fired · 08:42 AEST43 fires / 7dDisarmed
Sample payload
JSON
{  "event": "refund.requested",  "refund": {    "id": "RF-1138",    "quote": "QT-48127",    "customer": "Jess Calabro",    "amount": 285.00,    "reason": "Customer-cancelled · already paid"  }}
Single · manual trigger
Trigger

Replay quote follow-up · manual

Manual
ConfigPOST /api/workflows/quote-followup/run
Awaiting first fire4 fires / 7dArmed
Sample payload
JSON
{  "actor": "eddie@mufflermen.com.au",  "scope": "single",  "quoteId": "QT-48184",  "reason": "Customer asked over the counter today"}