> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Message Templates: Reusable Outreach Messages

> Create reusable message templates tied to pipeline stages. Templates support merge variables like first_name for personalization at send time.

Message templates let you write outreach messages once and reuse them across contacts. You can attach a template to a pipeline stage so the right message is sent at the right step. Merge variables such as `{{first_name}}` are replaced with contact data when the message is delivered.

## List templates

```bash theme={null}
curl -X GET https://api.reachowl.com/api/v1/message-templates \
  -H "Authorization: Bearer <token>"
```

## Create or update a template

Use the same endpoint for both creating and updating a template. The API will create a new template if none exists, or update the existing one.

```bash theme={null}
curl -X POST https://api.reachowl.com/api/v1/message-templates \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Hi {{first_name}}, thanks for connecting! Let me know if you want to chat.",
    "stage_id": 2
  }'
```

<ParamField body="message" type="string" required>
  The template body. Supports merge variables wrapped in double braces.
</ParamField>

<ParamField body="stage_id" type="integer" required>
  The pipeline stage this template belongs to.
</ParamField>

<Tip>
  Use `{{first_name}}` in your template to automatically insert each contact's first name at send time. You can combine multiple merge variables in a single template.
</Tip>

## Delete a template

```bash theme={null}
curl -X DELETE https://api.reachowl.com/api/v1/message-templates/789 \
  -H "Authorization: Bearer <token>"
```
