Skip to content

Custom Flow

The custom flow lets you send a WhatsApp message from outside WhatPro’s built-in triggers. Instead of reacting to a fixed Shopify event, it exposes an endpoint that your own automation — most often the Shopify Flow app — calls when you decide a message should go out. You supply the recipient’s phone number and any variables to fill into the message.

This is the right flow when none of the event-driven flows fit: a custom segment, a manual broadcast condition, an internal system, or a Shopify Flow workflow with your own logic.

The custom flow is triggered by an HTTP request, in one of two ways:

  • Shopify Flow action — Add WhatPro’s “Send WhatsApp message” action to a Shopify Flow workflow. Shopify Flow calls WhatPro every time the action fires, and the request is authenticated with a signature so only genuine Shopify Flow runs are accepted.
  • Direct trigger token — Each custom flow has its own trigger token, generated when you save the flow. Any system holding the token can POST to the flow’s trigger endpoint to send a message.

Both paths take a phone number (normalized automatically) and a set of variables sent as JSON. Sends are rate-limited per flow to protect against a leaked token being used to drain your WhatsApp message budget. Treat the trigger token like a password: anyone who holds it can send billable messages from your number.

A custom flow defaults to the MARKETING WhatsApp category, but you can change it per flow to UTILITY or AUTHENTICATION in the message editor. Choose the category that matches the message’s purpose, because WhatsApp prices and gates templates by category.

Because the custom flow is open-ended, you can pass any variables your message template references. The default template uses a small set, but the flow accepts a wide range of common variables so a template can pull in whatever your caller sends.

VariableDescription
customer_first_nameCustomer’s first name (or other greeting value you pass).
order_numberAn order reference, if relevant to your message.
order_totalAn order total, if relevant.

Additional supported variables include customer_last_name, total_price, order_items, shipping_address, payment_method, product_title, product_url, price, discount_code, discount_value, checkout_url, order_status_url, tracking_number, tracking_url, review_url, shop_name, and more. Any variable your template uses is filled from the values your caller sends in the request body.

The custom flow is available on Growth and Plus. Starter and Basic do not include it. See Plans.

The custom flow is not part of the order lifecycle tagging system. If your message relates to an order, you can pass an order reference for log linkage, but WhatPro does not automatically apply lifecycle tags for custom sends. For how WhatPro tags orders in general, see Order tags.