Remind customers that their order is on the way, with Mechanic.

Mechanic is a development platform for Shopify. :)

Remind customers that their order is on the way

Do you ship custom items, or do you have a lengthy turnaround time on your orders? Use this task to automatically re-assure customers that their order is in the queue, to be shipped as soon as possible. By default, this task sends an email 10 days (or a number you configure) after the order is paid, as long as the order remains fully paid, unfulfilled, and un-cancelled.

Runs 10 days after an order is paid. Configuration includes email subject, email body, tag to add to order, tag to add to customer, and number of days to wait.

15-day free trial – unlimited tasks

Documentation

Do you ship custom items, or do you have a lengthy turnaround time on your orders? Use this task to automatically re-assure customers that their order is in the queue, to be shipped as soon as possible. By default, this task sends an email 10 days (or a number you configure) after the order is paid, as long as the order remains fully paid, unfulfilled, and un-cancelled.

This task sends an email x days after the order is paid, as long as the order remains fully paid, unfulfilled, and un-cancelled. Optionally, configure tags to add to the order and/or customer, to be added when the email is sent.

Developer details

Mechanic is designed to benefit everybody: merchants, customers, developers, agencies, Gurus, everybody.

That’s why we make it easy to configure automation without code, why we make it easy to tweak the underlying code once tasks are installed, and why we publish it all here for everyone to learn from.

Open source
View on GitHub to contribute to this task
Events
10 days after an order is paid (shopify/orders/paid+10.days)
Options
email subject (required), email body (multiline, required), tag to add to order, tag to add to customer, number of days to wait (number, required)
Script
{% assign order = order.reload %}

{% if event.preview %}
  {% assign order = hash %}
  {% assign order["admin_graphql_api_id"] = "gid://shopify/Order/1234567890" %}
  {% assign order["cancelled_at"] = nil %}
  {% assign order["financial_status"] = "paid" %}
  {% assign order["fulfillment_status"] = nil %}
  {% assign order["customer"] = hash %}
  {% assign order["customer"]["admin_graphql_api_id"] = "gid://shopify/Customer/1234567890" %}
{% endif %}

{% if order.cancelled_at == blank and order.financial_status == "paid" %}
  {% if order.fulfillment_status == blank or order.fulfillment_status == "partial" %}
    {% action "email" %}
      {
        "to": {{ order.email | json }},
        "subject": {{ options.email_subject__required | strip | json }},
        "body": {{ options.email_body__multiline_required | strip | newline_to_br | json }},
        "reply_to": {{ shop.customer_email | json }},
        "from_display_name": {{ shop.name | json }}
      }
    {% endaction %}

    {% if options.tag_to_add_to_order != blank %}
      {% action "shopify" %}
        mutation {
          tagsAdd(
            id: {{ order.admin_graphql_api_id | json }}
            tags: {{ options.tag_to_add_to_order | json }}
          ) {
            userErrors {
              field
              message
            }
          }
        }
      {% endaction %}
    {% endif %}

    {% if options.tag_to_add_to_customer != blank %}
      {% action "shopify" %}
        mutation {
          tagsAdd(
            id: {{ order.customer.admin_graphql_api_id | json }}
            tags: {{ options.tag_to_add_to_customer | json }}
          ) {
            userErrors {
              field
              message
            }
          }
        }
      {% endaction %}
    {% endif %}
  {% endif %}
{% endif %}
Mechanic tasks are written in Liquid, which makes them easy to write and easy to modify. Learn more about our platform.
Defaults
Email subject
Don't worry – {{ order.name }} is still coming!
Email body
Hi {{ order.customer.first_name | default: "there" }},

Thank you for your order! We're writing to let you know that your order is still enqueued, and will be shipped to you as soon as it's ready. :)

Just reply to this email if you have any questions.

Thanks,
{{ shop.name }}
Number of days to wait
10