> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How messaging works

> Understand incoming and outgoing messages, choose between templates and service messages, and track delivery.

WhatsApp messaging has two directions: a customer contacts your business, or your business contacts a customer. The message you can send depends on the customer service window and the purpose of the interaction.

Start by choosing between **template messages** and **service messages**. Then check consent, content requirements, and the result of the send.

## Choose the message family

| Message family | What you prepare | When to use it |
| - | - | - |
| [Template messages](/en/documentation/whatsapp-business-platform/messaging/message-templates/index) | A template reviewed by Meta, with the required content supplied when you send it. | Business-initiated updates and messages outside the customer service window. Templates can also be used while the window is open. |
| [Service messages](/en/documentation/whatsapp-business-platform/messaging/service-messages) | Free-form content such as text, media, or an interactive message. | Responding while the customer service window is open. |

Template and service messages are not simply synonyms for paid and free messages. Sending eligibility and pricing are separate questions. Check the current [WhatsApp pricing](/en/documentation/whatsapp-business-platform/pricing-limits-and-quality/whatsapp-pricing) when estimating costs.

## When a customer contacts you

A customer may arrive from your website, a chat link, an advertisement, or an existing conversation.

1. The customer sends a message to your business number.
2. You receive the message through your connected YCloud workflow.
3. You reply using an appropriate message type while the customer service window permits it.
4. You track replies and continue the conversation.

A customer message is an inbound message. Your response is an outbound message. Both belong to the customer interaction, but they have different data and handling requirements in an API integration.

For the complete window rules and available free-form formats, see [Service messages](/en/documentation/whatsapp-business-platform/messaging/service-messages).

## When your business contacts a customer

Before sending an order update, an offer, or another proactive message:

1. Confirm that the customer has agreed to receive the communication.
2. Check the purpose of the message and choose an appropriate template if one is required.
3. Confirm that the template is approved and available for sending.
4. Supply the correct customer-specific content.
5. Check the delivery result and respect any opt-out response.

An approved template does not replace customer permission. See [Customer opt-in](/en/documentation/whatsapp-business-platform/consent-policies-and-account-health/customer-opt-in).

## Separate purpose from format

The message's purpose and its presentation are different decisions.

* An order update and a discount offer have different purposes.
* Text, images, documents, and buttons are presentation choices.
* Marketing, utility, and authentication are template categories, not media formats.

Choose the purpose first. Then select a supported format that helps the customer understand or act on the message.

## Follow the message after sending

A successful send request does not guarantee that the customer has received or read the message. YCloud reports later status changes as processing and delivery progress.

Use [Message delivery statuses](/en/documentation/whatsapp-business-platform/messaging/message-delivery-statuses) to interpret the result. Do not repeatedly send the same message only because a final delivery update has not arrived yet.

## Work through a complete customer journey

Consider a fictional appointment business:

| Event | Correct handling |
| - | - |
| The customer messages “Can I book Tuesday?” | Receive the inbound message and start a service conversation. |
| An agent sends available times | Use a supported service message while the window is open. |
| The customer confirms a time | Record the booking in the business system. The message alone does not create a booking in every connected tool. |
| The business sends a reminder after the service window expires | Use an approved utility template tied to that appointment, with appropriate permission. |
| The business wants to add a discount for a second service | Treat the promotional purpose as marketing; do not hide it inside the utility reminder. |
| The customer replies “Please reschedule” | A fresh service window allows free-form follow-up. |
| A delivered reminder receives no reply | Do not interpret delivery as acceptance or attendance. Use the actual booking state. |

The same customer can receive several message types over time. Choose from the current event and window, not from a permanent label such as “support customer.”

## Check five things at dispatch

1. **Identity:** Is this the intended sender number and recipient?
2. **Permission:** Does the customer expect this purpose, and have they opted out?
3. **Window and content:** Is free-form sending allowed, or do you need a template?
4. **Availability:** Is the sender usable and the template currently eligible?
5. **Outcome handling:** Where will delivery, replies, failures, and opt-outs be recorded?

A check made when a campaign was scheduled may be stale by the time it sends. Recheck preferences, time-sensitive business data, and template availability as close to dispatch as the workflow permits.

## Keep inbound events separate from status events

An inbound customer message can contain text, a reply-button selection, an order, or a Flow response. A delivery update instead describes an outbound message that your business already sent.

Do not respond to every webhook as though it were a new customer question. Identify the event type first, correlate it to the appropriate message or business action, and deduplicate repeated notifications. Otherwise, a delivered receipt can accidentally trigger another message and create a loop.

## Choose your working method

* Use [Inbox](/en/documentation/inbox/inbox-introduction) for team conversations.
* Use [Campaign](/en/documentation/campaign/create-a-whatsapp-marketing-campaign) for supported campaign workflows.
* Use the [YCloud Messages API](/en/api-reference/guides/whatsapp-platform/send-whatsapp-message) when you need to connect messaging to your own application.

The platform's messaging rules still apply whichever YCloud workflow you use.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.