For your automations to perform well, you need to understand what triggers each action and what data is passed at that moment.
This guide covers the four main families of triggers available on the platform.
These triggers are the most used to reassure your customers about package tracking. They rely on information passed in real time from your carrier to Shopify, then from Shopify to Kanal.
ā Required condition: For these triggers to work, the tracking number and the tracking URL must be filled in on the order in Shopify. Without these two elements, the automation cannot start.
Fulfillment Created: Fires when you create the shipping label in Shopify ("Fulfill" button). It means the order is ready, but not necessarily shipped yet.
In Transit: The carrier scanned the package at the sorting facility. The package is officially on its way.
Out for Delivery: The package is in the driver's vehicle for the final route. The customer will receive it that day.
Delivered: The final status confirming the customer received their package (scan or signature).
Ready for Pickup: Specific to pickup-point deliveries, post offices, or Click & Collect. The customer gets an alert to go pick up their package.
You can use this data in your messages to make them ultra precise:
shopify_tracking_number: The tracking number.
shopify_tracking_url: The direct link to the carrier's site.
shopify_tracking_company: The carrier's name (e.g. Colissimo, DHL).
shopify_destination_city: The delivery city.
shopify_order_status_url: Shopify's native order status page.
Order Created: Fires as soon as payment is confirmed on your store. It is the perfect starting point for an immediate thank-you message.
Useful variables: shopify_order_id, shopify_customer_first_name, shopify_order_total_price.
Abandoned Checkout: Activates when a customer enters their details at checkout but does not complete payment. It is the number one tool for revenue recovery.
These triggers let Kanal "listen" to what your customers write and reply instantly.
Keyword (Exact match): The flow starts only if the message strictly matches the keyword (e.g. "PROMO"). If the customer writes "A PROMO please", it will not fire.
Keyword V2 (Contains): More flexible, it detects the keyword even in the middle of a sentence. Great for capturing broad intents.
Any Keyword (Catch-all): This is your safety net. If the customer's message does not match any specific keyword, this trigger takes over. Perfect for a welcome menu or a holding message.
API: Incoming Webhook: Lets you connect any external tool (Zapier, Make, a specific CRM) to Kanal.
Endpoint: POST https://api.getkanal.com/api/v1/automations/{webhook_id}
Required payload: You must send at least the phone_number. You can also pass custom variables in a variables object.
HubSpot: Dynamic list: Very powerful for marketing teams using HubSpot. As soon as a contact enters one of your HubSpot lists (based on your CRM criteria), Kanal automatically triggers the matching WhatsApp message.
Category | Trigger | When it fires |
Shipment | In Transit | The package is scanned by the carrier. |
Shipment | Delivered | The package is confirmed as delivered. |
Sale | Order Created | Payment is confirmed on Shopify. |
Keyword Match | The customer writes the exact keyword. | |
API | Webhook | A third-party system calls the Kanal URL. |
Expert tip: For shipment triggers, make sure to test your flows with real tracking numbers. Data can take a few extra minutes to come through depending on the carrier.