Skip to main content
POST
create-action

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

Display name. Optional on create; used to generate key when key is omitted.

type
string
required

Determines which handler runs and which config schema is used for validation (e.g. "run-javascript", "api-request-to-external-app").

config
object
required

Type-specific configuration object. Validated by the handler's config schema; passed to handler setup/run and getTemplateOutputSchema. For type "run-javascript", config.code uses this contract: action.run-javascript: input { input: unknown, user: unknown, connection: { id: string, name: string }, integration: { id: string, key?: string, name?: string } | undefined } + custom-code runtime clients -> unknown. Full contract: doc:functions/action-run-javascript.

key
string

Stable key for referencing the element (e.g. in selectors). Unique per (parent, integration) scope. Generated from name if not provided on create.

description
string

Optional human-readable description.

inputSchema
object

JSON Schema for the action input. Used by the action engine for template output schema, run-time variables, and output mapping.

connectionId
string

Connection ID for filtering or for connection-level instances. Same semantics as base integration-level property.

integrationId
string

Internal ID of the integration this element belongs to. Omit for universal elements; set for integration-specific elements. Uniqueness of key is scoped per integration.

Response

200 - application/json

Create a new action for a connection or integration. Returns the created action object including its ID.

id
string
required

Internal database ID of the element. Assigned by the API; unique per element.

name
string
required

Display name. Always present in API responses (filled by API if not set on create).

uuid
string

Stable unique identifier (UUID). Can be provided on create; otherwise generated. Must be unique across elements of this type.

key
string

Stable key for referencing the element (e.g. in selectors). Unique per (parent, integration) scope. Generated from name if not provided on create.

description
string

Optional human-readable description.

meta
object

Optional key-value metadata.

state
enum<string>

Current lifecycle or health state (e.g. READY, SETUP_FAILED, CONFIGURATION_ERROR, BUILDING). Set by the engine during setup and validation.

Available options:
BUILDING,
CLIENT_ACTION_REQUIRED,
CONFIGURATION_ERROR,
SETUP_FAILED,
READY,
DISCONNECTING
errors
object[]

Validation or setup errors when state is not READY.

revision
string

Opaque revision token; changes on each update. Used for optimistic concurrency.

createdAt
string

ISO date when the element was created.

updatedAt
string

ISO date when the element was last updated.

archivedAt
string

When set, the element is archived (soft-deleted). Archived elements cannot be patched.

isDeactivated
boolean

When true, setup is skipped and the element is treated as inactive (e.g. when dependencies are deactivated or the element is archived).

isReadOnly
boolean

When true, the element cannot be modified (e.g. published package elements or elements from another workspace).

integrationId
string

Internal ID of the integration this element belongs to. Omit for universal elements; set for integration-specific elements. Uniqueness of key is scoped per integration.

integrationUuid
string

UUID of the integration; alternative to integrationId when creating from export. Resolved to integrationId by the API.

integrationKey
string

Key of the integration; alternative to integrationId. Resolved to integrationId by the API.

parentId
string

Internal ID of the parent workspace element. Used for hierarchy (e.g. integration-level under universal). Child key uniqueness is scoped by parent and integration.

parentUuid
string

UUID of the parent element; alternative to parentId when creating (e.g. from export). Resolved to parentId by the API.

parentKey
string

Key of the parent element; alternative to parentId. Resolved to parentId by the API.

connectionId
string

Connection ID for filtering or for connection-level instances. Same semantics as base integration-level property.

instanceKey
string

Key for the connection-level instance when multiple exist per connection. Same semantics as base integration-level property.

isUniversal
boolean

When true, the element is universal (shared across all integrations). Requires universal-element access. Omit or false for integration-specific elements.

externalAppId
string

Internal ID of the external app this element belongs to. Auto-populated from the integration when integrationId is set and the integration has an externalAppId.

externalAppUuid
string

UUID of the external app when this action is published in a package that has an external app. Populated in API responses for published actions.

externalAppKey
string

Key of the external app; alternative to externalAppId. Resolved to externalAppId by the API.

inputSchema
object

JSON Schema for the action input. Used by the action engine for template output schema, run-time variables, and output mapping.

type
enum<string>

Action type (e.g. HttpRequest, RunJavascript). Determines which handler runs and which config schema is used for validation.

Available options:
api-request-to-external-app,
api-request-to-your-app,
http-request,
run-javascript,
api-request
config
object

Type-specific configuration object. Validated by the handler's config schema; passed to handler setup/run and getTemplateOutputSchema.

outputMapping
any

Mapping expression to transform the action's raw output. Evaluated with access to input, output, and user; used to compute transformed output schema and at run time.

customOutputSchema
object

Explicit output schema for the action. Takes precedence over the transformed or default output schema when resolving outputSchema.

isCustomized
boolean
userId
string
tenantId
string
ownerName
string | null
agentSessionId
string

[INTERNAL] ID of the agent session building this action. Present when the action was created or updated with an intent.

universalParentId
string

For connection-level instances: ID of the universal (root) action in the hierarchy. Set automatically when creating an instance; used in list/selector queries to filter by universal parent.

outputSchema
object
isPublic
boolean

When true, the element is publicly listed (e.g. in universe). Used for published packages; publish/unpublish updates this on published elements.

logoUri
string

Resolved app logo for this element (integration -> connector -> external app -> favicon).

appliedToIntegrations
object[]
defaultOutputSchema
object
transformedOutputSchema
object
dependencies
any[]