Logo
Automations

PDF event
automations.

A reader does something. Your stack reacts — the same second. Composable rules, queued execution, every firing audited.

Compose any signal
into an action.

Pick a trigger. Add a filter. Point at your webhook. Same grammar, every rule.

When
event
If
condition
Then
webhook
Real rules customers build
Hot-lead Slack ping
when annotation:create if page == 4 then POST Slack · #sales-hot
Dwell on pricing → CRM
when page:leave if time_on_page ≥ 30s then POST HubSpot · create-task
Engaged buyer alert
when link:clicked if pages_viewed ≥ 5 then POST Pipedrive · lifecycle
Contract signed
when form:submit if completion_rate ≥ 80% then POST S3 · signed-contracts
Print-out signal
when document:print if total_reading_time ≥ 2m then POST Alerts · #buyer-prints
Every reader event · rich conditions

From a reader’s gesture
to your endpoint’s response.

Five stages, end to end. Every step recorded. Below is the “Hot-lead Slack ping” rule firing on Alex’s highlight.

1
Reader interaction
A
Alex Rivera highlighted “$12,000/mo” on page 4
2
Event captured
annotation:create at 09:42:11.207
3
Rule evaluates
Hot-lead Slack ping
trigger matches annotation:create
filter passes page_number == 4
4
Webhook fires
POST https://hooks.acme.com/sales-hot
payload · event · recipient · page · data
5
Response recorded
200 OK 412ms · saved to the execution log

Every firing,
on the record.

Status, payload, response, duration — every execution captured. The last hour of one workspace, plotted by when it fired and how long it took.

1s 750 500 250 0
avg 365ms
60 min ago 45 30 15 now
34
firings in the last hour
91%
success rate · 31 of 34
365ms
average response time
2
1
failed · pending

When this. Then that.
For every signal.