# WhatsApp messages

> Connect your WhatsApp Business number, see which messages go to customers by themselves, and change their words.

*Section: Integrations · Updated: 2026-10-19*

By the end you will know how to connect your WhatsApp Business number, which messages ArmPOS sends your customers by itself, and how to change their words.

> **Note:** This guide was written from ArmPOS's screens and code and was **not run**: it needs a WhatsApp Business account with Meta. Your plan sets how many WhatsApp messages you can send each month. If the page says WhatsApp is disabled by the platform administrator, ArmPOS has it switched off for now: you can set it up, but nothing is sent until it is on.

## What it does

ArmPOS sends a WhatsApp text from your own business number when:

- a sale is saved on **Sales › Add sale** (**Invoice created (new sale)**), and
- a payment is added to a sale (**Payment received**).

Sales made at the POS don't send a message today. The customer needs a phone number on their record.

## Connect your number

In Meta first: a Meta app with the WhatsApp Cloud API, its **Phone Number ID** and a permanent **Access Token**.

1. **Open [WhatsApp › Settings](/app/whatsapp/settings).**
2. **Fill the Phone Number ID and the Access Token.** The **WhatsApp Business Account ID** and **App Secret** are optional.
3. **Set the Default Country Code,** such as **256**. It replaces the 0 at the start of local numbers.
4. **Switch on the Automated Messages** you want, then **click Save.**
5. **Click Test Connection.** **Connection Status** must turn **Connected**: no message is sent until it does.

The **Webhook URL** and **Webhook Verify Token** would let Meta tell ArmPOS when a message is delivered and read. The address shown doesn't answer Meta yet, so leave them for now: messages still go out, and **Message Logs** shows them as sent.

![WhatsApp Settings: the note that WhatsApp is disabled by the platform administrator, Connection with Provider Meta Cloud API, Phone Number ID, WhatsApp Business Account ID, Access Token, App Secret, Webhook Verify Token, Default Country Code, Save and Test Connection; Connection Status Not Connected; Monthly Quota Used 0, Limit 50, Remaining 50; and the Webhook URL.](https://armpos.online/storage/help/ea07cf4299-whatsapp-1-settings.webp)
*Messages go out only after a successful Test Connection.*

**Monthly Quota** shows the messages used and left this month.

## The messages' words

**[WhatsApp › Templates](/app/whatsapp/templates)** holds the texts. Each automatic message uses the template with its **Key**: `invoice_created` for a new sale, `payment_received` for a payment.

![WhatsApp Templates: New Template, and the list with Name, Key, Language, Status and Actions: Order Status Update (order\_status), Order Confirmation (order\_created), Payment Received (payment\_received) and Invoice Created (invoice\_created), all Active.](https://armpos.online/storage/help/8a3728c5e2-whatsapp-2-templates.webp)
*Keep the keys invoice\_created and payment\_received: they tell ArmPOS which message to send.*

Open a template to change its **Message Body**. Click a variable to add it: **{{customer\_name}}**, **{{invoice\_number}}**, **{{total\_amount}}**, **{{company\_name}}**, **{{payment\_status}}** and **{{date}}** are filled in; **{{order\_status}}** isn't yet. The **Preview** shows the result.

> **Warning:** Renaming a template's key, deleting the template or switching it to inactive quietly stops that message. Deleting a template asks no question.

**[WhatsApp › Message Logs](/app/whatsapp/logs)** lists each message with its **Status** and any **Error**.

## What's next

For texts by SMS, see [Email and SMS settings](/app/help/email-and-sms-settings).
