Docs
Get started

Internal-only team alerts

The Internal command lets you fire team-only notifications from inside HighLevel workflows. Payment received, dispute opened, lead crossed a milestone — your team gets the ping while the customer hears nothing.

Overview

In a HighLevel workflow you often want to react to events with two parallel messages: one to the customer, one to your team. Without a marker, both end up looking like outbound WhatsApps. The !INTERNAL! command flips the second one into a team-only note that stays inside the CRM.

Use this command anywhere you'd normally drop a Slack message. Keep the team informed without leaving HighLevel and without paying premium-action fees.

Command syntax

!INTERNAL! <your message here>

Place !INTERNAL! at the very start of the message body. Everything after it is treated as the internal note that your team will see.

Where to use it

  • Inside a HighLevel workflow's Custom Action step.
  • Anywhere in a workflow where you'd want to trigger a notification visible only to your team.
  • As a sibling step alongside a regular customer-facing message, to fire both at once.

Workflow example

Build a Custom Action step in a HighLevel workflow with these fields:

  • Action name: Internal Notification
  • Type of Notification: SMS
  • To User Type: All Users
  • Message:
    !INTERNAL! {{contact.first_name}} paid the software.

Result: every assigned user receives an internal-only notification reading "John paid the software." The customer named John sees nothing.

Premium action option

HighLevel also offers a built-in Premium Action for internal notifications. It works, but it may incur extra costs per execution depending on your agency plan. The !INTERNAL! command achieves the same outcome at no additional cost through your existing Wazzap subscription.

For pricing details and to enable Premium Actions, see HighLevel's official documentation.

Use cases

  • Payment confirmations. Notify the sales team when a lead pays, without auto-sending an awkward thank-you from a workflow.
  • Lead milestones. Ping the assigned closer when a contact reaches stage X in the pipeline.
  • Dispute alerts. Wake up the success team when Stripe fires a dispute webhook into the CRM.
  • Failed automation alerts. Catch errors and post them as a team note, without exposing the failure to the customer.

Important notes

  • The !INTERNAL! prefix is mandatory. Without it, the message is treated as a normal outbound WhatsApp.
  • Internal notes never reach the customer. They only appear in the CRM's notification feed for the assigned users.
  • Internal notes can include any HighLevel custom fields and merge tags ({{contact.first_name}}, etc.).
  • The command works inside the HighLevel native integration. Check that your sub-account is mapped correctly before relying on it. See the HighLevel integration guide.

Troubleshooting

The customer received the internal message

Almost always the command is missing or misspelled. Confirm the line starts with !INTERNAL! in all caps with exclamation marks on both sides. A trailing space after the second ! is fine. A typo like !internal! isn't.

The internal note didn't reach the team

Open the workflow execution log and confirm the step ran. If it ran but no user got the notification, check the To User Type field and confirm assigned users have notifications enabled in their HighLevel profile.

!

Internal notifications depend on your HighLevel users being subscribed to notifications. If a user has SMS notifications disabled in their profile, they won't get the ping.

Was this page helpful?