Metafield Definition
read_content access scope.read_content access scope.:Subscribe to field-level changes on the MetafieldDefinition GraphQL Admin API object. You can subscribe to create, delete, and update events, and to changes to specific fields.
Each topic corresponds to a commerce resource, such as a metafield definition, 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 a delivery on the parent topic.
You can't use calculated fields, derived fields, auto-updated timestamps, or cross-domain fields as triggers.
Subscriptions can include multiple triggers. Use the shopify-webhook-id header for deduplication when handling duplicate deliveries.
You can use custom queries to query the full GraphQL Admin API, not only MetafieldDefinition.
This example queries product metafield definitions using ownerType: PRODUCT. Change that enum value for a different owner type. You can't pass $metafieldDefinitionOwnerType here because Events supplies a String, while the GraphQL Admin API requires a MetafieldOwnerType enum. The fixed lookup doesn't restrict which owner types can trigger the subscription.
shopify.app.toml
Anchor to Supported triggersSupported triggers
MetafieldDefinition subscriptions support the following field-level triggers.
Anchor to list-of-topics-metafieldDefinition.*metafieldDefinition .*
Fires when events involve the object.
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-metafieldDefinition.access.*metafieldDefinition .access .*
Fires when the access 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 access field represents the access settings associated with the metafield definition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.access.adminmetafieldDefinition .access .admin
Fires when the admin 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 admin field represents the access permitted on the Admin API.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.access.customerAccountmetafieldDefinition .access .customerAccount
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 access permitted on the Customer Account API.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.access.storefrontmetafieldDefinition .access .storefront
Fires when the storefront 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 storefront field represents the access permitted on the Storefront API.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.*metafieldDefinition .capabilities .*
Fires when the capabilities 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 capabilities field represents the capabilities of the metafield definition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.adminFilterable.*metafieldDefinition .capabilities .adminFilterable .*
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 .
Indicate whether a metafield definition is configured for filtering.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.adminFilterable.enabledmetafieldDefinition .capabilities .adminFilterable .enabled
Fires when the enabled 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 .
Indicates if the capability is enabled.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.adminFilterable.statusmetafieldDefinition .capabilities .adminFilterable .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 .
Determines the metafield definition's filter status for use in admin filtering.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.analyticsQueryable.*metafieldDefinition .capabilities .analyticsQueryable .*
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 .
Indicate whether a metafield definition can be queried in analytics.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.analyticsQueryable.enabledmetafieldDefinition .capabilities .analyticsQueryable .enabled
Fires when the enabled 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 .
Indicates if the capability is enabled.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.cartToOrderCopyable.*metafieldDefinition .capabilities .cartToOrderCopyable .*
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 capability configuration for automatically copying values from a cart metafield to the corresponding order metafield when an order is created.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.cartToOrderCopyable.enabledmetafieldDefinition .capabilities .cartToOrderCopyable .enabled
Fires when the enabled 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 .
Indicates if the capability is enabled.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.smartCollectionCondition.*metafieldDefinition .capabilities .smartCollectionCondition .*
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 .
Indicate whether a metafield definition can be used as a smart collection condition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.smartCollectionCondition.enabledmetafieldDefinition .capabilities .smartCollectionCondition .enabled
Fires when the enabled 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 .
Indicates if the capability is enabled.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.uniqueValues.*metafieldDefinition .capabilities .uniqueValues .*
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 .
Indicate whether the metafield values for a metafield definition are required to be unique.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.capabilities.uniqueValues.enabledmetafieldDefinition .capabilities .uniqueValues .enabled
Fires when the enabled 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 .
Indicates if the capability is enabled.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.constraintsmetafieldDefinition .constraints
Fires when the constraints 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 constraints field represents the constraints that determine what subtypes of resources a metafield definition applies to.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.descriptionmetafieldDefinition .description
Fires when the description 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 description field represents the description of the metafield definition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.namemetafieldDefinition .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 human-readable name of the metafield definition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.pinnedPositionmetafieldDefinition .pinnedPosition
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 position of the metafield definition in the pinned list.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.validationStatusmetafieldDefinition .validationStatus
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 validation status for the metafields that belong to the metafield definition.
Variables: , ,
Anchor to list-of-topics-metafieldDefinition.validationsmetafieldDefinition .validations
Fires when the validations 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 validations field contains a list of validation options for the metafields that belong to the metafield definition.
Variables: , ,