bus ▸ listening 0

Wire anything
to anything.

Every workflow, crawl, and monitor emits events, and can be an action. Connect them: when something happens, check a condition, then run, notify, or kick off the next thing. No glue code, no servers.

runs locally · fires in the cloud · no credit card
automation · price-drop → act
When
a monitor changes
click to change trigger
Only if
the drop is > 5%
click to change condition
Then
notify #ops
click to change action
wire a trigger to an action, then test it
event or schedule conditions & filters chain automations
trg ▸ event source 40
01
triggers

Anything can start it.

Fire on a schedule, when a monitor spots a change, when a crawl or workflow finishes, or the moment a webhook lands. Pick a trigger:

acme-supply · invoices id 353 REST POST /v1 MCP one tool Webhook HMAC Schedule cron OpenAI streaming
curl -X POST "https://api.usewrit.app/api/v1/workflows/353/runs" \
  -H "Authorization: Bearer wt_…" \
  -H "Content-Type: application/json" -d '{}'

Same row, five ways in. The interface stays the same; its URL depends on where the workflow runs — locally, through Uplink, self-hosted or in Writ Cloud. Publishing exposes the workflow; Automations decide when and why it runs.

sch ▸ next runs 120
02
schedule

Precise recurrence, no cron PhD.

Every N minutes, hourly, a specific time daily, weekly on set days, or paste a cron string. Writ shows exactly when it will run next:

Next runs
flt ▸ passed / blocked 260
03
conditions

Only when it actually matters.

Guard an action with a condition so it fires on signal, not noise. Toggle the filter and watch which events get through:

only if price drop > 5%
act ▸ dispatched 420
04
actions

Then do the thing.

Run a workflow, start a crawl, notify a channel, call a webhook, write to a dataset, or wait, then chain into the next automation.

chn ▸ pipeline fired 640
05
chaining

One event, a whole pipeline.

Actions emit events too, so automations chain. A crawl finishing can trigger extraction, which triggers a notify. Send a pulse through:

Crawl done
tech.example · 2,914 pg
Extract
→ product schema
Diff dataset
new / changed rows
Notify #ops
42 price changes
4 automations wired end to end
log ▸ every firing 900
06
history

Every firing, logged and searchable.

See what fired, why, and what it did, with the outcome and timing. Type to filter:

TimeAutomationTriggerOutcome
bill ▸ pay for the work 1,200
07
pricing

The wiring is free. You pay for the work.

Triggers, conditions, and chaining cost nothing: you are only billed for what the actions do (a cloud run, a crawl), metered as usual. Local automations are entirely free.

dev ▸ triggers api 1,200
08
developers

Wire it from code.

Create triggers over REST, receive events on your own webhook, or let an agent wire automations via MCP. Pick one: