Skip to main content

Interface: IWorkflowExecutionStartedEventAttributes

history.v1.IWorkflowExecutionStartedEventAttributes

Properties of a WorkflowExecutionStartedEventAttributes.

Hierarchy

  • $Properties

    IWorkflowExecutionStartedEventAttributes

Properties

attempt

Optional attempt: null | number

Starting at 1, the number of times we have tried to execute this workflow

Inherited from

$Properties.attempt


completionCallbacks

Optional completionCallbacks: null | $Properties[]

Completion callbacks attached when this workflow was started.

Inherited from

$Properties.completionCallbacks


continuedExecutionRunId

Optional continuedExecutionRunId: null | string

Run id of the previous workflow which continued-as-new or retried or cron executed into this workflow.

Inherited from

$Properties.continuedExecutionRunId


continuedFailure

Optional continuedFailure: null | $Properties

WorkflowExecutionStartedEventAttributes continuedFailure

Inherited from

$Properties.continuedFailure


cronSchedule

Optional cronSchedule: null | string

If this workflow runs on a cron schedule, it will appear here

Inherited from

$Properties.cronSchedule


declinedTargetVersionUpgrade

Optional declinedTargetVersionUpgrade: null | $Properties

During a previous run of this workflow, the server may have notified the SDK that the Target Worker Deployment Version changed, but the SDK declined to upgrade (e.g., by continuing-as-new with PINNED behavior). This field records the target version that was declined.

This is a wrapper message to distinguish "never declined" (nil wrapper) from "declined an unversioned target" (non-nil wrapper with nil deployment_version).

Used internally by the server during continue-as-new and retry. Should not be read or interpreted by SDKs.

Inherited from

$Properties.declinedTargetVersionUpgrade


eagerExecutionAccepted

Optional eagerExecutionAccepted: null | boolean

A boolean indicating whether the SDK has asked to eagerly execute the first workflow task for this workflow and eager execution was accepted by the server. Only populated by server with version >= 1.29.0.

Inherited from

$Properties.eagerExecutionAccepted


firstExecutionRunId

Optional firstExecutionRunId: null | string

This is the very first runId along the chain of ContinueAsNew, Retry, Cron and Reset. Used to identify a chain.

Inherited from

$Properties.firstExecutionRunId


firstWorkflowTaskBackoff

Optional firstWorkflowTaskBackoff: null | $Properties

For a cron workflow, this contains the amount of time between when this iteration of the cron workflow was scheduled and when it should run next per its cron_schedule.

Inherited from

$Properties.firstWorkflowTaskBackoff


Optional header: null | $Properties

WorkflowExecutionStartedEventAttributes header

Inherited from

$Properties.header


identity

Optional identity: null | string

Identity of the client who requested this execution

Inherited from

$Properties.identity


inheritedAutoUpgradeInfo

Optional inheritedAutoUpgradeInfo: null | $Properties

If present, the new workflow begins with AutoUpgrade behavior. Before dispatching the first workflow task, this field is set to the deployment version on which the parent/ previous run was operating. This inheritance only happens when the task queues belong to the same deployment version. The first workflow task will then be dispatched to either this inherited deployment version, or the current deployment version of the task queue's Deployment. After the first workflow task, the effective behavior depends on worker-sent values in subsequent workflow tasks.

Inheritance rules:

  • ContinueAsNew and child workflows: inherit AutoUpgrade behavior and deployment version
  • Cron: never inherits
  • Retry: inherits only if the retried run is effectively AutoUpgrade at the time of retry, and inherited AutoUpgrade behavior when it started (i.e. it is a child of an AutoUpgrade parent or ContinueAsNew of an AutoUpgrade run, running on the same deployment as the parent/previous run)

Additional notes:

  • This field is mutually exclusive with inherited_pinned_version.
  • versioning_override, if present, overrides this field during routing decisions.
  • SDK implementations do not interact with this field and is only used internally by the server to ensure task routing correctness.

Inherited from

$Properties.inheritedAutoUpgradeInfo


inheritedBuildId

Optional inheritedBuildId: null | string

When present, this execution is assigned to the build ID of its parent or previous execution. Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]

Inherited from

$Properties.inheritedBuildId


inheritedPinnedVersion

Optional inheritedPinnedVersion: null | $Properties

If present, the new workflow should start on this version with pinned base behavior. Child of pinned parent will inherit the parent's version if the Child's Task Queue belongs to that version.

A new run initiated by workflow ContinueAsNew of pinned run, will inherit the previous run's version if the new run's Task Queue belongs to that version.

A new run initiated by workflow Cron will never inherit.

A new run initiated by workflow Retry will only inherit if the retried run is effectively pinned at the time of retry, and the retried run inherited a pinned version when it started (ie. it is a child of a pinned parent, or a CaN of a pinned run, and is running on a Task Queue in the inherited version).

Pinned override is inherited if Task Queue of new run is compatible with the override version. Override is inherited separately and takes precedence over inherited base version.

Note: This field is mutually exclusive with inherited_auto_upgrade_info. Additionaly, versioning_override, if present, overrides this field during routing decisions.

Inherited from

$Properties.inheritedPinnedVersion


initiator

Optional initiator: null | ContinueAsNewInitiator

WorkflowExecutionStartedEventAttributes initiator

Inherited from

$Properties.initiator


input

Optional input: null | $Properties

SDK will deserialize this and provide it as arguments to the workflow function

Inherited from

$Properties.input


lastCompletionResult

Optional lastCompletionResult: null | $Properties

WorkflowExecutionStartedEventAttributes lastCompletionResult

Inherited from

$Properties.lastCompletionResult


memo

Optional memo: null | $Properties

WorkflowExecutionStartedEventAttributes memo

Inherited from

$Properties.memo


originalExecutionRunId

Optional originalExecutionRunId: null | string

This is the run id when the WorkflowExecutionStarted event was written. A workflow reset changes the execution run_id, but preserves this field.

Inherited from

$Properties.originalExecutionRunId


parentInitiatedEventId

Optional parentInitiatedEventId: null | Long

EventID of the child execution initiated event in parent workflow

Inherited from

$Properties.parentInitiatedEventId


parentInitiatedEventVersion

Optional parentInitiatedEventVersion: null | Long

Version of the child execution initiated event in parent workflow It should be used together with parent_initiated_event_id to identify a child initiated event for global namespace

Inherited from

$Properties.parentInitiatedEventVersion


parentPinnedWorkerDeploymentVersion

Optional parentPinnedWorkerDeploymentVersion: null | string

When present, it means this is a child workflow of a parent that is Pinned to this Worker Deployment Version. In this case, child workflow will start as Pinned to this Version instead of starting on the Current Version of its Task Queue. This is set only if the child workflow is starting on a Task Queue belonging to the same Worker Deployment Version. Deprecated. Use parent_versioning_info.

Inherited from

$Properties.parentPinnedWorkerDeploymentVersion


parentWorkflowExecution

Optional parentWorkflowExecution: null | $Properties

Contains information about parent workflow execution that initiated the child workflow these attributes belong to. If the workflow these attributes belong to is not a child workflow of any other execution, this field will not be populated.

Inherited from

$Properties.parentWorkflowExecution


parentWorkflowNamespace

Optional parentWorkflowNamespace: null | string

If this workflow is a child, the namespace our parent lives in. SDKs and UI tools should use parent_workflow_namespace field but server must use parent_workflow_namespace_id only.

Inherited from

$Properties.parentWorkflowNamespace


parentWorkflowNamespaceId

Optional parentWorkflowNamespaceId: null | string

WorkflowExecutionStartedEventAttributes parentWorkflowNamespaceId

Inherited from

$Properties.parentWorkflowNamespaceId


prevAutoResetPoints

Optional prevAutoResetPoints: null | $Properties

WorkflowExecutionStartedEventAttributes prevAutoResetPoints

Inherited from

$Properties.prevAutoResetPoints


priority

Optional priority: null | $Properties

Priority metadata

Inherited from

$Properties.priority


retryPolicy

Optional retryPolicy: null | $Properties

WorkflowExecutionStartedEventAttributes retryPolicy

Inherited from

$Properties.retryPolicy


rootWorkflowExecution

Optional rootWorkflowExecution: null | $Properties

Contains information about the root workflow execution. The root workflow execution is defined as follows:

  1. A workflow without parent workflow is its own root workflow.
  2. A workflow that has a parent workflow has the same root workflow as its parent workflow. When the workflow is its own root workflow, then root_workflow_execution is nil. Note: workflows continued as new or reseted may or may not have parents, check examples below.

Examples: Scenario 1: Workflow W1 starts child workflow W2, and W2 starts child workflow W3.

  • The root workflow of all three workflows is W1.
  • W1 has root_workflow_execution set to nil.
  • W2 and W3 have root_workflow_execution set to W1. Scenario 2: Workflow W1 starts child workflow W2, and W2 continued as new W3.
  • The root workflow of all three workflows is W1.
  • W1 has root_workflow_execution set to nil.
  • W2 and W3 have root_workflow_execution set to W1. Scenario 3: Workflow W1 continued as new W2.
  • The root workflow of W1 is W1 and the root workflow of W2 is W2.
  • W1 and W2 have root_workflow_execution set to nil. Scenario 4: Workflow W1 starts child workflow W2, and W2 is reseted, creating W3
  • The root workflow of all three workflows is W1.
  • W1 has root_workflow_execution set to nil.
  • W2 and W3 have root_workflow_execution set to W1. Scenario 5: Workflow W1 is reseted, creating W2.
  • The root workflow of W1 is W1 and the root workflow of W2 is W2.
  • W1 and W2 have root_workflow_execution set to nil.

Inherited from

$Properties.rootWorkflowExecution


searchAttributes

Optional searchAttributes: null | $Properties

WorkflowExecutionStartedEventAttributes searchAttributes

Inherited from

$Properties.searchAttributes


sourceVersionStamp

Optional sourceVersionStamp: null | $Properties

If this workflow intends to use anything other than the current overall default version for the queue, then we include it here. Deprecated. [cleanup-experimental-wv]

Inherited from

$Properties.sourceVersionStamp


taskQueue

Optional taskQueue: null | $Properties

WorkflowExecutionStartedEventAttributes taskQueue

Inherited from

$Properties.taskQueue


timeSkippingConfig

Optional timeSkippingConfig: null | $Properties

Initial time-skipping configuration for this workflow execution, recorded at start time. This may have been set explicitly via the start workflow request, or propagated from a parent/previous execution.

The configuration may be updated after start via UpdateWorkflowExecutionOptions, which will be reflected in the WorkflowExecutionOptionsUpdatedEvent.

Inherited from

$Properties.timeSkippingConfig


timeSkippingStatePropagation

Optional timeSkippingStatePropagation: null | $Properties

The time-skipping state propagated from a previous run of this workflow. This can be nil if no time skipping has occurred or there is no previous run.

Inherited from

$Properties.timeSkippingStatePropagation


versioningOverride

Optional versioningOverride: null | $Properties

Versioning override applied to this workflow when it was started. Children, crons, retries, and continue-as-new will inherit source run's override if pinned and if the new workflow's Task Queue belongs to the override version.

Inherited from

$Properties.versioningOverride


workflowExecutionExpirationTime

Optional workflowExecutionExpirationTime: null | $Properties

The absolute time at which the workflow will be timed out. This is passed without change to the next run/retry of a workflow.

Inherited from

$Properties.workflowExecutionExpirationTime


workflowExecutionTimeout

Optional workflowExecutionTimeout: null | $Properties

Total workflow execution timeout including retries and continue as new.

Inherited from

$Properties.workflowExecutionTimeout


workflowId

Optional workflowId: null | string

This field is new in 1.21.

Inherited from

$Properties.workflowId


workflowRunTimeout

Optional workflowRunTimeout: null | $Properties

Timeout of a single workflow run.

Inherited from

$Properties.workflowRunTimeout


workflowTaskTimeout

Optional workflowTaskTimeout: null | $Properties

Timeout of a single workflow task.

Inherited from

$Properties.workflowTaskTimeout


workflowType

Optional workflowType: null | $Properties

WorkflowExecutionStartedEventAttributes workflowType

Inherited from

$Properties.workflowType