Scheduling jobs
A job runs a task attached to an artifact — on a schedule, or when something happens. Email a weekly report, post a snapshot to Slack, refresh a dataset.
Two triggers
Section titled “Two triggers”| Trigger | Fires |
|---|---|
cron | On a time schedule (schedule field) |
event | On artifact.updated, artifact.viewed, or comment.added |
Actions
Section titled “Actions”| Action | Does |
|---|---|
email | Send to recipients (inline HTML or a template) |
slack | Post a message, snapshot, or PDF to a channel or DM |
discord | Post to a Discord webhook |
webhook | HTTP request to your URL |
http_get | Simple GET |
materialize | Re-run a connection query and store the result |
Create a job
Section titled “Create a job”curl -X POST https://shareout.site/v1/jobs \ -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \ -d '{ "artifact_id": "art_abc123", "action": "email", "trigger_type": "cron", "schedule": "0 9 * * 1", "config": { "recipients": ["team@company.com"], "subject": "Weekly report", "includeArtifactLink": true } }'Cron format
Section titled “Cron format”┌─ minute (0-59)│ ┌─ hour (0-23)│ │ ┌─ day of month (1-31)│ │ │ ┌─ month (1-12)│ │ │ │ ┌─ day of week (0-6, Sun=0)* * * * *0 9 * * 1 → Mondays 9am · */15 * * * * → every 15 min · 0 9-17 * * 1-5 →
hourly, business hours.
Retries
Section titled “Retries”Add retry_config for flaky downstreams:
{ "maxAttempts": 3, "backoffType": "exponential", "initialDelay": 60 }fixed · linear (delay × (attempt+1)) · exponential (delay × 2^attempt).
Run, pause, inspect
Section titled “Run, pause, inspect”| Action | Endpoint |
|---|---|
| Run now | POST /v1/jobs/{id}/run |
| Pause | PATCH /v1/jobs/{id} → { "enabled": false } |
| Recent logs | GET /v1/jobs/{id}/logs |
See the full schema in the API reference.