Get template
Get one template by slug: full prompt, default schedule, model level, output channels, and required integrations. Clients that support creating automations can pass the slug as sourceDefaultTaskSlug to link the new automation to its template.
/automation-templates/{slug}AuthorizationBearer token · headerrequiredOrganization API key (modem_…).
slugstringrequiredOK
descriptionstring | nullrequiredShow propertiesHide properties
stringnullmodelLevelstringrequiredModel quality/speed tier persisted for automation execution.
highlowmednamestringrequiredoutputChannelsobject[] | nullrequiredShow propertiesHide properties
objectchannelstringrequireddiscordemailmsteamsslackdestinationsstring[] | nullrequiredShow propertiesHide properties
stringstringnullmodestringrequiredany-internalanyspecificnullpromptstringrequiredrelatedTemplatesstring[]requiredrequiredIntegrationsstring[]requiredscheduleobjectrequiredDefines when an automation should run.
Show propertiesHide properties
exprstringrequiredStandard cron expression string.
typeanyrequiredrrulestringrequirediCalendar recurrence rule (RFC 5545) string.
typeanyrequiredatstringrequiredISO 8601 timestamp for one-time execution.
typeanyrequirednintegerrequiredNumber of time units between executions.
typeanyrequiredunitstringrequiredTime unit for interval scheduling.
hoursminuteschannelIdsstring<uuid>[]Optional channel scope: message channel UUIDs this automation is limited to. Omit for all channels (global). Only valid when every selected event supports channel scoping (see EVENT_CHANNEL_SCOPING).
delaySecondsintegerOptional delay, in seconds, before running the automation after its trigger event fires (e.g. 1800 = 30 minutes after the event). Omit for immediate execution. Maximum 604800 (7 days).
eventstringLegacy single-event trigger (e.g., github.pr.created). Still accepted on read/write for backwards compatibility; prefer events for new writes. When both are present, events is canonical.
eventsstring[]Trigger events for this automation (e.g., ["github.pr.created", "github.pr.dismissed"]). The automation fires once per matching event occurrence. Canonical form — prefer this over the legacy event field.
productIdsstring<uuid>[]Optional product scope: the products this automation is limited to. Omit for all products (global); an empty array is rejected so 'global' has one representation. Acts as a channel preset — at dispatch time the scoped products' currently linked message channels (product_channels) are resolved and the automation fires when the triggering event's channels intersect ANY of them. It additionally instructs the agent to scope the run's output to those products. May be combined with channelIds — both scopes must pass (AND semantics).
targetBranchesstring[]Optional case-sensitive allowlist of GitHub PR base_ref branches. Names match exactly; * matches zero or more characters, including slashes. Only valid for GitHub PR triggers. Omit for all target branches; channel and product scopes must also pass. Nonmatching events are skipped before launching a workflow or agent.
typeanyrequiredslugstringrequiredsubtitlestring | nullrequiredShow propertiesHide properties
stringnullInvalid request (validation failed).
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.
Missing or invalid API key.
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.
The API key does not have access to this resource.
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.
The requested resource was not found.
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.
Rate limit exceeded.
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.
Internal server error.
codestringrequiredMachine-readable error code, e.g. NOT_FOUND.
dataanyOptional structured error details.
definedbooleanrequiredTrue if the error was declared in the procedure contract.
messagestringrequiredHuman-readable error message.
statusintegerrequiredHTTP status code.