Rabt WhatsApp CRM

Automation

Variables & Logic

Variables let you personalise messages for each customer individually. Condition nodes let you route the flow differently based on customer data or their replies.


Available Variables

Use variables inside message text with the syntax {{variable_name}}:

Contact Data

VariableValue
{{contact.name}}Customer's full name
{{contact.first_name}}First name only
{{contact.phone}}Phone number
{{contact.email}}Email address (if stored)
{{contact.company}}Company name (if stored)

Conversation Data

VariableValue
{{chat.id}}Conversation ID
{{agent.name}}Name of the assigned agent

Date & Time

VariableValue
{{date}}Current date
{{time}}Current time
{{day}}Current day (Monday, Tuesday…)

Practical Example

Text inside the message node:

Hi {{contact.first_name}}! πŸ‘‹
Thanks for reaching out to our team.
Your agent today will be {{agent.name}}.

What the customer sees:

Hi Ahmed! πŸ‘‹
Thanks for reaching out to our team.
Your agent today will be Sara.

Condition Node

A condition node splits the flow into two paths based on a rule.

How to Add a Condition

  1. Drag a Condition node onto the canvas
  2. Click it to define the rule
  3. Choose the variable to check
  4. Choose the operator (equals / contains / greater than / etc.)
  5. Enter the comparison value
  6. Connect the Yes path and the No path to different steps

Condition Examples

ConditionDescription
contact.tags contains VIPCustomer is in the VIP segment
contact.name is emptyNo name saved for the customer
Customer reply equals 1Customer selected option 1
contact.company contains CorpBusiness customer

Multiple Conditions (AND / OR)

You can add more than one condition to a single node:

  • AND: all conditions must be true
  • OR: any one condition is sufficient

Example:

  • Condition: contact.tags contains VIP AND contact.country equals UAE
  • Result: sends a special offer only to VIP customers in the UAE

Wait for Reply Node

Pauses the flow until the customer sends a response, then branches based on what they said:

  1. Add a Wait for Reply node
  2. Set a timeout (e.g. 24 hours)
  3. Connect the Reply received path and the Timeout path to different steps

Practical Tips

  • If a customer's name might be missing, add a condition node before the message: check contact.name is not empty before sending the personalised version
  • Always test the flow before going live by sending a test message to yourself
  • Start with one condition and add more gradually β€” don't over-engineer early

Next Step

← Import Contacts