Send messages
Everything on WhatsApp revolves around one rule: the 24-hour customer-service window. This page explains the rule, then shows you how to reply from Live Chat, format text, attach media, and send your first message over the API.
The 24-hour customer-service window
WhatsApp is not email — you can't send anything to anyone at any time. Meta's rule is simple: the customer's last message opens a 24-hour window. Inside it, you may send free-form text and media (called session messages). Outside it, you can usually only reach the contact with a template message that Meta has pre-approved.
Here is the full lifecycle of the window:
| Moment | What happens | What you can send |
|---|---|---|
| Customer messages you | A 24-hour window opens, timed from that message. | Free-form text, images, documents — anything. |
| 0–24 h after it | Window is open. Your replies do not extend it. | Session messages and templates both work. |
| Customer messages again | The clock resets — a fresh 24 hours starts. | Free-form again, for another 24 hours. |
| 24 h pass in silence | Window closes. Meta will usually reject free-form sends. | Meta-approved templates only. |
The clock is anchored to the customer, not to you
Session messages vs template messages
Most teams settle into the same pattern: templates to start conversations, session messages to have them.
| Session message | Template message | |
|---|---|---|
| When it works | Only inside an open 24-hour window | Anytime, window open or closed |
| Approval needed | None — type and send | Meta must review and approve it first |
| Content | Fully free-form text and media | Fixed structure with fill-in variables |
| Can start a conversation | No — the customer must message first | Yes — this is how outreach begins |
| Typical use | Support replies, sales conversations | Order updates, reminders, campaigns |
What sending costs
Replying from Live Chat
Live Chat is your team inbox — every conversation across your connected numbers in one place, updating in real time.
- 1
Open Live Chat and pick a conversation
In the dashboard, open Live Chat. Conversations are listed on the left with unread counts; use the search box to find a contact by name or number. If you have more than one WhatsApp number connected, a number switcher at the top filters the inbox per number. - 2
Type your reply
Click the conversation and type in the message box. Enter sends, Shift+Enter adds a new line, and Ctrl+V pastes an image straight from your clipboard. Typing/opens your saved quick replies so common answers are one keystroke away. - 3
Add media or emoji
Use the paperclip button next to the message box to attach a file, or the smiley button to open the emoji picker. Attachments upload first, then send as a normal session message. - 4
When the window has expired
If the customer hasn't messaged you in the last 24 hours, Live Chat replaces the composer with a notice — "Customer not messaged you in last 24 hours" — and explains that only pre-approved templates can be sent. The Send Template button there takes you to the Direct Message screen, where you pick an approved template, fill its variables, and send.
Test the whole loop in two minutes
Text formatting and media
WhatsApp renders lightweight formatting from plain characters — type the markers and the customer's app does the rest. The same markers work in Live Chat, templates, and API messages.
| You type | Customer sees |
|---|---|
*important* | important |
_emphasis_ | emphasis |
~old price~ | old price |
```ORDER-1042``` | ORDER-1042 |
Media attachments. Inside an open window you can send images, videos, audio, and documents. As a rule of thumb WhatsApp accepts images up to about 5 MB, video and audio up to 16 MB, and documents up to 100 MB — oversized files are rejected before sending. For media outside the window, use a template with a media header instead (covered in Message templates).
Keep bold for the facts that matter
Send programmatically
Anything you can send from Live Chat, your own systems can send through the REST API with an API key. The free-form text endpoint:
/api/v1/send-messagecurl -X POST https://richautomate.in/api/v1/send-message \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "919876543210",
"message": "Hi! Your order #1042 has shipped and arrives Friday."
}'The same 24-hour rule applies: send-message is a session message, so the recipient's window must be open or Meta will usually reject the send. To start conversations programmatically, use the send-template endpoint instead. Generating an API key, authentication, and both endpoints are covered step by step in the API quickstart.
Stuck? Message us on WhatsApp at +91 74349 01027 or book a free 15-minute setup call on Calendly.