Fulfillment Order
read_assigned_fulfillment_orders, read_marketplace_fulfillment_orders, read_merchant_managed_fulfillment_orders, or read_third_party_fulfillment_orders access scopes.Subscribe to field-level change events on the FulfillmentOrder GraphQL Admin API object. You can subscribe to created, deleted, and updated resources, as well as changes to specific fields.
Each topic corresponds to a commerce resource that can exist independently within its domain. Child entities that depend on a parent within the same domain don't have their own topic. Instead, changes to child entities trigger the parent's webhook. Calculated fields, derived fields, auto-updated timestamps, and cross-domain fields aren't available as triggers.
shopify.app.toml
Anchor to Supported triggersSupported triggers
Field-level triggers for FulfillmentOrder events.
All triggers require one of the read_assigned_fulfillment_orders, read_marketplace_fulfillment_orders, read_merchant_managed_fulfillment_orders, or read_third_party_fulfillment_orders access scopes. Those triggers that require additional scopes are documented where relevant. Deprecated triggers are listed last.
Subscriptions can be made up of multiple triggers. Each delivery carries a unique composite key in the shopify-webhook-id header. Use this value to detect and ignore duplicate deliveries.
Custom queries aren't limited to FulfillmentOrder. You can query other GraphQL Admin API objects as needed for your use case.
Anchor to list-of-topics-fulfillmentOrder.*fulfillmentOrder .*
Fires when events involve the object, which represents either an item or a group of items in an Order that are expected to be fulfilled from the same location.
The "create" and "delete" actions are only relevant within the context of this parent topic. Use to follow or replicate impacted data after a delete event. Define a custom query to retrieve specific fields from create events.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.*fulfillmentOrder .assignedLocation .*
Fires when the field on the object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the fulfillment order's assigned location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.address1fulfillmentOrder .assignedLocation .address1
Fires when the address1 field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The address1 field represents the first line of the address for the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.address2fulfillmentOrder .assignedLocation .address2
Fires when the address2 field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The address2 field represents the second line of the address for the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.cityfulfillmentOrder .assignedLocation .city
Fires when the city field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The city field represents the city of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.countryCodefulfillmentOrder .assignedLocation .countryCode
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the two-letter country code of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.namefulfillmentOrder .assignedLocation .name
Fires when the name field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The name field represents the name of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.phonefulfillmentOrder .assignedLocation .phone
Fires when the phone field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The phone field represents the phone number of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.provincefulfillmentOrder .assignedLocation .province
Fires when the province field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The province field represents the province of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.assignedLocation.zipfulfillmentOrder .assignedLocation .zip
Fires when the zip field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The zip field represents the ZIP code of the location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.deliveryMethod.*fulfillmentOrder .deliveryMethod .*
Fires when the field on the object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
Delivery method of this fulfillment order.
Variables:
Anchor to list-of-topics-fulfillmentOrder.deliveryMethod.brandedPromisefulfillmentOrder .deliveryMethod .brandedPromise
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the branded promise that was presented to the buyer during checkout.
Variables:
Anchor to list-of-topics-fulfillmentOrder.deliveryMethod.maxDeliveryDateTimefulfillmentOrder .deliveryMethod .maxDeliveryDateTime
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the latest delivery date and time when the fulfillment is expected to arrive at the buyer's location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.deliveryMethod.minDeliveryDateTimefulfillmentOrder .deliveryMethod .minDeliveryDateTime
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the earliest delivery date and time when the fulfillment is expected to arrive at the buyer's location.
Variables:
Anchor to list-of-topics-fulfillmentOrder.deliveryMethod.sourceReferencefulfillmentOrder .deliveryMethod .sourceReference
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
Source reference is promise provider specific data associated with delivery promise.
Variables:
Anchor to list-of-topics-fulfillmentOrder.destinationfulfillmentOrder .destination
Fires when the destination field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The destination field represents the destination where the items should be sent.
Variables:
Anchor to list-of-topics-fulfillmentOrder.fulfillAtfulfillmentOrder .fulfillAt
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the date and time at which the fulfillment order will be fulfillable.
Variables:
Anchor to list-of-topics-fulfillmentOrder.fulfillByfulfillmentOrder .fulfillBy
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the latest date and time by which all items in the fulfillment order need to be fulfilled.
Variables:
Anchor to list-of-topics-fulfillmentOrder.fulfillmentHoldsfulfillmentOrder .fulfillmentHolds
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the fulfillment holds applied on the fulfillment order.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.*fulfillmentOrder .fulfillments .*
Fires when the fulfillments field on the object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The fulfillments field contains a list of fulfillments for the fulfillment order.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.estimatedDeliveryAtfulfillmentOrder .fulfillments .estimatedDeliveryAt
Fires when the field on the Fulfillment object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the estimated date that this fulfillment will arrive.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.statusfulfillmentOrder .fulfillments .status
Fires when the status field on the Fulfillment object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The status field represents the status of the fulfillment.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.trackingInfo.*fulfillmentOrder .fulfillments .trackingInfo .*
Fires when the field on the Fulfillment object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
Tracking information associated with the fulfillment, such as the tracking company, tracking number, and tracking URL.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.trackingInfo.companyfulfillmentOrder .fulfillments .trackingInfo .company
Fires when the company field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The company field represents the name of the tracking company.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.trackingInfo.numberfulfillmentOrder .fulfillments .trackingInfo .number
Fires when the number field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The number field represents the tracking number of the fulfillment.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.fulfillments.trackingInfo.urlfulfillmentOrder .fulfillments .trackingInfo .url
Fires when the url field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The url field represents the URLs to track the fulfillment.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.lineItems.*fulfillmentOrder .lineItems .*
Fires when the field on the object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field contains a list of the fulfillment order's line items.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.lineItems.remainingQuantityfulfillmentOrder .lineItems .remainingQuantity
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the number of units remaining to be fulfilled.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.lineItems.totalQuantityfulfillmentOrder .lineItems .totalQuantity
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the total number of units to be fulfilled.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.merchantRequestsfulfillmentOrder .merchantRequests
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field contains a list of requests sent by the merchant or an order management app to the fulfillment service for the fulfillment order.
Variables: ,
Anchor to list-of-topics-fulfillmentOrder.requestStatusfulfillmentOrder .requestStatus
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the request status of the fulfillment order.
Variables:
Anchor to list-of-topics-fulfillmentOrder.statusfulfillmentOrder .status
Fires when the status field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The status field represents the status of the fulfillment order.
Variables: