Shopify · Arazzo Workflow

Shopify Tag an Order by Fulfillment Status

Version 1.0.0

Read an order and branch on its fulfillment status to apply the appropriate tag.

1 workflow 1 source API 1 provider
View Spec View on GitHub CommerceE-CommercePaymentsRetailShopping CartT1ArazzoWorkflows

Provider

shopify

Workflows

tag-order-by-fulfillment-status
Branch on an order's fulfillment status and apply the matching tag.
Reads the order and, depending on whether it is fulfilled, applies either a shipped tag or an awaiting-shipment tag.
3 steps inputs: awaitingTag, orderId, shippedTag outputs: awaitingTag, fulfillmentStatus, orderId, shippedTag
1
getOrder
Read the order and branch on its fulfillment status to choose which tag to apply.
2
tagShipped
Tag the fulfilled order as shipped.
3
tagAwaiting
Tag the unfulfilled order as awaiting shipment.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Shopify Tag an Order by Fulfillment Status
  summary: Read an order and branch on its fulfillment status to apply the appropriate tag.
  description: >-
    Routes an order into an operational queue based on whether it has shipped.
    The workflow reads the order and branches on its fulfillment status: a
    fulfilled order is tagged as shipped, while an unfulfilled order is tagged as
    awaiting shipment. Each branch updates the order with the matching tag so
    downstream tooling can filter on it. Every step spells out its request inline
    so the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-520.40
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-520.40
      capability_name: Order Fulfilment Management
      spec: shopify-orders-api-openapi.yml
      confidence: 0.78
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: ordersApi
  url: ../openapi/shopify-orders-api-openapi.yml
  type: openapi
workflows:
- workflowId: tag-order-by-fulfillment-status
  summary: Branch on an order's fulfillment status and apply the matching tag.
  description: >-
    Reads the order and, depending on whether it is fulfilled, applies either a
    shipped tag or an awaiting-shipment tag.
  inputs:
    type: object
    required:
    - orderId
    properties:
      orderId:
        type: integer
        description: The ID of the order to evaluate and tag.
      shippedTag:
        type: string
        description: Tag to apply when the order is fulfilled.
        default: shipped
      awaitingTag:
        type: string
        description: Tag to apply when the order is not yet fulfilled.
        default: awaiting-shipment
  steps:
  - stepId: getOrder
    description: >-
      Read the order and branch on its fulfillment status to choose which tag to
      apply.
    operationId: getOrder
    parameters:
    - name: order_id
      in: path
      value: $inputs.orderId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      orderId: $response.body#/order/id
      fulfillmentStatus: $response.body#/order/fulfillment_status
    onSuccess:
    - name: isFulfilled
      type: goto
      stepId: tagShipped
      criteria:
      - context: $response.body
        condition: $.order.fulfillment_status == "fulfilled"
        type: jsonpath
    - name: notFulfilled
      type: goto
      stepId: tagAwaiting
      criteria:
      - context: $response.body
        condition: $.order.fulfillment_status != "fulfilled"
        type: jsonpath
  - stepId: tagShipped
    description: Tag the fulfilled order as shipped.
    operationId: updateOrder
    parameters:
    - name: order_id
      in: path
      value: $steps.getOrder.outputs.orderId
    requestBody:
      contentType: application/json
      payload:
        order:
          tags: $inputs.shippedTag
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appliedTag: $response.body#/order/tags
    onSuccess:
    - name: done
      type: end
  - stepId: tagAwaiting
    description: Tag the unfulfilled order as awaiting shipment.
    operationId: updateOrder
    parameters:
    - name: order_id
      in: path
      value: $steps.getOrder.outputs.orderId
    requestBody:
      contentType: application/json
      payload:
        order:
          tags: $inputs.awaitingTag
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appliedTag: $response.body#/order/tags
  outputs:
    orderId: $steps.getOrder.outputs.orderId
    fulfillmentStatus: $steps.getOrder.outputs.fulfillmentStatus
    shippedTag: $steps.tagShipped.outputs.appliedTag
    awaitingTag: $steps.tagAwaiting.outputs.appliedTag

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/shopify-tag-order-by-fulfillment-status-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.