Docs
Get started

All Wazzap message commands

Wazzap scans every outgoing message for inline commands and rewrites the send accordingly. With a single line of plain text you can delay a send, swap in dynamic copy, attribute the message to an agent, post an internal note, or attach the latest voice transcription.

Overview

Commands are special strings you embed inside the body of a WhatsApp message. When the message hits Wazzap's queue, the parser pulls each command out, executes the behaviour it represents, then sends what's left. Some commands transform the message (Spintax, Delay). Others change where the message goes (Internal). Others enrich it with context Wazzap already knows (Agent, Source, Transcription).

All commands must be sent from your CRM's Conversations tab or a workflow action. Typed directly from the WhatsApp app on a phone, they ship as literal text.

How commands work

  1. You compose a message inside HighLevel (or another supported CRM) that contains a command.
  2. The message reaches Wazzap before going out to WhatsApp.
  3. The Wazzap parser detects the command pattern, executes its logic, and removes the command string from the final text.
  4. The clean, transformed message goes out to the recipient (or to your internal team, in the case of !INTERNAL!).

Command cheat sheet

  • !INTERNAL!, post the message as an internal team note instead of sending it to the customer.
  • !/DELAY/X/Y/!, wait a random number of milliseconds between X and Y before sending.
  • !/SPINTAX_A/option 1/option 2/SPINTAX_A/!, rotate text per recipient.
  • !AGENT!, append the assigned agent's name to the chat record.
  • !SOURCE!, append the lead source (Meta Ads campaign, organic, etc.) to the chat record.
  • !TRANSCRIPTION!, post the text transcription of the last incoming voice note into the chat.

Commands in detail

!INTERNAL!

Marks the message as an internal note. Your team sees it inside the CRM, the customer does not. Use it inside HighLevel workflows for paid-step notifications, dispute alerts, or any time you want the team in the loop without writing the customer.

!INTERNAL! {{contact.first_name}} paid the software.

Full guide: Internal notification.

!/DELAY/X/Y/!

Waits a random integer between X and Y milliseconds before dispatching. Place it at the very end of the message.

Hey, did you get my last note? !/DELAY/2000/7000/!

Full guide: Delay message.

!/SPINTAX_A/.../!

Rotates between a list of text variants for every send. You can use up to SPINTAX_A through SPINTAX_Z per message, plus 6 global variables defined in settings.

!/SPINTAX_A/Hi/Hey/Good day/SPINTAX_A/! {{contact.first_name}}

Full guide: Spintax.

!AGENT!

Sends the name of the assigned agent into the chat (or attaches it to the conversation record, depending on your CRM's chat provider). Great for reporting and for letting the customer know who's behind the keyboard.

!AGENT!

Full guide: Send agent.

!SOURCE!

Sends the contact's lead source into the chat. Pulled from your CRM's source attribution (Meta Ads campaign ID, organic, referral, etc.).

!SOURCE!

Full guide: Send source.

!TRANSCRIPTION!

Replaces itself with the text transcription of the last incoming voice note from the contact. Useful for AI workflows that need to operate on what the customer actually said.

!TRANSCRIPTION!

Full guide: Send transcription.

Combining commands

Multiple commands can live in the same message. The parser handles them in a fixed order: content transforms (Spintax) first, then delivery routing (Internal), then timing (Delay). Enrichment commands (Agent, Source, Transcription) are expanded inline before the rest run.

!/SPINTAX_A/Hello/Hi/SPINTAX_A/! {{contact.first_name}}, our agent !AGENT! will follow up shortly. !/DELAY/1500/4500/!

This message rotates the greeting, injects the agent's name, and delays the send by 1.5 to 4.5 seconds. Three behaviors, one line.

Important notes

  • Commands are case-sensitive. !internal! won't work. Use !INTERNAL!.
  • The command syntax must be exact. A missing slash or extra space sends the literal text.
  • Commands apply per message, not per workflow. Add them to every step that needs the behaviour.
  • Send commands from your CRM's Conversations tab or a workflow action, not from a phone.
!

For the HighLevel-specific commands (the ones that interact with workflow steps, assignments, and tags), see HighLevel commands.

Was this page helpful?