Automation
Some work shouldn't happen inside a request. Automation runs it later, runs it on a schedule, or runs it when something changes, and retries with backoff when it fails. Every attempt is recorded, and every outgoing webhook is signed and can be replayed.
What Automation does
Background jobs
Queue an HTTP call, an email or a webhook to run now, after a delay or at a set time, with up to 25 attempts.
Schedules
Cron expressions that create jobs on time. You can pause, edit or remove them without a deploy.
Outgoing webhooks
Subscribe your endpoints to events. Each payload is signed, and every delivery is kept so you can inspect it or retry it.
Event feed and audit log
An append-only record of what changed, who changed it and from where. Nothing in it can be edited or deleted.
WorkflowsIn preview
Steps that wait for each other, for a period of time or for an event, defined as code and resumed after failures.
In your code.
Follow up three days after sign-up, retried if it fails.
await dianthan.jobs.create({
type: "email",
delaySeconds: 3 * 24 * 60 * 60,
maxAttempts: 5,
payload: {
to: user.email,
subject: "Anything we can help with?",
text: "Reply to this email and it reaches a person.",
},
});Endpoints.
The main routes. The API reference lists every parameter and response.
- POST /v1/jobs
- POST /v1/jobs/:id/retry
- POST /v1/schedules
- POST /v1/webhooks
- GET /v1/webhooks/:id/deliveries
- GET /v1/events
- GET /v1/audit-log
Included in the plan.
Automation is part of every account: free within hard limits, then included in the $29 plan that covers every system and every app.
Included
100,000 job runs. Unlimited schedules. 90 days of delivery history.
Beyond that
$1 per extra 100,000 runs.