Skip to main content

Route Leads from HQ to Outlets

For businesses with multiple outlets, this workflow captures leads on a central WhatsApp number (HQ) and routes them to the appropriate outlet based on their response.

How it works

  1. A lead messages HQ.
  2. HQ sends an automated message asking the lead to choose an outlet.
  3. The lead replies with their choice.
  4. HQ sends a confirmation and triggers the outlet's workflow via webhook.
  5. The outlet sends a follow-up message to the lead.

Setup

This requires two workflows: one on HQ and one on each outlet.

HQ workflow

Trigger: Contact Created

Actions:

  1. Send WhatsApp — ask the lead to choose an outlet:

    Hi! Let us know which is your preferred outlet:

    Reply "1" for Orchard
    Reply "2" for Somerset
    Reply "3" for Novena
  2. Wait For Reply — pause until the lead responds (timeout: 24 hours).

  3. IF/ELSE — check the reply:

    • Branch 1: reply is 1 (Orchard)
    • Branch 2: reply is 2 (Somerset)
    • Branch 3: reply is 3 (Novena)
  4. Under each branch, add:

    • Send WhatsApp — confirmation message (e.g., "You have chosen Orchard. Our outlet manager will reach out shortly.")
    • Webhook — POST request to the outlet's inbound webhook URL with the lead's details:
      {
      "first_name": "{{contact.firstName}}",
      "phone": "{{contact.phone}}"
      }

Outlet workflow

Set up on each outlet's WhatsApp number.

Trigger: Inbound Webhook (with first_name and phone in the payload schema)

Actions:

  1. Create / Update Contact — maps the webhook payload to contact fields (automatically added with the inbound webhook trigger).

  2. Send WhatsApp — follow-up message:

    Hi {{first_name}}, we're excited to be part of your child's art journey.

    Please let us know:
    - Your name
    - Your child's age
    - Your preferred programme

Extensions

Handle invalid responses

Add an Else branch to the IF/ELSE action with:

  1. Send WhatsApp — ask the lead to reply with a valid option
  2. Go To — redirect back to the Wait For Reply step (set an iteration limit to prevent infinite loops)

Handle varied responses with AI

Add an AI Model action after Wait For Reply to interpret natural language responses (e.g., "I want Orchard", "Option 3", typos). Configure it to output keywords like $CHOSEN_ORCHARD, then update the IF/ELSE conditions to check the AI output.