Shopify integration

Connect your Shopify store and RelayOne can message your customers on WhatsApp about what happens there: an order is placed, it ships, it is delivered, a shopper leaves a checkout, or a cash-on-delivery buyer needs to confirm. Customers from your store also appear in Contacts, so these messages land in the right conversation.

The integration is built on Automations: Shopify events are triggers, and the messages are ordinary steps you can edit.

Connect your store

  1. Open Settings → Integrations.
  2. In the Shopify card, enter your store address (your-store.myshopify.com, or the link to its Shopify admin) and click Connect Shopify.
  3. Shopify asks you to approve RelayOne's access. Approve every permission it lists; RelayOne needs all of them, and the connection fails with a clear message if one is missing.
  4. You return to Settings → Integrations with the store shown as Connected.

RelayOne asks Shopify for read access to orders, customers, checkouts and fulfillments, and write access to orders (used only by the cash-on-delivery step). The card lists the permissions granted.

A store can be connected to one RelayOne account at a time. If it is already connected to another account, the connection stops with a message to disconnect it there first.

One-click recipes

Once a store is connected, Settings → Integrations shows a One-click recipes panel. Each recipe creates the automations for one common message, ready to review:

RecipeWhat it creates
Order confirmationA Shopify: Order Created automation that sends a template.
Shipping updateA Shopify: Order Shipped automation that sends a template, plus an optional Order Delivered follow-up.
Abandoned cartA Shopify: Abandoned Checkout automation (default delay 30 minutes) that sends a template with the recovery link, plus an optional second reminder about 23 hours later if the checkout is still unfinished.
COD confirmationA message with Confirm order and Cancel order buttons, and two automations that act on the tap. See below.

For each recipe you pick one of your approved message templates and check which order detail goes into each template variable; the panel pre-fills sensible values. Order and shipping messages should use a Utility template; the abandoned-cart message is promotional, so it needs a Marketing template.

Recipes are only a starting point. You can also build your own automations from the Shopify triggers listed in Automation triggers.

Who gets messaged

Messages go to the phone number on the Shopify order or checkout. RelayOne converts it to international format using the customer's country, then the store's country, and skips the event if the number can't be made valid. Orders from customers with no phone number do not produce messages.

For each such customer RelayOne creates a contact (source Shopify) tagged shopify-customer, or finds the existing contact with that number. It only fills in a name or email that is empty; it never overwrites what your team has typed.

RelayOne records what Shopify says about each customer's marketing consent, but it treats it carefully:

  • Abandoned-cart messages are consent-only. They are sent only to a shopper whose checkout shows Shopify marketing consent. No consent, no message.
  • Order, shipping and delivery messages are transactional and do not need marketing consent.
  • A RelayOne opt-out always wins. Shopify consent never clears an opt-out, and "unsubscribed" in Shopify does not create one. If a customer has opted out in RelayOne (for example by sending STOP), Shopify-triggered messages to that number are not sent, whatever the template category. See Campaigns for how opt-outs work.
  • Abandoned-cart messages are also skipped when the shopper has since placed an order, or completes the checkout before the message goes out.

Cash-on-delivery confirmation

For cash-on-delivery (COD) orders, the COD confirmation recipe closes the loop in WhatsApp:

  1. A Shopify: Cash-on-Delivery Order automation sends your template. The template needs two quick-reply buttons, such as Confirm order and Cancel order. You tell the recipe which button is which.
  2. Each button carries a hidden payload with the order, for example cod_confirm:<order id> or cod_cancel:<order id>.
  3. When the customer taps Confirm order, a Button / List Reply automation runs an Update Shopify Order step that adds the tag cod-confirmed to the order in Shopify, and optionally sends a thank-you.
  4. When they tap Cancel order, a second automation cancels the order in Shopify (reason: customer) and optionally says so. Stock is returned to inventory; no refund is issued and no email is sent by RelayOne.

The steps are safe to repeat: tagging an order that has the tag, or cancelling one already cancelled, counts as success. RelayOne only acts on an order that belongs to your account and to the customer who tapped.

If Shopify refuses the update because access was revoked or a permission is missing, the automation run fails with a message asking you to reconnect the store; temporary Shopify errors say to try again later (a repeat tap runs the automation again).

What disconnecting does

Click Disconnect on the Shopify card and confirm. This:

  • removes the link between RelayOne and the store and uninstalls the RelayOne app from your Shopify store;
  • destroys the stored access token, so RelayOne can no longer read or change anything in the store;
  • stops Shopify-triggered messages: order, shipping, COD and abandoned-cart automations stay in Automations but nothing fires for the store.

It does not delete your contacts, conversations, messages or automations. If RelayOne could not uninstall the app (for example Shopify was unreachable), the store is still disconnected from RelayOne, and the card tells you to remove the app under Settings → Apps and sales channels in your Shopify admin.

If you uninstall RelayOne from Shopify

Removing the app in your Shopify admin has the same effect from the other side: RelayOne is told, marks the connection disconnected and destroys the token. Your RelayOne data stays. Reconnect later from Settings → Integrations.

About 48 hours after an uninstall, Shopify asks apps to erase the store's data. RelayOne then deletes only the store connection record and the abandoned-checkout records it kept for it. Your contacts, conversations and messages are yours and are never touched by these requests. Shopify's customer data and customer erasure requests are logged for the RelayOne team to answer.

Troubleshooting

What you seeWhyWhat to do
"Your plan doesn't include integrations"The Integrations feature is not on your planUpgrade in Billing
"Relay needs every permission it asks for"A permission was left out in ShopifyConnect again and approve all of them
"This store is already connected to another Relay account"The store is linked elsewhereDisconnect it there first
Card shows Needs reconnectingShopify revoked or refused accessClick Reconnect
An automation never firesIt is still switched off, the customer has no valid phone, they opted out, or (abandoned cart) they have no Shopify marketing consentCheck the automation is on and the run log
A template can't be sentThe template isn't approved for the number the automation sends fromPick an approved template