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:
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
judgeme/review/created â Occurs when new Judge.me reviews are received. Requires enabling the Mechanic integration within Judge.me; see Judge.me's integration announcement.
judgeme/review/updated â Occurs when Judge.me reviews are updated. Requires enabling the Mechanic integration within Judge.me; see Judge.me's integration announcement.
Locksmith
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