Skip to main content

Company

Requires read_companies access scope.

Subscribe to field-level changes on the Company 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_company_event"

topic = "Company"
actions = ["update"]
triggers = ["company.contactRoles"]

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

query = """
query company_event_payload($companyId: ID!) {
company(id: $companyId) {
id
name
contactRoles(first: 10) {
nodes {
id
}
}
}
}
"""

Field-level triggers for Company subscriptions.

All triggers require the read_companies access scope. 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 Company. They can query the full GraphQL Admin API.

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

Fires when events involve the Company 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.

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

Variables: companyId

Anchor to list-of-topics-company.contactRoles
company.contactRoles

Fires when the contactRoles field on the Company 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 contactRoles field represents the list of roles for the company contacts.

Variables: companyId, contactRolesId

Anchor to list-of-topics-company.contacts.*
company.contacts.*

Fires when the contacts field on the Company object changes.

company.contacts.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under company.contacts, 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 contacts field represents the list of contacts in the company.

Variables: companyId, contactsId

Anchor to list-of-topics-company.contacts.locale
company.contacts.locale

Fires when the locale field on the CompanyContact 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 locale field represents the company contact's locale (language).

Variables: companyId, contactsId

Anchor to list-of-topics-company.contacts.roleAssignments
company.contacts.roleAssignments

Fires when the roleAssignments field on the CompanyContact 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 roleAssignments field represents the list of roles assigned to this company contact.

Variables: companyId, contactsId, roleAssignmentsId

Anchor to list-of-topics-company.contacts.title
company.contacts.title

Fires when the title field on the CompanyContact 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 company contact's job title.

Variables: companyId, contactsId

Anchor to list-of-topics-company.externalId
company.externalId

Fires when the externalId field on the Company 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 externalId field represents a unique externally-supplied ID for the company.

Variables: companyId

Anchor to list-of-topics-company.locations.*
company.locations.*

Fires when the locations field on the Company object changes.

company.locations.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under company.locations, 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 locations field represents the list of locations in the company.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.*
company.locations.billingAddress.*

Fires when the billingAddress field on the CompanyLocation object changes.

company.locations.billingAddress.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under company.locations.billingAddress, 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 billingAddress field represents the address used as billing address for the location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.address1
company.locations.billingAddress.address1

Fires when the address1 field on the CompanyAddress 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 address1 field represents the first line of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.address2
company.locations.billingAddress.address2

Fires when the address2 field on the CompanyAddress 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 address2 field represents the second line of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.city
company.locations.billingAddress.city

Fires when the city field on the CompanyAddress 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 city field represents the name of the city, district, village, or town.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.country
company.locations.billingAddress.country

Fires when the country field on the CompanyAddress 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 country field represents the name of the country.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.countryCode
company.locations.billingAddress.countryCode

Fires when the countryCode field on the CompanyAddress 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 countryCode field represents the two-letter code for the country of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.firstName
company.locations.billingAddress.firstName

Fires when the firstName field on the CompanyAddress 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 firstName field represents the first name of the recipient.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.lastName
company.locations.billingAddress.lastName

Fires when the lastName field on the CompanyAddress 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 lastName field represents the last name of the recipient.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.phone
company.locations.billingAddress.phone

Fires when the phone field on the CompanyAddress 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 phone field represents a unique phone number for the customer.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.province
company.locations.billingAddress.province

Fires when the province field on the CompanyAddress 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 province field represents the region of the address, such as the province, state, or district.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.recipient
company.locations.billingAddress.recipient

Fires when the recipient field on the CompanyAddress 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 recipient field represents the identity of the recipient e.g.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.zip
company.locations.billingAddress.zip

Fires when the zip field on the CompanyAddress 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 zip field represents the zip or postal code of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.billingAddress.zoneCode
company.locations.billingAddress.zoneCode

Fires when the zoneCode field on the CompanyAddress 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 zoneCode field represents the alphanumeric code for the region.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.buyerExperienceConfiguration.*
company.locations.buyerExperienceConfiguration.*

Fires when the buyerExperienceConfiguration field on the CompanyLocation object changes.

company.locations.buyerExperienceConfiguration.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under company.locations.buyerExperienceConfiguration, 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 buyerExperienceConfiguration field represents the configuration for the buyer's B2B checkout.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.buyerExperienceConfiguration.checkoutToDraft
company.locations.buyerExperienceConfiguration.checkoutToDraft

Fires when the checkoutToDraft field on the BuyerExperienceConfiguration 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 checkoutToDraft field indicates whether to checkout to draft order for merchant review.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.buyerExperienceConfiguration.deposit
company.locations.buyerExperienceConfiguration.deposit

Fires when the deposit field on the BuyerExperienceConfiguration 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 deposit field represents the portion required to be paid at checkout.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.buyerExperienceConfiguration.editableShippingAddress
company.locations.buyerExperienceConfiguration.editableShippingAddress

Fires when the editableShippingAddress field on the BuyerExperienceConfiguration 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 editableShippingAddress field indicates whether to allow customers to use editable shipping addresses.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.buyerExperienceConfiguration.paymentTermsTemplate
company.locations.buyerExperienceConfiguration.paymentTermsTemplate

Fires when the paymentTermsTemplate field on the BuyerExperienceConfiguration 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.

Represents the merchant configured payment terms.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.currency
company.locations.currency

Fires when the currency field on the CompanyLocation 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 currency field represents the location's currency based on the shipping address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.externalId
company.locations.externalId

Fires when the externalId field on the CompanyLocation 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 externalId field represents a unique externally-supplied ID for the company location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.locale
company.locations.locale

Fires when the locale field on the CompanyLocation 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 locale field represents the preferred locale of the company location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.name
company.locations.name

Fires when the name field on the CompanyLocation 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 name field represents the name of the company location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.note
company.locations.note

Fires when the note field on the CompanyLocation 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 note field represents a note about the company location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.phone
company.locations.phone

Fires when the phone field on the CompanyLocation 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 phone field represents the phone number of the company location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.roleAssignments
company.locations.roleAssignments

Fires when the roleAssignments field on the CompanyLocation 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 roleAssignments field represents the list of roles assigned to the company location.

Variables: companyId, locationsId, roleAssignmentsId

Anchor to list-of-topics-company.locations.shippingAddress.*
company.locations.shippingAddress.*

Fires when the shippingAddress field on the CompanyLocation object changes.

company.locations.shippingAddress.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under company.locations.shippingAddress, 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 shippingAddress field represents the address used as shipping address for the location.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.address1
company.locations.shippingAddress.address1

Fires when the address1 field on the CompanyAddress 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 address1 field represents the first line of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.address2
company.locations.shippingAddress.address2

Fires when the address2 field on the CompanyAddress 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 address2 field represents the second line of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.city
company.locations.shippingAddress.city

Fires when the city field on the CompanyAddress 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 city field represents the name of the city, district, village, or town.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.country
company.locations.shippingAddress.country

Fires when the country field on the CompanyAddress 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 country field represents the name of the country.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.countryCode
company.locations.shippingAddress.countryCode

Fires when the countryCode field on the CompanyAddress 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 countryCode field represents the two-letter code for the country of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.firstName
company.locations.shippingAddress.firstName

Fires when the firstName field on the CompanyAddress 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 firstName field represents the first name of the recipient.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.lastName
company.locations.shippingAddress.lastName

Fires when the lastName field on the CompanyAddress 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 lastName field represents the last name of the recipient.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.phone
company.locations.shippingAddress.phone

Fires when the phone field on the CompanyAddress 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 phone field represents a unique phone number for the customer.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.province
company.locations.shippingAddress.province

Fires when the province field on the CompanyAddress 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 province field represents the region of the address, such as the province, state, or district.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.recipient
company.locations.shippingAddress.recipient

Fires when the recipient field on the CompanyAddress 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 recipient field represents the identity of the recipient e.g.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.zip
company.locations.shippingAddress.zip

Fires when the zip field on the CompanyAddress 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 zip field represents the zip or postal code of the address.

Variables: companyId, locationsId

Anchor to list-of-topics-company.locations.shippingAddress.zoneCode
company.locations.shippingAddress.zoneCode

Fires when the zoneCode field on the CompanyAddress 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 zoneCode field represents the alphanumeric code for the region.

Variables: companyId, locationsId

Anchor to list-of-topics-company.mainContact
company.mainContact

Fires when the mainContact field on the Company 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 mainContact field represents the main contact for the company.

Variables: companyId

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

Fires when the metafield field on the Company object changes.

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

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

Fires when the metafield field on the Company object changes.

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

Anchor to list-of-topics-company.metafield(namespace: String!, key: String!).value
company.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: companyId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-company.metafield(namespace: String!).value
company.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: companyId, metafieldKey, metafieldNamespace

Anchor to list-of-topics-company.name
company.name

Fires when the name field on the Company 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 name field represents the name of the company.

Variables: companyId

Anchor to list-of-topics-company.note
company.note

Fires when the note field on the Company 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 note field represents a note about the company.

Variables: companyId


Was this page helpful?