---
title: "Send a whatsapp template message"
method: POST
path: "/engagement/whatsapp-messages/send-template"
tags: ["Engagement Whatsapp Messages"]
---

# Send a whatsapp template message

`POST /engagement/whatsapp-messages/send-template`

Send a WhatsApp template message to a phone number with optional custom variable values.
The customValues keys must match the templateVariable names from your variable mapping. In addition,
the reserved keys `header_image`, `header_video`, `header_document` and `header_media` override the
template's configured header media URL and do not need a variable-mapping entry.
When a custom value is provided for a variable, it takes priority over the mapped field resolution and fallback value.
Missing required fields or an unknown channel return 400; a send rejected by WhatsApp returns 409 with
`{ success: false, message }`.

## Headers

- `project` string, required

## Request body

- object
  - `customValues` unknown
  - `languageCode` string — Language code (e.g. "en_US"). Only used as a fallback: the message is sent in the language Meta reports for the template. If omitted, defaults to the contact's language, then "en_US".
  - `templateName` string, required — Name of the WhatsApp template registered with Meta
  - `channelId` string, required — The WhatsApp channel ID from your project
  - `to` string, required — Recipient phone number (E.164 format, e.g. "+14155552671")

## Response `200`

Ok

- unknown

---

[API](https://skmtc.net/gleap/apis/gleap-server.md) · [All operations](https://skmtc.net/gleap/apis/gleap-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gleap/gleap-server/versions/2bfe054193b5/schema)
