# Send your first WhatsApp template in 5 minutes

> To send a first WhatsApp template through the SkedX Flow API: create a key in Settings → Developers → API Keys with “Send messages and templates” and “List templates” ticked, and keep it in an environment variable, FLOW_API_KEY. List what you may send with GET https://flowserver.skode.ai/api/v1/templates/?channel=whatsapp — only templates with status "approved" send, and variableCount is how many values each needs. Then POST https://flowserver.skode.ai/api/v1/messages/template/ with the header Authorization: Bearer <key> and the body {"to": "<country code + number>", "template_name": "<code name>", "variables": [one value per blank, in order]}. A 200 {"ok": true, "id": …} means Flow handed it to WhatsApp; it arrives within seconds, shows in Flow’s inbox, and is charged to the messaging wallet.

Product: SkedX Flow · Topic: APIs & Developers · Draft — steps not yet re-verified in the live product

The quickest way to see the Flow API work end to end: two commands in a terminal, and a WhatsApp template arrives on your own phone. You need an API key, one approved template and credit in the messaging wallet. Send to your own number first — every send is real, and charged.

## Step 1: Keep your key ready

No key yet? [Create one](https://skode.ai/help/flow/developers/create-an-api-key/) with **Send messages and templates** and **List templates** ticked. Open a terminal (on Windows, Git Bash) and keep the key in a variable, so it never sits in your commands:

```bash
export FLOW_API_KEY="sk_flow_…your key…"
```

## Step 2: See which templates you may send

This lists your WhatsApp templates and sends nothing. Note how many blanks each one has — `variableCount` — and pick one whose `status` is `approved`; drafts and templates that are pending, rejected, paused or disabled can’t be sent. Its `templateName` is the name you’ll send.

```bash
curl -s "https://flowserver.skode.ai/api/v1/templates/?channel=whatsapp" \
  -H "Authorization: Bearer $FLOW_API_KEY"
```

## Step 3: Send it to your own number

Change three things in this command: your own WhatsApp number in `to`, **with the country code** (spaces and a leading `+` are fine); the template’s name; and one value per blank in `variables`, in order — exactly as many as `variableCount` said. Leave `variables` out if the template has no blanks.

```bash
curl -s -X POST "https://flowserver.skode.ai/api/v1/messages/template/" \
  -H "Authorization: Bearer $FLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "+91XXXXXXXXXX",
       "template_name": "your_template_name",
       "variables": ["first blank", "second blank"]}'
```

## Step 4: Read Flow’s answer

The key, the template’s name and its blanks went in; `"ok": true` and an `id` came back — Flow has handed the message to WhatsApp, and it arrives within seconds. The conversation also shows in Flow’s inbox, like any other send. Anything else comes back as an `error` that names the problem — see [Flow API errors](https://skode.ai/help/flow/developers/flow-api-errors/).

## Step 5: See it arrive

Within seconds the template arrives in WhatsApp on the phone you sent it to, from your business’s number. Each value in `variables` fills a blank, in the order you listed them — here the batch, the faculty, the time, the topic and the class link. Your customers get exactly this. Nothing there? See the first question below.

## Step 6: Make it part of your system

Your code or tool makes the same request: same address, same header, same body. [Send a WhatsApp template over the API](https://skode.ai/help/flow/developers/send-a-whatsapp-template-over-the-api/) explains every field. No developer? [Let an AI assistant write the code](https://skode.ai/help/flow/developers/build-your-flow-integration-with-ai/), or use an [inbound hook](https://skode.ai/help/flow/developers/inbound-hooks-send-without-code/) from Zapier or n8n.

## Common questions

### Flow said ok, but nothing arrived. Why?

`"ok": true` means WhatsApp accepted the message. Open the conversation in Flow’s inbox: if WhatsApp couldn’t deliver it, the message is marked as failed. The usual causes are a number without its country code, or a number that isn’t on WhatsApp.

### Can one request go to many numbers?

No — one request, one recipient. Send one request per person; each is charged separately.

### Do I need to give a language?

Usually not. Leave it out and Flow uses the language the template was approved in.

### My template isn’t in the list.

The list shows the templates Flow holds for your workspace. If one you created elsewhere is missing, check Flow’s **Templates** screen, or message us.

## Useful links
- API Keys in Flow — create the key for step 1: https://flow.skode.ai/settings/api-keys/
- Templates in Flow — each template’s technical name and status: https://flow.skode.ai/templates/
- Flow API reference — try the same request in the browser: https://flow.skode.ai/docs/

Videos and screenshots © 2026 SkedX, with sample data only. Share and link to them freely; copying the SkedX product or its design is not allowed. Terms: https://skode.ai/terms/

## Related guides
- Send a WhatsApp template over the API: https://skode.ai/help/flow/developers/send-a-whatsapp-template-over-the-api/
- Flow API errors, and how to fix each one: https://skode.ai/help/flow/developers/flow-api-errors/
- Build your Flow integration with an AI assistant: https://skode.ai/help/flow/developers/build-your-flow-integration-with-ai/
- What the Flow API can do: https://skode.ai/help/flow/developers/what-the-flow-api-can-do/
- Create an API key: https://skode.ai/help/flow/developers/create-an-api-key/
- Get a WhatsApp template approved: https://skode.ai/help/flow/templates/get-a-whatsapp-template-approved/
- Send a WhatsApp campaign to many contacts: https://skode.ai/help/flow/templates/send-a-whatsapp-campaign-to-many-contacts/

Source: https://skode.ai/help/flow/developers/send-your-first-template-in-5-minutes/