Create powerful backend processes and workflows to orchestrate your AI applications
URL (Webhook/API Endpoint)
body.<fileKey>
object variable.data: {"keepAlive": true}
chunk will be regularly emitted until the connection ends.Events
Schedules
runtime.automations.scheduled
event is emittedRun Scope
{{run.variable}}
Run variables include execution context like:run.date
: Current timestamprun.ip
: Client IP addressrun.automationSlug
: Current automation identifierrun.correlationId
: Unique ID for tracing related eventsrun.depth
: Current automation depth in the stacktracerun.trigger.type
: Trigger type (event, endpoint, automation)run.trigger.value
: Trigger value (event name, endpoint path, etc.)run.socketId
: Current socket ID if connected by websocketrun.appSlug
: Current app slug if running from an appInstancerun.appInstanceSlug
: Current appInstance slug if applicablerun.parentAppSlug
: Parent app slug if parent is also an appInstanceUser Scope
{{user.variable}}
User variables include:user.id
: Unique user identifieruser.email
: User’s email addressuser.authData
: Authentication informationuser.role
: User’s role in the workspaceSession Scope
{{session.variable}}
Session variables include:session.id
: Current session IDGlobal Scope
{{global.variable}}
Global variables include:global.workspaceId
: Current workspace IDglobal.workspaceName
: Current workspace nameglobal.apiUrl
: Current API instance public URLglobal.studioUrl
: Current studio instance public URLglobal.pagesUrl
: Current workspace pages public URLglobal.pagesHost
: Current pages instance base domainglobal.endpoints
: Map of available endpoint slugs to URLsglobal.workspacesRegistry
: Map of public workspacesSocket Scope
{{socket.variable}}
Socket scope provides a temporary state local to a websocket connection, useful for separating state between multiple browser tabs. This context automatically expires after 6 hours without any updates.Config Scope
{{config.variable}}
Contains the workspace configuration defined in the workspace settings.$workspace Scope
{{$workspace.variable}}
This read-only context holds the current workspace definition, allowing access to any of its sections (e.g., installed apps config via $workspace.imports.myApp.config
).set
instruction. Written data will be persisted and available in subsequent requests. However, when setting variables inside session/user contexts from an unauthenticated webhook, they will not be persisted.{{some.variable.name}}
.
Variables can be created and modified using the set instruction and removed using the delete instruction.
For objects or arrays, you can access specific properties:
session.myObjectVariable
equals {"mickey": "house"}
and item.field
equals mickey
, the entire expression resolves to house
.
Condition
Repeat
Break
break
is meant to be handled from a parent automation’s try/catch, scope
must be set to all
.All
Try/Catch
$error
variable is accessible both inside and outside the catch
block.Set Instruction
Delete Instruction
Fetch Instruction
Emit Instruction
Wait Instruction
Rate Limit Instruction
Auth Instruction
fetch
consumption (as an Authorization header).{{run.authenticatedWorkspaceId}}
variable (which cannot be manually set) will be made available to securely check calling workspace.User Topic Instructions
{% ... %}
delimiters.
someToken
argument defined with secret: true
is automatically redacted from native runtime events to avoid accidental leaks of sensitive information.
validateArguments: true
:
Workspace Events
App Events
Automation Events
Runtime Events
Modular Design
Error Handling
State Management
Security Best Practices
Performance Optimization
Testing
Blocks
Pages
Deployment