Event topics

A complete index

Mechanic supports a variety of event topics, each a classification of an event. Each task can signal its interest in specific topics by using subscriptions.

This page is a complete index of pre-defined topics, organized by the event topic's domain.

Incoming events may be selectively filtered out using event filters.

Mechanic

Actions

  • mechanic/actions/perform Occurs when an action has been performed, regardless of its success or failure. A task may subscribe to this topic to be notified when each of its actions have been performed, so that the task may then respond to the results.

Emails

  • mechanic/emails/received Occurs when Mechanic receives an email sent to the store's dedicated email address. (A store at example.myshopify.com can receive email at example@mail.usemechanic.com.)

Errors

Learn more about error handling.

  • mechanic/errors/action

    Occurs when an action fails.

  • mechanic/errors/event Occurs when an event run fails.

  • mechanic/errors/task Occurs when a task run fails.

Scheduler

  • mechanic/scheduler/10min Runs every 10 minutes.

  • mechanic/scheduler/15min Runs every 15 minutes.

  • mechanic/scheduler/20min Runs every 20 minutes. (You see where this is going.)

  • mechanic/scheduler/30min Runs every 30 minutes.

  • mechanic/scheduler/hourly Runs every hour, on the hour.

  • mechanic/scheduler/daily Runs at midnight, in the store's local timezone.

  • mechanic/scheduler/monday Runs every Monday at midnight, in the store's local timezone. (Note: this would be at the end of Sunday evening). Each named weekday is supported.

  • mechanic/scheduler/monthly Runs at midnight on the 1st of the month, in the store's local timezone.

More specific times can be achieved by subscribing to an event topic with a delay (e.g. "mechanic/scheduler/daily+5.hours"). There is no limit to the length of the delay, including delaying longer than the scheduler interval itself (e.g. "mechanic/scheduler/daily+100.hours"). To learn more, see Subscriptions.

User

Not to be confused with events in the User domain, the mechanic/user event subject describes ways that the user expresses their intent – to Mechanic – to run the task. Run links are available for these topics.

  • mechanic/user/trigger When used, adds a "Run task" button to the task itself. This button generates a new event, to which only this task will respond.

  • mechanic/user/text When used, adds a "Run task" button to the task itself. This button prompts the user with a multi-line text box. When submitted, an event is generated, to which only this task will respond. The event contains the user's input in its data, making user's input available in event.data.

The following mechanic/user topics are typically used with Shopify admin action links, and are documented there more fully.

  • mechanic/user/collection Occurs when a user sends a collection to Mechanic

  • mechanic/user/customer mechanic/user/customers Occurs when a user sends one or more customers to Mechanic

  • mechanic/user/draft_order mechanic/user/draft_orders Occurs when a user sends one or more draft orders to Mechanic

  • mechanic/user/order mechanic/user/orders Occurs when a user sends one or more orders to Mechanic

  • mechanic/user/variant mechanic/user/variants Occurs when a user sends one or more product variants to Mechanic

  • mechanic/user/product mechanic/user/products Occurs when a user sends one or more products to Mechanic

Shopify

These events are generated by Shopify webhooks, and are automatically configured for you by Mechanic. Tasks subscribing to Shopify events receive Liquid environment variables, containing data from the webhook.

Mechanic does not support Shopify event topics that are scoped to an individual app. For example, Shopify only sends product_listings/add events to the app responsible for the relevant sales channel, and only sends subscription_contracts/create events to the app responsible for the relevant customer subscriptions. This scoping renders topics like these irrelevant for apps like Mechanic.

For a description of each topic's behavior, see Shopify's documentation:

https://shopify.dev/docs/api/webhooks

  • shopify/carts/create

  • shopify/carts/update

  • shopify/channels/delete

  • shopify/checkouts/create

  • shopify/checkouts/delete

  • shopify/checkouts/update

  • shopify/collections/create

  • shopify/collections/delete

  • shopify/collections/update

  • shopify/companies/create

  • shopify/companies/delete

  • shopify/companies/update

  • shopify/company_contact_roles/assign

  • shopify/company_contact_roles/revoke

  • shopify/company_contacts/create

  • shopify/company_contacts/delete

  • shopify/company_contacts/update

  • shopify/company_locations/create

  • shopify/company_locations/delete

  • shopify/company_locations/update

  • shopify/customer/tags_added

  • shopify/customer/tags_removed

  • shopify/customer_account_settings/update

  • shopify/customer_groups/create

  • shopify/customer_groups/delete

  • shopify/customer_groups/update

  • shopify/customers/create

  • shopify/customers/delete

  • shopify/customers/disable

  • shopify/customers/enable

  • shopify/customers/merge

  • shopify/customers/update

  • shopify/customers_email_marketing_consent/update

  • shopify/customers_marketing_consent/update

  • shopify/discounts/create

  • shopify/discounts/delete

  • shopify/discounts/redeemcode_added

  • shopify/discounts/redeemcode_removed

  • shopify/discounts/update

  • shopify/disputes/create

  • shopify/disputes/update

  • shopify/domains/create

  • shopify/domains/destroy

  • shopify/domains/update

  • shopify/draft_orders/create

  • shopify/draft_orders/delete

  • shopify/draft_orders/update

  • shopify/fulfillment_events/create

  • shopify/fulfillment_events/delete

  • shopify/fulfillment_orders/cancellation_request_accepted

  • shopify/fulfillment_orders/cancellation_request_rejected

  • shopify/fulfillment_orders/cancellation_request_submitted

  • shopify/fulfillment_orders/cancelled

  • shopify/fulfillment_orders/fulfillment_request_accepted

  • shopify/fulfillment_orders/fulfillment_request_rejected

  • shopify/fulfillment_orders/fulfillment_request_submitted

  • shopify/fulfillment_orders/fulfillment_service_failed_to_complete

  • shopify/fulfillment_orders/hold_released

  • shopify/fulfillment_orders/line_items_prepared_for_local_delivery

  • shopify/fulfillment_orders/line_items_prepared_for_pickup

  • shopify/fulfillment_orders/merged

  • shopify/fulfillment_orders/moved

  • shopify/fulfillment_orders/order_routing_complete

  • shopify/fulfillment_orders/placed_on_hold

  • shopify/fulfillment_orders/rescheduled

  • shopify/fulfillment_orders/scheduled_fulfillment_order_ready

  • shopify/fulfillment_orders/split

  • shopify/fulfillments/create

  • shopify/fulfillments/update

  • shopify/inventory_items/create

  • shopify/inventory_items/delete

  • shopify/inventory_items/update

  • shopify/inventory_levels/connect

  • shopify/inventory_levels/disconnect

  • shopify/inventory_levels/update

  • shopify/locales/create

  • shopify/locales/update

  • shopify/locations/activate

  • shopify/locations/create

  • shopify/locations/deactivate

  • shopify/locations/delete

  • shopify/locations/update

  • shopify/markets/create

  • shopify/markets/delete

  • shopify/markets/update

  • shopify/metafield_definitions/create

  • shopify/metafield_definitions/delete

  • shopify/metafield_definitions/update

  • shopify/order_transactions/create

  • shopify/orders/cancelled

  • shopify/orders/create

  • shopify/orders/delete

  • shopify/orders/edited

  • shopify/orders/fulfilled

  • shopify/orders/paid

  • shopify/orders/partially_fulfilled

  • shopify/orders/risk_assessment_changed

  • shopify/orders/shopify_protect_eligibility_changed

  • shopify/orders/updated

  • shopify/payment_schedules/due

  • shopify/payment_terms/create

  • shopify/payment_terms/delete

  • shopify/payment_terms/update

  • shopify/product_feeds/create

  • shopify/product_feeds/full_sync

  • shopify/product_feeds/full_sync_finish

  • shopify/product_feeds/incremental_sync

  • shopify/product_feeds/update

  • shopify/products/create

  • shopify/products/delete

  • shopify/products/update

  • shopify/profiles/create

  • shopify/profiles/delete

  • shopify/profiles/update

  • shopify/publications/delete

  • shopify/refunds/create

  • shopify/returns/approve

  • shopify/returns/cancel

  • shopify/returns/close

  • shopify/returns/decline

  • shopify/returns/reopen

  • shopify/returns/request

  • shopify/returns/update

  • shopify/reverse_deliveries/attach_deliverable

  • shopify/reverse_fulfillment_orders/dispose

  • shopify/segments/create

  • shopify/segments/delete

  • shopify/segments/update

  • shopify/shop/update

  • shopify/tax_partners/update

  • shopify/tender_transactions/create

  • shopify/themes/create

  • shopify/themes/delete

  • shopify/themes/publish

  • shopify/themes/update

  • shopify/variants/in_stock

  • shopify/variants/out_of_stock

User

The User event domain is for custom, user-generated events, having any subject and verb (e.g. "user/foo/bar"). As with all events, a User event topic must use the standard three-part topic form, but only the "user/" prefix is mandatory.

Mechanic allows developers several ways to generate custom User events:

  • The Event action can be used with any User event topic

  • Webhooks may be configured to generate events using any User event topic

Third-party

Appstle Subscriptions

  • appstle_subscriptions/subscriptions/create — Occurs when a subscription is created.

  • appstle_subscriptions/subscriptions/activate — Occurs when a subscription is activated.

  • appstle_subscriptions/subscriptions/cancel — Occurs when a subscription is cancelled.

  • appstle_subscriptions/subscriptions/next_order_date_change — Occurs when the next order data of a subscription is changed.

  • appstle_subscriptions/subscriptions/pause — Occurs when a subscription is paused.

  • appstle_subscriptions/subscriptions/update — Occurs when a subscription is updated.

  • appstle_subscriptions/billings/create — Occurs when billing for a subscription is created.

  • appstle_subscriptions/billings/failure — Occurs when billing for a subscription fails.

  • appstle_subscriptions/billings/interval_change — Occurs when billing for a subscription changes.

Learn more about the Appstle Subscriptions integration here.

Judge.me

Locksmith

  • locksmith/sessions/ping — Occurs when a user gains access to a resource on an online store using Locksmith. Learn more here.

Report Toaster

  • report_toaster/reports/create — Occurs when a Report Toaster report has been created and is available for download. Learn more here.

  • report_toaster/reports/fail — Occurs when a requested Report Toaster report has failed. Learn more here.

Additional apps

Mechanic invites third-party app developers to develop Mechanic integrations, making it easy for developers to use our services together. If you're an app developer interested in this, email team@usemechanic.com.

Third-party services can often be connected to Mechanic using webhooks.

Last updated