Skip to main content
Version: 12 - TBD

Execution

class resources.execution.Execution

Base class: Activity

An automation (flow, script, or connection) which is or was running.

See the corresponding Flow Api class at Execution

PropertyDescriptionTypeImport/Export
activity_typeEnum('EXECUTION', 'MESSAGE', 'PROCESS', name='activitytype')neither
breakA flag to control if the execution should pause on the next line.Boolean()neither
breakpointsThe breakpoints of the execution.ARRAY(SmallInteger())import only
bundle_idReference to the bundle this record is associated with. Allowed for BUNDLE_REPOSITORY, CONNECTOR, CUSTOM_OBJECT, DASHBOARD, DEVOLUTIONS_CONFIG, EXECUTION, FILE, FLOW, LDAP_CONFIG, MCP_USER_TOOL, MESSAGE, OBJECT_TEMPLATE, PLUGIN, PYTHON_MODULE, ROLE, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for BUNDLE, ORGANIZATION, PROCESS, PROJECT, USER, WORKSPACE. Mutually exclusive with project_idUUID(as_uuid=False)both
bundle_nameThe name of the bundle. Will look up the bundle and set bundle_id.String(length=128)import only
childrenSubrecords to create in the SAME transaction as the record, as a mapping of {subrecord_type: [ {column: value, ...}, ... ]}. A generic, schema-derived create-with-children: a key is accepted iff it names a subrecord type whose parent is one of this record's ancestor tables — e.g. an object_template with object_template_attribute rows, a role with role_permission rows, or a flow with resource_wrapper rows. The parent foreign key (<parent>_id) is auto-wired to the new record; each child is validated by its own subrecord create-path. Passing children inline makes the record and its subrecords atomic (any child failure rolls the whole create/update back), replacing a create-then-add-N sequence with one round-trip. Exposed identically on REST create/update bodies and the GraphQL create_<type>/update_<type> mutation input (as an arbitrary-JSON scalar), and via MCP create_record/update_record, since it is a single schema-derived column with no per-surface code. Accepted on both create and update. Nesting to arbitrary depth IS supported: a child entry may itself carry a children key, validated recursively against THAT child subrecord type's own ancestor tables and created depth-first in the same transaction. (Under the current subrecord model the only externally-creatable chains happen to be one level deep — subrecords are not record-backed, so e.g. a record_metadata cannot be nested under an object_template_attribute — but the recursion is applied generically so any deeper externally-creatable chain works with no per-type code.) On read the children are exposed via their subrecord lists, not this field.JSONEncodedData()neither
commit_messageThe commit message for this change.Text()import only
connector_idThe ID of the connector record the execution is using.UUID(as_uuid=False)both
connector_nameThe name of the connector. Only used for type CONNECTIONString(length=128)neither
connector_typeThe type of the connector / the type of the remote system.Enum('AWS', 'AZURE', 'AZUREAI', 'FTP', 'GIT', 'GOOGLE', 'HTTP', 'IMAP', 'K8S', 'LDAP', 'MYSQL', 'OPENAI', 'OVH', 'PS', 'REDIS', 'REST', 'SCP', 'SFTP', 'SMB', 'SMTP', 'SOAP', 'SQLMSSQL', 'SQLORACLE', 'SQLPG', 'SSH', 'VAULT', 'WEBDAV', 'XMLRPC', name='connectortype')both
created_atDateTime(timezone=True)export only
created_byUUID(as_uuid=False)export only
custom_object_idIf this execution was created by the on_create, on_update, or on_delete hook of an object template, this field contains the reference to the custom object.UUID(as_uuid=False)both
deleted_atWhen the record was moved to the trashbin. Null while the record is active.DateTime(timezone=True)import only
deleted_byUUID(as_uuid=False)import only
dependency_idThe ID of the dependency record the execution is currently waiting for.UUID(as_uuid=False)export only
descriptionA multiline description of what this record is and does.Text()both
end_statusEnum('WAITING_DEPENDENCY', 'WAITING_LOCK', 'WAITING_RECORD', 'WAITING_ENGINE', 'WAITING_RESPONSE', 'AT_ENGINE', 'ENDED_SUCCESS', 'ENDED_ERROR', 'ENDED_CANCELLED', 'PAUSED', 'SCHEDULED', name='executionstatus')neither
ended_atThe timestamp when the execution ended.DateTime(timezone=True)export only
flow_idThe ID of the flow record the execution is processing.UUID(as_uuid=False)both
flow_nameThe name of the flow. Only used for type FLOWString(length=128)neither
has_deprecationBoolean()export only
has_syntax_errorBoolean()export only
idUUID(as_uuid=False)neither
identity_typeEnum('EXECUTION', 'LDAP_CONFIG', 'SCHEDULE', 'SYNC_CONFIG', 'USER', 'WEBHOOK', 'WORKSPACE', name='identitytype')neither
input_schemaThe schema of the data the execution accepts in input_value.JSONEncodedData()both
input_valueThe data which was passed to the execution.JSONEncodedData()both
input_value_size_bytesThe size of the input value in bytes.BigInteger()export only
is_bundle_readonlyBoolean()neither
is_deletedWhether the record has been permanently deleted. Records in the trashbin are indicated by deleted_at instead.Boolean()export only
is_hiddenBoolean()neither
is_pausedA flag to control if the execution should be processed.Boolean()export only
is_productiveA flag to control if the execution runs in productive mode.Boolean()both
is_project_readonlyBoolean()neither
is_queuedIf set, the execution is waiting to be processed.Boolean()export only
is_readonlyA flag to control if the record can be modified. Allowed for BUNDLE, BUNDLE_REPOSITORY, CONNECTOR, CUSTOM_OBJECT, DASHBOARD, DEVOLUTIONS_CONFIG, FILE, FLOW, MCP_USER_TOOL, OBJECT_TEMPLATE, PLUGIN, PROJECT, PYTHON_MODULE, ROLE, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for EXECUTION, LDAP_CONFIG, MESSAGE, ORGANIZATION, PROCESS, USER, WORKSPACEBoolean()both
is_remote_processedA flag to control if the execution is processed in a remote workspace.Boolean()export only
last_activityThe last time the identity was active in Cloudomation. Output only.DateTime(timezone=True)neither
last_commandThe flow_api command which is currently executed.String(length=128)export only
last_syncTimestamp of when the execution was last synced with a workspace sync_config.DateTime(timezone=True)export only
linenoThe line number of the script which is currently executed.SmallInteger()export only
location_inheritanceControls the project/bundle association of a newly created record when no project_id/project_name/bundle_id/bundle_name is specified in the create request. Depending on the record type different options are available:
location_inheritance record types description
created_by all use the same location as the identity which creates the record
default all use the "Default project" where applicable or "Workspace" for record types which cannot be in a project
wrapped_resource execution use the same location as the innermost resource which is wrapped
resource execution use the same location as the resource on which the execution is based on
Notes:
  • If a project_id/project_name/bundle_id/bundle_name is specified in the request, it always takes precedence.
  • The options wrapped_resource and resource only work with executions which are based on a resource, not with ad-hoc connections or executions of type "SCRIPT". If used with ad-hoc connections or "SCRIPT" it will fall back to default.
  • If the record being created cannot be associated with the specified location, the fallback to default will be used.
  • If location_inheritance is unset, the default value used depends on the type of identity which creates the record as well as the type of record which is created. If an execution is created by any identity which is not an execution, it defaults to wrapped_resource. In all other cases it defaults to created_by.
String(length=128)import only
max_runtime_minutesThe maximum runtime of the execution in minutes. If set to 0, there is no limit.Integer()both
mcp_user_tool_idThe associated MCP user tool for this executionUUID(as_uuid=False)both
messageA status message.Text()export only
message_idThe ID of the message record the execution is currently awaiting a response from.UUID(as_uuid=False)export only
modified_atDateTime(timezone=True)neither
modified_byUUID(as_uuid=False)neither
nameThe name of this record. Must be unique across a workspace.String(length=128)both
operation_idUUID(as_uuid=False)neither
organization_idUUID(as_uuid=False)export only
origin_flow_idThe id of the nearest ancestor flow that spawned this execution (the "calling flow"). Resolved once at creation from the parent execution's flow_id/origin_flow_id, so it is O(1). Used to correlate runtime statistics to the call site. NULL for top-level executions.UUID(as_uuid=False)export only
origin_linenoThe source line in the calling flow at which the call chain that spawned this execution started (the this.connect/flow/script/child call site). Resolved O(1) at creation together with origin_flow_id: the parent lineno when the parent is a real flow, else the inherited origin_lineno of the parent so wrappers/scripts stay transparent to runtime-stats correlation. NULL for top-level executions.SmallInteger()export only
orphanIf set, the child execution will be disconnected from the execution treeBoolean()neither
output_schemaThe schema of the data the execution produces in output_value.JSONEncodedData()both
output_valueThe data returned by the executionJSONEncodedData()export only
output_value_size_bytesThe size of the output value in bytes.BigInteger()export only
parent_execution_idThe ID of the execution which created this execution.UUID(as_uuid=False)export only
pending_delete_commitBoolean()neither
pending_delete_identity_idUUID(as_uuid=False)neither
pending_operation_idUUID(as_uuid=False)neither
pending_restore_commitBoolean()neither
pending_restore_identity_idUUID(as_uuid=False)neither
pending_trash_commitBoolean()neither
pending_trash_identity_idUUID(as_uuid=False)neither
plugin_action_idReference to the plugin_action this execution was started by.UUID(as_uuid=False)both
priorityThe priority of the execution. Higher priority executions will be processed first. Executions with the same priority are processed in the order they were created.SmallInteger()both
process_idUUID(as_uuid=False)export only
project_idReference to the project this record is associated with. Allowed for CONNECTOR, CUSTOM_OBJECT, DASHBOARD, DEVOLUTIONS_CONFIG, EXECUTION, FILE, FLOW, MCP_USER_TOOL, MESSAGE, OBJECT_TEMPLATE, PLUGIN, PYTHON_MODULE, SCHEDULE, SCHEDULER, SCHEMA, SETTING, SYNC_CONFIG, TAG, VAULT_CONFIG, WEBHOOK, WRAPPER. Not allowed for BUNDLE, BUNDLE_REPOSITORY, LDAP_CONFIG, ORGANIZATION, PROCESS, PROJECT, ROLE, USER, WORKSPACE. Mutually exclusive with bundle_id.UUID(as_uuid=False)both
project_nameThe name of the project. Will look up the project and set project_id.String(length=128)import only
provisioning_typeIf this execution was created by the on_create, on_update, or on_delete hook of an object template.String(length=128)export only
record_metadataRecord metadata to attach in the SAME transaction as the record create/update, as a mapping of {key: data} (key: string up to 128 chars, data: arbitrary JSON). Each entry is written as a record_metadata subrecord, upserted by (record_id, key). This removes the create-then-add race: without it a flow/API must first create the record and then add its metadata in a second call, leaving a window where the record exists un-marked (and may already be committed to git before the marker lands). Passing record_metadata inline makes the record and its metadata atomic. Accepted (and applied) on both create and update. On read the metadata is exposed via the record_metadata subrecord list, not this field.JSONEncodedData()neither
record_typeEnum('EXECUTION', 'MESSAGE', 'PROCESS', 'BUNDLE', 'BUNDLE_REPOSITORY', 'CONNECTOR', 'CUSTOM_OBJECT', 'DASHBOARD', 'DEVOLUTIONS_CONFIG', 'FILE', 'FLOW', 'LDAP_CONFIG', 'MCP_USER_TOOL', 'OBJECT_TEMPLATE', 'ORGANIZATION', 'PLUGIN', 'PROJECT', 'PYTHON_MODULE', 'ROLE', 'SCHEDULE', 'SCHEDULER', 'SCHEMA', 'SETTING', 'SYNC_CONFIG', 'TAG', 'USER', 'VAULT_CONFIG', 'WEBHOOK', 'WORKSPACE', 'WRAPPER', name='recordtype')neither
record_versionOptimistic-concurrency version token. Read-only, computed on read from modified_at at full (microsecond) precision (request it by name; not in the default summary). Pass the value you last read back as expected_version on update to guard against lost updates: if the record changed meanwhile the write is rejected with HTTP 409 (StaleWrite) carrying the current record and token. Not stored; not exported.Text()neither
recurse_pending_deleteBoolean()neither
recurse_pending_restoreBoolean()neither
recurse_pending_trashBoolean()neither
remote_workspace_nameThe name of the workspace where this execution is remotely runningString(length=128)neither
repository_pathThe path to the storing repository, relative to GIT_REPOSITORY_SAVE_PATHString(length=256)neither
resolved_iconThe record's resolved display icon: the concrete subtype's own icon column (dashboard/project/bundle/object_template/workspace/user/plugin_action), or NULL when the subtype carries no icon. Read-only, computed on read (request it by name; not in the default summary); not stored, not exported. Lets the polymorphic base record expose a per-record icon (sidebar quick-access, quick-search, generic record lists) without shadowing the subtype icon columns. Named resolved_icon, not icon, for the same reason record_version is not version: a base virtual column named icon would override the subtype icon columns in their own all_columns (ancestors overwrite descendants), turning them read-only and non-exporting.Text()neither
rolesThe roles this identity has.JSONEncodedData()import only
runtime_keyOptional caller-supplied runtime-statistics bucket key (e.g. this.flow(..., runtime_key="markdown_summary")). Groups this execution's runtime samples in a GLOBAL namespace shared across every flow that passes the same key, so a reusable flow called the same way from many call sites aggregates into one clean estimate. Overrides the automatic parent-flow/call-site tiers when its bucket is hot. Inherited transparently through wrapper/script parents; not inherited across a real-flow boundary. NULL means the automatic tiers apply (default).String(length=256)export only
savepoint_retentionControls which savepoints are retained during execution (e.g. LAST, ALL)Enum('ALL', 'LAST', name='savepointretention')both
schedule_idThe associated schedule for this executionUUID(as_uuid=False)both
schedule_nameThe name of the schedule. Only used for type SCHEDULEString(length=128)neither
scheduled_forThe timestamp when the execution will continue. This field is also used for timeouts.DateTime(timezone=True)export only
schema_versionString(length=128)both
scriptThe script the execution is processing.Text()both
secret_outputsAn optional list of secret_outputs selector paths (see common.secret_paths) into this execution's output_value. At output finalization the engine wraps the selected leaf(s) into a Secret so they are masked everywhere the output is serialized (logs, output_value column, live view, records, git-sync). Set at child creation via connect()/script()/flow().run() secret_outputs=; NULL means no output masking.JSONEncodedData()both
setting_idThe ID of the setting record the execution is currently trying to acquire a lock from.UUID(as_uuid=False)export only
started_atThe timestamp when the execution started.DateTime(timezone=True)export only
statusThe status of the execution. Output only.Enum('WAITING_DEPENDENCY', 'WAITING_LOCK', 'WAITING_RECORD', 'WAITING_ENGINE', 'WAITING_RESPONSE', 'AT_ENGINE', 'ENDED_SUCCESS', 'ENDED_ERROR', 'ENDED_CANCELLED', 'PAUSED', 'SCHEDULED', name='executionstatus')export only
sync_config_idThe ID of the workspace sync_config the execution is associated with.UUID(as_uuid=False)both
top_execution_idThe ID of the top-most execution which created this execution.UUID(as_uuid=False)export only
track_in_gitShould new records automatically be tracked in git.Boolean()both
typeThe type of the execution.Enum('FLOW', 'SCRIPT', 'CONNECTION', 'SCHEDULE', 'WRAPPER', name='executiontype')both
unwrappedIf set, static wrappers which are registered on the flow are not used. Dynamically added wrappers and wrappers which are explicitly added using the wrappers field are still used.Boolean()neither
use_breakpointsA flag to control if the execution will stop at breakpoints.Boolean()both
use_only_explicit_breakpointsShould only explicitly defined breakpoints be used, this disables the step-through feature.Boolean()both
wait_record_idThe ID of the record the execution is waiting for a trash, restore, or delete operation to complete.UUID(as_uuid=False)neither
wait_record_notifyThe notify channel prefix (record_deleted, record_restored, or record_trashed) for wait_record_id.Text()neither
webhook_idThe associated webhook for this executionUUID(as_uuid=False)both
workspace_idUUID(as_uuid=False)export only
wrapper_idThe ID of the wrapper record the execution is processing.UUID(as_uuid=False)both
wrapper_nameThe name of the wrapper. Only used for type WRAPPERString(length=128)neither
wrappersA list of dynamic wrappers to apply around the execution. Provide a list of objects in the form [{"wrapper_id": ..., "params": {...}}].JSONEncodedData()neither