Declares work to run on a schedule: an ordered list of named steps, each an
action to invoke or a script to run, bounded by the provider objects a workstream governs. The declaration replaces whatever was previously declared under the same name; enabled false removes it.
REST only, with no MCP write tool, and the asymmetry is the point. The scope a run acts on is read from the workstream at run time, so an automation that could declare its own scheduled work could hand itself a wider one than it was given — which is exactly what moving scope out of prose was for.
Authorizations
An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).
Body
declaration whose steps act rather than report.
run several without either replacing the other. Lowercase letters, digits, hyphens and underscores.
at eight.
under its name for the steps that follow.
"America/New_York". Defaults to UTC. It matters for anything comparing against a provider's own day boundary: an ad account reports yesterday in the account's timezone, and a run at 08:00 UTC is the previous afternoon in Miami.
bound what this run may act on. The refs are read at run time and handed to the steps as {{scope.ids}} and {{scope.refs}}; nothing is copied here, so publishing a new set takes effect on the next run with no edit to this declaration.
A workstream governing nothing yet means a run that does nothing and says so — never a run with no filter. Omit this only for a declaration that genuinely acts on no provider objects.
Response
Success response
declaration whose steps act rather than report.
history can be inspected through the automation surfaces.

