Agency owners only This screen is for resellers. Your sub-account clients never see it — you decide what reaches them.

What this screen does

WAGHL raises three kinds of event. This screen answers one question for each: who gets told, and where?

EventWhen it firesWho it can reach
Payment & billing A payment is due, a trial expires, or an account is deactivated You (agency owner)
Token expiry A sub-account's GHL token expires and needs a resync You (agency owner)
Disconnect A client's WhatsApp session drops Your client — and/or an extra number you choose

Every one of those can also be pushed to your own endpoint as JSON. See Webhook notifications.


Notification Number

The number alerts are sent from. It can be a number already connected to one of your sub-accounts, or a different one you dedicate to notifications — you'll see an option to scan and connect it.

This is the sender, not a recipient A common mix-up. Nothing is delivered to this number. Recipients are set further down the page.

Agency Owner Notifications

Two independent toggles for the events that concern you rather than your client.

1

Payment & Billing

Fires when a payment is due, a trial expires, or an account is deactivated. Leave this Yes if you want to know about billing events on your sub-accounts.

2

Token Expiry

Fires when a sub-account's token expires and messaging stops until you resync it. This one is worth keeping on: an expired token is silent from the client's side — they'll just notice messages aren't arriving.

Where these alerts are sent

1

Send to Registered Number

Sends to your account's registered mobile number — the one on your WAGHL profile, not the sending number above. Set this to No only if you want alerts going exclusively to the additional number below.

2

Additional number (optional)

Copies every agency alert to one more WhatsApp number. Useful for a business partner, a VA, or an ops channel. Leave it blank if you don't need it.

Turning both off means silence Send to Registered Number = No with no additional number means agency alerts go nowhere. The toggles above stay Yes but nothing is delivered.

Sub-account Client Notifications

The one event that reaches your client directly.

1

Send on Disconnect

Messages the client on WhatsApp when their session drops, so they can rescan without opening a ticket. Set to No if you'd rather handle disconnects quietly yourself.

2

Send to Connected Number

Sends to the client's own WhatsApp number — the one that just disconnected.

It reaches them because WhatsApp only unlinked the device — their phone still has WhatsApp. The message lands normally.
3

Additional number (optional)

One number copied on every client disconnect, across all your sub-accounts. Your support desk, typically.


The disconnect message

The message your client receives. Three parts, and only two are yours to edit:

1

Opening text — editable

Your own words. Write it in any language; WhatsApp delivers exactly what you type.

2

The fixed block — labels editable, values locked

Auto-filled with the affected sub-account. You can rename the labels — translate "Location id:" and "Location Name:" or reword them — but the values are inserted at send time and can't be changed. {{msg}} is simply where your opening and closing text lands; it isn't something you edit or remove.

Location id: *{{location}}*
Location Name: *{{location_name}}*
{{msg}}
3

Closing text — editable

Reconnection instructions, your support link, whatever's useful.

Don't remove the variables {{location}} and {{location_name}} are replaced automatically with the affected sub-account when the message sends. Delete them and your client gets an alert that doesn't say which account it's about.

Webhook notifications

Push the same events to your own endpoint as JSON — log them, raise a ticket, alert Slack, whatever you run.

1

Set a URL to switch it on

Paste any valid http(s) URL. A URL set = webhooks on. Blank = off. There are no per-event toggles — if you're listening, you get everything.

2

Receive the POST

A plain POST with Content-Type: application/json. Each event fires once — it's a data feed, not a reminder, so it won't repeat even when the WhatsApp reminders do.

Payload

Three event types. All share event, location, location_name and message; two add one field each.

FieldSent onWhat it is
eventalldisconnect, resync, or payment_due
locationallThe GHL sub-account (location) ID
location_nameallThe sub-account's name
messageallThe rendered notification text
devicedisconnect onlyThe WhatsApp number that dropped
payment_linkpayment_due onlyYour payment link for that client

Disconnect:

{
  "event": "disconnect",
  "location": "abc123",
  "location_name": "Acme Dental",
  "device": "919876543210",
  "message": "<the WhatsApp text>"
}

Token expiry — note no device:

{
  "event": "resync",
  "location": "abc123",
  "location_name": "Acme Dental",
  "message": "<the WhatsApp text>"
}

Payment due — also covers trial expiry and deactivation:

{
  "event": "payment_due",
  "location": "abc123",
  "location_name": "Acme Dental",
  "payment_link": "https://your-domain.com/payment_due_info.php?id=...",
  "message": "<the WhatsApp text>"
}
Webhooks don't need a paired device They fire independently of your WhatsApp setup. Even if your notification device is unpaired and WhatsApp alerts can't send, the webhook still posts.

What your endpoint should do

  • Don't rely on a retry. Each event is sent once. If your endpoint is down when it fires, that event is gone — the WhatsApp alert is your backstop.
  • Expect new fields. Parse the ones you need and ignore the rest, so a future addition doesn't break you.

Common setups

1

Hands-off — clients fix their own disconnects

Payment & Billing Yes · Token Expiry Yes · Send on Disconnect Yes · Send to Connected Number Yes. You hear about billing and token events; clients handle their own rescans.

2

White-glove — you handle everything

Send on Disconnect No, and put your support number in the client additional number field. Clients never get an automated message; your desk sees every drop.

3

Piped into your own tooling

Set a Webhook URL and keep the WhatsApp toggles on as a fallback. Your system gets structured events; you still get a message if it breaks.


Troubleshooting

SymptomCheck
No agency alerts at all Is Send to Registered Number set to No with no additional number? That combination silences them. Also confirm your profile's registered mobile number is correct.
Nothing arrives on any channel The Notification Number must be a connected device. If it's unpaired, nothing can send — though webhooks still fire.
Clients aren't told about disconnects Send on Disconnect and Send to Connected Number both need to be Yes.
Alert doesn't say which account A variable was removed from the message. Restore {{location}} and {{location_name}}.
"Invalid Webhook URL" on save Needs a full URL with scheme — https://example.com/hook, not example.com/hook.
Additional number rejected Enter digits with country code and no +, e.g. 919876543210. Blank is fine — it just means no extra recipient.
Webhook fires, nothing lands Check your endpoint is reachable and accepting POST at the exact URL you saved. Each event is sent once with no retry, so anything missed while the endpoint was down or slow won't come back.

What's next?