Skip to main content
Automations are workflow definitions scoped to a space. Each automation has a kind that determines how it is triggered, and a config object that varies by kind. Valid kinds: social_post, reverse_tunnel, scheduled, webhook. Valid statuses: draft, pending_approval, active, paused, rejected. When an automation is created by a service account (AI staff), its status is always set to pending_approval regardless of the value in the request body. A human with the appropriate permissions must approve it before it becomes active.

List automations

Returns all automations for a space. Requires the files.read permission and access to the space. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
Example
Response 200 OK
string
Automation UUID.
string
Organization UUID.
string
Space UUID.
string
Display name.
string
Automation kind: social_post, reverse_tunnel, scheduled, or webhook.
object
Kind-specific configuration JSON.
string
Current status: draft, pending_approval, active, paused, or rejected.
string
UUID of the human user who created this automation, or null.
string
UUID of the service account that created this automation, or null.
string
Timestamp of the most recent execution, or null.
string
Error message from the most recent failed run, or null.

Create an automation

Requires the files.write permission and access to the space. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
Request body
string
required
Display name. Whitespace is stripped.
string
required
Automation kind. One of: social_post, reverse_tunnel, scheduled, webhook.
object
Kind-specific configuration. Defaults to {} if omitted.
string
Initial status. One of: draft, pending_approval, active, paused. Defaults to draft. Ignored for service account callers (always set to pending_approval).
string
Optional human-readable description of the automation’s intent. For service account-created automations, this is merged into config as proposal_note for reviewers.
string
Plain-text OAuth token to store encrypted. Not available to service accounts.
Example
Response 201 Created

Update an automation

Partially updates an automation. Requires the files.write permission. All fields are optional. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
string
required
Automation UUID.
Request body
string
New display name.
object
Replacement configuration JSON.
string
New status: draft, pending_approval, active, or paused.
string
New OAuth token (replaces the existing encrypted value). Not available to service accounts.
Example — pause an automation
Response 200 OK
Returns the full updated automation object.

Delete an automation

Permanently deletes an automation. Requires the files.write permission. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
string
required
Automation UUID.
Example
Response 204 No Content