Automations
Event-driven rules engine: set it up once, it runs forever
Automations are rules that fire on upload, on schedule, or on any event. Chain operations, publish to a public URL, notify a webhook — no human in the loop required.
How it's shaped
An automation pairs a trigger with an action that references a preset by ID. The preset is where the actual pipeline (resize, compress, AI edit, etc.) lives — automations don't define inline steps, they wire triggers to presets.
{
"name": "Web-optimize on upload",
"enabled": true,
"trigger": {
"type": "event",
"eventType": "media.upload",
"folderId": "<products-folder-id>"
},
"action": {
"type": "processing_preset",
"presetId": "builtin-preset-util-web-optimize",
"outputMode": "new_media",
"targetFolderId": "<cdn-folder-id>"
}
}Submit this body to POST /api/v1/automations to create it.
Triggers
A trigger has a type plus type-specific fields.
type | Required fields | Fires when |
|---|---|---|
event | eventType | A platform event matches. Valid eventTypes: media.upload, media.process.done, media.metadata.ready. |
cron | cronExpression (and optional timezone) | The cron schedule fires. |
Both trigger types accept an optional folderId to scope the trigger to media within a folder, and an optional includeOrigins array (subset of upload, edit, job, automation, session) to control which media origins fire the rule.
Actions
An action references a preset to run.
type | What runs |
|---|---|
processing_preset | A deterministic processing preset (resize, compress, format conversion). |
image_ai_preset | An AI image-edit/generation preset. |
chat_ai_preset | A chat AI preset (typically for tagging or metadata; structured output is written to media metadata automatically — outputMode is optional here). |
outputMode is new_media or replace_media. targetFolderId optionally routes output media to a specific folder.
Where to manage them
In the app: Automations (/automations) lets you create, pause, and inspect rules. Job History (/jobs) shows every run with logs and retries.
What's next
- API Reference for the underlying endpoints.
Last updated: July 7, 2026