Skip to main content
object

Requires write_automations access scope. Also: The app must have write access to automations and act on behalf of a user.

A version of an automation that runs tasks when a trigger event occurs. An automation can have a saved draft while another version is active. All versions share the same ID, name, and tags; configuration, note, and versionState describe the selected version.

Use automationWorkflowCreate to create a draft and automationWorkflowUpdate to edit it. Compare activeVersion with version to check whether this version is running.

•String

The version of the automation that's currently active, or null when the automation is inactive. This version is active only when it matches version.

•String

The Admin API version used by this automation version.

•JSON!
non-null

The steps, links, and custom fields (root.patched_fields) for this version, encoded as JSON. Includes __metadata.version for the configuration format. Name, tags, and note are returned as separate fields. Use this value as the replacement configuration in automationWorkflowUpdate. See the workflow configuration JSON Schema.

•DateTime!
non-null

The date and time when the automation was created.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The automation name, shared by all versions.

•String

The note stored on this version. Null if no note is set.

•[String!]!
non-null

The automation tags, shared by all versions. An empty list if none are set.

•DateTime!
non-null

The date and time when the automation was last updated.

•[AutomationWorkflowValidationError!]!
non-null

Validation errors for this version, excluding resource availability errors. These errors don't prevent saving or reading the automation. An empty list doesn't guarantee that activation will succeed.

Show fields
•String!
non-null

The identifier of this automation version. Draft edits and changes to name, tags, or note keep this identifier.

•AutomationWorkflowVersionState!
non-null

The definition state of this automation version, independent of activation.

Show enum values

Was this section helpful?

•query

Returns a saved automation version. Without a version, returns the latest draft or the most recently published version if no draft exists.

Show fields

Arguments

•ID!
required

The ID of the automation to return.

•String

The automation version to return. Omit or use null to return the latest draft, or the most recently published version if no draft exists.


•query

Returns automations visible in the Flow editor, most recently updated first. Each result is the latest draft, or the most recently published version if no draft exists.

Show fields

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Show filters
Anchor to default
•string

Filter by automation name.

Example:

  • my automation
•string

Filter by automation name.

Example:

  • name:"my automation"
•string

Filter by activation status. Applies to the automation, including automations with a newer draft.

Valid values:

  • ACTIVE
  • INACTIVE

Example:

  • status:ACTIVE
Anchor to trigger
•string

Filter by trigger task ID.

Example:

  • trigger:"shopify::admin::order_created"
•Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?

•mutation

Activates a specific automation version. Activating the currently active version succeeds without making changes, even when a newer draft exists.

Show payload

Arguments

•ID!
required

The ID of the automation to activate.

•String!
required

The version to activate. Must be the latest draft or the most recently published version. Activating the published version keeps any newer draft.


•mutation

Creates a draft automation from a JSON configuration.

Input errors are returned in userErrors and nothing is saved. A saved draft can still have validationErrors, such as a missing action or an incomplete configuration field; fix those before activating.

Show payload

Arguments

•JSON!
required

The JSON configuration used to create the automation, including __metadata.version set to 0.1 and root. Define its logic in root.steps, root.links, and root.patched_fields. Supply name, tags, and note as separate arguments; root.workflow_name, root.tags, and root.note are rejected. See the workflow configuration JSON Schema.

•String!
required

The automation name, shared by all versions. Null and blank names are rejected.

•String

The note for the new draft, separate from configuration and step notes. Omit or use null to leave it unset.

•[String!]

The automation tags, shared by all versions. Omit or use null to create the automation with no tags.


•mutation

Deactivates a specific automation version and cancels its runs. An action already executing may still finish.

Show payload

Arguments

•ID!
required

The ID of the automation to deactivate.

•String!
required

The version to deactivate. Deactivating an inactive version succeeds without making changes.


•mutation

Updates an automation's name, tags, note, or configuration. Supply at least one editable field. Omitted fields keep their existing values.

Replacing the configuration edits the latest draft in place, or creates a draft if none exists. Any active version continues running with its existing configuration. Changes to the name, tags, or note don't create a draft.

Input errors are returned in userErrors and nothing is saved. A saved version can still have validationErrors; fix those before activating it.

Show payload

Arguments

•JSON

The full replacement JSON configuration, including __metadata.version and root. Replaces the steps, links, and custom fields (root.patched_fields). Supply name, tags, and note as separate arguments; root.workflow_name, root.tags, and root.note are rejected. Omit to leave the configuration unchanged. Null is rejected. See the workflow configuration JSON Schema.

•ID!
required

The ID of the automation to update.

•String

The new automation name, shared by all versions. Omit to leave it unchanged. Null and blank names are rejected.

•String

The note for the version being updated. Omit to leave it unchanged; use null to clear it.

•[String!]

The replacement tags, shared by all versions. Omit or use null to leave them unchanged; use an empty list to clear them.

•String!
required

The version this edit is based on. Use the latest draft, or the most recently published version when no draft exists. A different version returns OUTDATED_WORKFLOW. Edits within the same draft and changes to name, tags, or note keep this identifier, so the check can't detect those edits.



Was this section helpful?

•interface

Was this section helpful?