Skip to main content

Article

Requires one of the read_content or read_online_store_pages access scopes.

Subscribe to field-level changes on the Article GraphQL Admin API object. You can subscribe to create, delete, and update events, 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 a delivery on the parent topic. Calculated fields, derived fields, auto-updated timestamps, and cross-domain fields aren't available as triggers.

shopify.app.toml

[events]
api_version = "unstable"

[[events.subscription]]
handle = "my_article_event"

topic = "Article"
actions = ["update"]
triggers = ["article.author"]

uri = "https://your-app.com/events"

query = """
query article_event_payload($articleId: ID!) {
article(id: $articleId) {
id
title
handle
author {
__typename
}
}
}
"""

Field-level triggers for Article subscriptions.

All triggers require one of the read_content or read_online_store_pages access scopes. Those triggers that require additional scopes are documented where relevant. Deprecated triggers are listed last.

Subscriptions can include multiple triggers. Use the shopify-webhook-id header for deduplication when handling duplicate deliveries.

Custom queries aren't limited to Article. They can query the full GraphQL Admin API.

Anchor to list-of-topics-article.*
article.*

Fires when events involve the Article object.

The "create" and "delete" actions are only relevant within the context of this parent topic. Use fields_changed to follow or replicate impacted data after a delete event. Define a custom query to retrieve specific fields from create events.

article.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under article, including nested triggers. Use a more specific trigger to limit events to the fields you need.

Variables: articleId

Anchor to list-of-topics-article.author
article.author

Fires when the author field on the Article 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 fields_changed.

The author field represents the name of the author of the article.

Variables: articleId

Anchor to list-of-topics-article.blog
article.blog

Fires when the blog field on the Article 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 fields_changed.

The blog field represents the blog containing the article.

Variables: articleId

Anchor to list-of-topics-article.body
article.body

Fires when the body field on the Article 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 fields_changed.

The body field represents the text of the article's body, complete with HTML markup.

Variables: articleId

Anchor to list-of-topics-article.handle
article.handle

Fires when the handle field on the Article 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 fields_changed.

The handle field represents a unique, human-friendly string for the article that's automatically generated from the article's title.

Variables: articleId

Anchor to list-of-topics-article.isPublished
article.isPublished

Fires when the isPublished field on the Article 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 fields_changed.

The isPublished field indicates whether or not the article is visible.

Variables: articleId

Anchor to list-of-topics-article.metafield(namespace: String!, key: String!).*
article.metafield(namespace: String!, key: String!).*

Fires when the metafield field on the Article object changes.

article.metafield(namespace: String!, key: String!).* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under article.metafield(namespace: String!, key: String!), 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 fields_changed.

The metafield field represents a custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Variables: articleId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-article.metafield(namespace: String!).*
article.metafield(namespace: String!).*

Fires when the metafield field on the Article object changes.

article.metafield(namespace: String!).* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under article.metafield(namespace: String!), 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 fields_changed.

This subscription omits the optional argument metafield.key.

The metafield field represents a custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Variables: articleId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-article.metafield(namespace: String!, key: String!).value
article.metafield(namespace: String!, key: String!).value

Fires when the value field on the Metafield 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 fields_changed.

The value field represents the data stored in the metafield.

Variables: articleId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-article.metafield(namespace: String!).value
article.metafield(namespace: String!).value

Fires when the value field on the Metafield 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 fields_changed.

This subscription omits the optional argument metafield.key.

The value field represents the data stored in the metafield.

Variables: articleId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-article.publishedAt
article.publishedAt

Fires when the publishedAt field on the Article 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 fields_changed.

The publishedAt field represents the date and time (ISO 8601 format) when the article became or will become visible.

Variables: articleId

Anchor to list-of-topics-article.summary
article.summary

Fires when the summary field on the Article 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 fields_changed.

The summary field represents a summary of the article, which can include HTML markup.

Variables: articleId

Anchor to list-of-topics-article.tags
article.tags

Fires when the tags field on the Article 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 fields_changed.

The tags field represents a comma-separated list of tags.

Variables: articleId

Anchor to list-of-topics-article.templateSuffix
article.templateSuffix

Fires when the templateSuffix field on the Article 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 fields_changed.

The templateSuffix field represents the name of the template an article is using if it's using an alternate template.

Variables: articleId

Anchor to list-of-topics-article.title
article.title

Fires when the title field on the Article 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 fields_changed.

The title field represents the title of the article.

Variables: articleId


Was this page helpful?