Skip to main content

overview

FieldDescriptionTypeRequired
actionIdIdentifier for the action, prefixed with the connector key to form its MCP tool name.stringYes
actionTypeOperation kind the engine treats this action as.
Allowed: list, get, create, update, delete, custom, refresh_token, event, unknown
enumYes
annotationsExplicit MCP tool-annotation overrides for the action.objectNo
authRequirementsPer-authentication-method scopes required to run the action.objectNo
categoriesBusiness-domain classifications used for filtering the action.string[]Yes
compositeIdentifiersConfiguration for building a record id from multiple provider fields.objectNo
cursorEngine-managed cursor pagination configuration.objectNo
dataSyncData Sync configuration for bulk syncing this action’s records.objectNo
descriptionShort description shown in the UI and MCP tool declarations.stringYes
detailsExtended context about the action for agents and developers.stringNo
effectsSemantic effects the action performs, used for MCP annotations and dashboard filtering.string[]No
entrypointHttpMethodHTTP method of the primary request.stringNo
entrypointUrlURL path of the action’s primary request. Paired with entrypointHttpMethod to form the action key such as GET /employees, and used as the request log URL.stringNo
examplesExample input values for the action, each optionally labeled with exampleDescription.object[]No
executionModeWhether the action runs synchronously or is dispatched to an async workflow.
Allowed: sync, async
enumNo
fieldConfigsField-level mapping and typing configuration for the result.arrayNo
inputsParameters the action accepts, forming its tool input schema.object[]No
labelHuman-readable display name for the action.stringYes
prerequisiteActionsAction ids this action declares as dependencies.string[]No
providerEventsProvider event names this action handles.string[]No
releaseStageMaturity level of the action.
Allowed: preview, beta, ga, deprecated, internal
enumNo
requiredScopesPermission scopes required to run the action.stringNo
resourcesURL to provider documentation for this action.stringNo
responsesDocumented HTTP responses the action can return.object[]No
resultData returned to the caller, given as an expression or a map of output keys to expressions.unionNo
schemaName of the output schema the action conforms to.stringNo
schemaTypeWhether the output follows the native provider shape or the unified StackOne schema.
Allowed: native, unified
Default: native
enumYes
stepsOrdered steps executed to carry out the action.arrayYes
tagsFree-form tags for grouping and filtering the action.string[]No
validationRulesCross-field validation rules applied to the action inputs.arrayNo
actionType tells the engine how to treat the operation.Unified types (list, get, create, update, delete) return normalized data:
  • Consistent response schemas across providers.
  • Cross-provider compatibility.
  • Automatic pagination handling.
  • Normalized error responses.
A list action always returns { data: [...], next: <cursor or null> }.Custom (custom) returns the raw provider response, with no schema normalization. Use it for provider-specific endpoints that need full flexibility.Special-purpose types are used in other blocks, not actions[]:
  • event — an event handler under events.actions that runs when a matching provider event arrives (matched via providerEvents). Same shape as a regular action.
  • refresh_token — the credential-refresh action under refreshAuthentication.
Examples

annotations

Explicit MCP tool-annotation overrides for the action.
FieldDescriptionTypeRequired
destructiveHintWhether the action may delete or overwrite data.booleanNo
idempotentHintWhether repeating the action has no additional effect.booleanNo
openWorldHintWhether the action interacts with an open, external world.booleanNo
readOnlyHintWhether the action only reads data.booleanNo
titleHuman-readable title exposed to MCP clients.stringNo
Examples

authRequirements

Per-authentication-method scopes required to run the action. Examples

compositeIdentifiers

Configuration for building a record id from multiple provider fields.
FieldDescriptionTypeRequired
enabledWhether composite identifiers are built for records.booleanYes
fieldsField mappings that make up each composite identifier.object[]No
versionVersion of the composite identifier encoding.numberNo
Field mappings that make up each composite identifier.
FieldDescriptionTypeRequired
componentsOrdered output field keys whose values combine into the identifier.string[]Yes
remoteProvider field the identifier component is read from.stringNo
targetFieldKeyKey the composite identifier is written to.stringYes
Examples

cursor

Engine-managed cursor pagination configuration.
FieldDescriptionTypeRequired
enabledWhether cursor pagination is enabled. Only applies to list actions and has no effect on others.booleanYes
pageSizeNumber of records requested per page.numberYes
Examples

dataSync

Synced records are stored for reading with Deep Query. See Data Sync. Data Sync configuration for bulk syncing this action’s records.
FieldDescriptionTypeRequired
allowedWhether Data Sync is enabled for this action.booleanYes
dataKeyPath within the step output to the records array, used when the action returns them in a single call rather than paginating.stringNo
incrementalChange-tracking configuration for incremental syncs.unionNo
indexFieldField or fields forming each record’s primary key during sync.unionYes
maxDurationMinutesMaximum time a single sync run may take.integerNo
maxPagesMaximum number of pages fetched in a single sync run.integerNo
paginationPagination strategy used while syncing.unionNo
Change-tracking configuration for incremental syncs.
FieldDescriptionTypeRequired
formatEncoding of the timestamp value: iso8601, unix_seconds, or unix_millis.
Allowed: iso8601, unix_seconds, unix_millis
enumYes
iteratorNames the request parameter carrying the last-sync timestamp and where on the request to place it.objectYes
responseConfigures reading the newest record timestamp from each page to advance the watermark.objectNo
safetyBufferSecondsSeconds subtracted from the run start time when falling back to the local clock so records near the boundary are not skipped.
Default: 60
integerYes
typeSelects the updated-since strategy where each sync requests only records changed after the last watermark.stringYes
Names the request parameter carrying the last-sync timestamp and where on the request to place it.
FieldDescriptionTypeRequired
inWhere to add the timestamp parameter: query, body, or headers.
Allowed: query, body, headers
enumYes
keyRequest parameter name the last-sync timestamp is sent under.stringYes
Configures reading the newest record timestamp from each page to advance the watermark.
FieldDescriptionTypeRequired
updatedAtPathPath within each returned record to its last-updated timestamp, read to advance the watermark.stringYes
Pagination strategy used while syncing.
FieldDescriptionTypeRequired
iteratorRequest parameter that carries the next-page cursor.objectYes
responseHow records and the next-page cursor are located in the response.objectYes
stopConditionExpression evaluated against each response to stop paging. Defaults to stopping when the next-page cursor key is null.stringNo
typeSelects the cursor-based pagination strategy.stringYes
Request parameter that carries the next-page cursor.
FieldDescriptionTypeRequired
inWhere to add the pagination parameters: query, body, or headers.
Allowed: query, body, headers
enumYes
keyRequest parameter the next-page cursor is sent in.stringYes
How records and the next-page cursor are located in the response.
FieldDescriptionTypeRequired
dataKeyResponse key holding the array of records for each page.stringYes
nextKeyResponse key holding the cursor for the next page.stringYes
Examples

effects

Semantic effects the action performs, used for MCP annotations and dashboard filtering. Optional, but worth setting on every action so an MCP client can auto-approve reads and prompt before writes. An action can carry more than one effect. A find-or-create gets [read, write].
With no effects and no annotations override, no hints are emitted, so a read looks no safer than a delete.
Annotations are hints, not enforcement. Clients use them for grouping and approval defaults, not as a security boundary. To actually restrict what a linked account can call, disable the actions on its Connector Profile. See Scoping connectors.
Examples

examples

Example input values for the action, each optionally labeled with exampleDescription.
FieldDescriptionTypeRequired
exampleDescriptionExplains what this usage example demonstrates.stringNo
Examples

fieldConfigs

Field-level mapping and typing configuration for the result. Examples

inputs

Parameters the action accepts, forming its tool input schema.
FieldDescriptionTypeRequired
arrayWhether the input accepts a list of values.
Default: false
booleanYes
arrayFormatHow a list input’s values are formatted in the request, such as repeated, comma-separated, or bracketed. Currently not in use.
Allowed: repeat, brackets, comma, stringify
enumNo
descriptionExplains the input for callers and generated tool schemas.stringYes
inPart of the HTTP request this input is placed in.
Allowed: body, query, path, headers
enumYes
nameParameter name exposed to callers and mapped into the request.stringYes
oneOfAllowed values when the input is an enum.unionNo
propertiesNested inputs when the input is an object.object[]No
requiredWhether the caller must supply this input.booleanYes
rulesValidation rules applied to the input value.objectNo
typeData type of the input value.
Allowed: string, number, boolean, datetime_string, object, enum
enumNo
variantsAlternative typed shapes the input may take.object[]No
Allowed values when the input is an enum.
FieldDescriptionTypeRequired
valuesExplicit list of allowed enum values.string[]Yes
Validation rules applied to the input value.
FieldDescriptionTypeRequired
errorMessageMessage shown when the value violates a rule.stringNo
formatNamed format the value must conform to.
Allowed: email, url, uri, uuid, date, datetime
enumNo
maxMaximum numeric value allowed.numberNo
maxLengthMaximum number of characters the value may have.numberNo
minMinimum numeric value allowed.numberNo
minLengthMinimum number of characters the value must have.numberNo
patternRegular expression the value must match.stringNo
Examples

responses

Documented HTTP responses the action can return.
FieldDescriptionTypeRequired
descriptionWhat this response status means.stringYes
statusCodeHTTP status code being documented.numberYes
Examples

result

Data returned to the caller, given as an expression or a map of output keys to expressions. Examples

steps

See Step Functions for the full catalog and their parameters. Ordered steps executed to carry out the action.
FieldDescriptionTypeRequired
conditionExpression gating whether this step runs.stringNo
descriptionExplains what this step does.stringYes
ignoreErrorWhether a failure in this step is ignored so execution continues.booleanNo
onConditionErrorHow to behave when the condition expression errors.
Allowed: true, false, break
enumNo
stepFunctionStep function executed by this step.objectYes
stepIdIdentifier for this step, used to reference its output.stringYes
Step function executed by this step.
FieldDescriptionTypeRequired
functionNameName of the step function to execute.stringYes
parametersArguments passed to the step function.objectYes
versionVersion of the step function to use.stringNo

validationRules

Cross-field validation rules applied to the action inputs.
FieldDescriptionTypeRequired
errorMessageMessage shown when the rule is violated.stringNo
fieldsInput names of which at least one must be provided.string[]Yes
ruleRequires at least one of the listed inputs to be provided.stringYes
Examples

Step functions

Full catalog of stepFunction implementations.

Expression language

JEXL syntax for condition, iterator, result, and step inputs.