You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
Shopify\Webhooks\Topics is missing 38 topics from the WebhookSubscriptionTopic enum (through 2026-01/2026-07) #470
Shopify\Webhooks\Topics currently exposes 188 constants. The Admin GraphQL WebhookSubscriptionTopic enum (API version 2026-07) defines 32 topics that have
no corresponding constant in the class.
Topics lists these topics as constants, so apps can subscribe with Topics::METAFIELD_DEFINITIONS_CREATE rather than a raw string.
Actual behavior
The constants don't exist, so the raw string has to be passed to Registry::register() / Registry::addHandler(). This still works — the docs
note the class "may not be completely up to date at all times" — but it loses
the discoverability and typo-safety the class exists to provide.
The enum additionally contains FINANCE_APP_STAFF_MEMBER_{DELETE,GRANT,REVOKE,UPDATE}, FINANCE_KYC_INFORMATION_UPDATE and RETURNS_PROCESS, which are not listed on the
webhooks topic page. Happy to include or omit those depending on maintainer preference.
changed the title [-]Shopify\Webhooks\Topics is missing 32 topics from the current WebhookSubscriptionTopic enum[/-][+]Shopify\Webhooks\Topics is missing 38 topics from the WebhookSubscriptionTopic enum (through 2026-01/2026-07)[/+]on Sep 1, 2026
Thanks for contributing! This package is deprecated and we're archiving this repo, so we're closing all open issues and PRs. Please use shopify-app-php instead, and open new issues there. More context: Rethinking support for PHP/Python packages
Issue summary
Shopify\Webhooks\Topicscurrently exposes 188 constants. The Admin GraphQLWebhookSubscriptionTopicenum (API version 2026-07) defines 32 topics that haveno corresponding constant in the class.
Missing topics:
APP_SCOPES_UPDATECUSTOMERS_PURCHASING_SUMMARYCUSTOMERS_WHATS_APP_MARKETING_CONSENT_UPDATECUSTOMER_JOINED_SEGMENTCUSTOMER_LEFT_SEGMENTDELIVERY_PROMISE_SETTINGS_UPDATEFULFILLMENT_HOLDS_ADDEDFULFILLMENT_HOLDS_RELEASEDFULFILLMENT_ORDERS_HOLD_RELEASEDFULFILLMENT_ORDERS_MANUALLY_REPORTED_PROGRESS_STOPPEDFULFILLMENT_ORDERS_PROGRESS_REPORTEDINVENTORY_SHIPMENTS_ADD_ITEMSINVENTORY_SHIPMENTS_CREATEINVENTORY_SHIPMENTS_DELETEINVENTORY_SHIPMENTS_MARK_IN_TRANSITINVENTORY_SHIPMENTS_RECEIVE_ITEMSINVENTORY_SHIPMENTS_REMOVE_ITEMSINVENTORY_SHIPMENTS_UPDATE_ITEM_QUANTITIESINVENTORY_SHIPMENTS_UPDATE_TRACKINGINVENTORY_TRANSFERS_ADD_ITEMSINVENTORY_TRANSFERS_CANCELINVENTORY_TRANSFERS_COMPLETEINVENTORY_TRANSFERS_READY_TO_SHIPINVENTORY_TRANSFERS_REMOVE_ITEMSINVENTORY_TRANSFERS_UPDATEDINVENTORY_TRANSFERS_UPDATE_ITEM_QUANTITIESLOCALES_DESTROYMARKETS_BACKUP_REGION_UPDATEMETAFIELD_DEFINITIONS_CREATEMETAFIELD_DEFINITIONS_DELETEMETAFIELD_DEFINITIONS_UPDATEORDERS_LINK_REQUESTEDExpected behavior
Topicslists these topics as constants, so apps can subscribe withTopics::METAFIELD_DEFINITIONS_CREATErather than a raw string.Actual behavior
The constants don't exist, so the raw string has to be passed to
Registry::register()/Registry::addHandler(). This still works — the docsnote the class "may not be completely up to date at all times" — but it loses
the discoverability and typo-safety the class exists to provide.
Source
Notes
The enum additionally contains
FINANCE_APP_STAFF_MEMBER_{DELETE,GRANT,REVOKE,UPDATE},FINANCE_KYC_INFORMATION_UPDATEandRETURNS_PROCESS, which are not listed on thewebhooks topic page. Happy to include or omit those depending on maintainer preference.