New filter: graphql_arguments

To ease composition of GraphQL queries and mutations, we offer graphql_arguments. This filter formats values in the style of GraphQL arguments. These values can be used for the entirety of a GraphQL field's arguments, though it's also useful for building individual argument values.

Read more

Respond to action results with the "mechanic/actions/perform" event

It is now possible to feed the results of actions back into a task, allowing for a subsequent set of actions to be generated. By subscribing your task to the "mechanic/actions/perform" event, your task will run again for every action that that same task generates. This allows for varying behavior, based on the results of performed actions.

We anticipate common use cases to include reporting, and multi-stage Shopify API commands (notably, order editing).

Read more

Custom "from" addresses are now self-serviceable

Previously, configuring custom "from" email addresses required a fair amount of communication with customer support. Now, everything but an initial approval is fully self-serviceable, including DNS record configuration and verification.

Read more

Webhooks now support custom CORS origins

To our existing CORS support for Mechanic webhooks, we've added the ability for you to configure custom origins. This allows you to call your Mechanic webhooks from the browser, from more than just your online Shopify storefront. You may find this useful, for example, for calling Mechanic webhooks from within third-party iframes, embedded in your store.

Read more

New filter: parse_date

Use this filter to parse a date string, when its exact format is known. This filter is useful for strings that contain an ambiguous date value, like "01/01/01".

Read more

New filter: e164

We've added support for normalizing international phone numbers, with values returned in E.164 format.

Read more

Development videos!

Isaac here. :) I've started recording my development process, for many of the tasks I assemble.

Within Mechanic, you'll start to see YouTube links here and there.

To go directly to the source, you can find the playlist here, on YouTube:

YouTube: Creating Mechanic tasks

Event exports

We now support exporting JSON representations of events, including any associated task runs and action runs.

This is particularly useful for very large events, which may not be possible to display within the Mechanic app.

When such an event is too large to display, the event inspector will display an export prompt:

For all other events, exports are available at the end of the event's details:

Read more

Shopify Plus: Support for custom API passwords

In high-volume scenarios for Shopify Plus accounts, Mechanic's performance can be improved by creating a private Shopify app, having the same permissions that you've granted to Mechanic. Because this private app represents your explicit control and intent, Shopify can – at your request – grant it a higher API usage limit. By providing Mechanic with this private app's API password, you can extend this higher limit to Mechanic.

This setting is now available, for Shopify Plus accounts only.

Read more

Filter recent activity in place

Users may now modify the "Hide events that did nothing" and "Hide task runs that did nothing" options for any list of recent activity. This makes it much easier to quickly determine if events are coming through, or if a task is actually running but has simply decided not to generate any actions.

Find these options by clicking "Add filters", at top of any activity list.

The default values for these filters can be changed in the Mechanic account settings.

Read more