---
title: "Automation message templates"
method: GET
path: "/automations/{automation_id}/messages"
tags: ["Automations"]
---

# Automation message templates

`GET /automations/{automation_id}/messages`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/automations/{automation_id}/messages`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

The message copy *configured* on one automation, flattened into a uniform shape regardless of automation type: the TC invite template (`tc_invite_message`), the ordered DM sequence (`message_sequence` — array order is send order), follow-up steps, and AI-chatbot Q&A. Placeholders (e.g. `{{creators username}}`) are NOT substituted — this is the template. For the exact per-creator text that was actually sent, use `GET /automations/{automation_id}/sent-messages`. Requires a single shop.

## Path parameters

- `automation_id` integer, required

## Response `200`

Successful Response

- AutomationMessagesTemplateResponse: Message templates configured on one automation (CORE-5593). This is the *configured* copy — placeholders like ``{{creators username}}`` or ``{creator_name}`` are not substituted. For the exact per-creator text that was actually sent, use ``GET /automations/{id}/sent-messages``.
  - `automation_id` integer, required
  - `automation_name` string, nullable
  - `automation_type` string, nullable
  - `tc_invite_message` string, nullable: config.TARGET_COLLAB_MESSAGE — TC invite template (TC types only)
  - `message_sequence` unknown[]: config.addons — ordered DM sequence; array order is send order
    - unknown
  - `follow_up_steps` unknown[]
    - unknown
  - `ai_custom_qa` unknown[]
    - unknown
  - `personalization` AutomationPersonalizationConfig: CORE-4857 — the AI-personalization config on a DM automation, read back. Projected from ``config.PERSONALIZATION`` (the block the send engine reads). Present only when personalization was configured — via the portal composer or via ``POST /automations/dm`` with a ``personalization`` object. ``null`` on automations that don't use it. Product/offer strings are the fixed values the brand approved; the Content/Product-Discussion blocks are AI-generated per creator at send time and so aren't stored here.
    - `enabled` boolean: Whether the send engine personalizes this automation's DM.
    - `tone` union: AI rewrite tone (engaging | bold | inspirational).
      - 'engaging' | 'bold' | 'inspirational'
      - string
    - `fallback_message` string, nullable: Sent verbatim (name/product blocks filled) to creators with too little signal to personalize.
    - `offer_discussion` string, nullable: [Offer Discussion] block value.
    - `product_description` string, nullable: [Product Description] block value.
    - `product_selling_points` string, nullable: [Product Selling Points] block value.
    - `word_counts` object, nullable: Approximate per-AI-block word-count targets, e.g. {"content_discussion": 25, "product_discussion": 20}. Null uses the brevity default.
    - `name_source` string, nullable: Which name fills the creator-name token (CORE-7779): first_name (the shipping first name on the creator's last order) or display_name (their TikTok display name). Null on automations that never set it -- same as first_name.

## Other responses

- `422`: Validation Error

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-09-19** `291230805105`: 2 info
  - api operation id `automation_messages_automations__automation_id__messages_get` removed and replaced with `automation_messages`
  - added `subschema #1` to the `personalization/anyOf[subschema #1: AutomationPersonalizationConfig]/tone` response property `anyOf` list for the response status `200`
- **2026-09-10** `7dad11366a32`: 1 info
  - added the optional property `personalization/anyOf[subschema #1: AutomationPersonalizationConfig]/name_source` to the response with the `200` status

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/automations/:automation_id/messages/get.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
