# Draft replies to Trainerize client messages

> Your agent reads unread Trainerize messages with the full thread and the client's program, then drafts replies in your voice for you to approve.

Source: https://cotlet.dev/integrations/trainerize-api-mcp-server/reply-to-client-messages

Clients write in the Trainerize messenger between sessions about exercise swaps, meals and missed workouts. By evening the inbox has a dozen threads, and each answer needs a look at that client's program first.

Cotlet does it in your own Trainerize account with list\_conversations, get\_conversation, get\_client and send\_message, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=trainerize) [All Trainerize tools](https://cotlet.dev/integrations/trainerize-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Trainerize do this on its own?

Trainerize has no reply drafting on its standard plans (checked 12 Oct 2026). The paid FitMetrics add-on adds AI-drafted check-in replies and an AI assistant in a separate coach interface. Zapier can send a Trainerize message but cannot read one, and the API reads messages only on Studio and Enterprise plans or with FitMetrics.

By hand

## How you do it in Trainerize today

1. Open the Messages tab in the Trainerize web account, or the Messages icon in the mobile app, and work down the conversation list in the left column.
2. Open each thread, scroll back to what the client asked earlier, and check the Files panel on the right for anything they attached.
3. Before answering a question about a workout or a meal, switch to the client's profile to check the current program or calendar, then go back to the thread.
4. Type the reply or record a voice message of up to 5 minutes; videos can only be sent from the mobile app.
5. Trainerize flags the gap late: the orange Not Messaged Lately tag appears only when a client has received no message for more than a week.

With an agent

## How to draft replies to Trainerize client messages

Prompt

```
Go through my unread Trainerize messages from today, check each client's program before answering, and draft replies I can approve one by one. Flag anything about pain or payments for me.
```

1. 01  
### Collect what needs an answer  
list\_conversations with unread\_only gives the threads waiting on you. Group conversations are kept apart and only summarized, because a reply there is read by every member.
2. 02  
### Read the thread, not the last line  
get\_conversation pulls the recent messages in order. If you already answered from your phone after the client's last message, the thread is skipped. The draft answers what the client wrote, not the trainer's side of the thread.
3. 03  
### Check the client before answering  
For questions about exercises, days or meals, get\_client gives the main program and goals, so a swap suggestion fits the program the client is actually on. Attachments are named in the draft for you to open.
4. 04  
### Draft, sort and hold back  
Drafts follow your usual tone and length. Messages about pain, injury, medication or billing are not answered by the agent; they go to the top of the list marked for you.
5. 05  
### Send only what you approve  
Each reply waits for your OK and goes out with send\_message under your name. Edited drafts are sent as you edited them.

### What you get back

Example data

```
11 unread conversations, 2 groups (summarized only)
Drafted: Alex Rivera, swap lunges for split squats this week, same weight
Drafted: Jo Kim, Thursday workout can move to Saturday
Drafted: Sam Carter, protein target is 140 g on training days
Skipped: Tom Becker, you replied at 14:10
For you: Priya Shah reports knee pain on stairs, photo attached (knee.jpg)
For you: Dana Wolfe asks why her card was charged twice
6 drafts waiting for your OK
```

### Other ways to ask

- Every evening at 8 pm, draft replies to anything unread and leave them for the morning.
- Only draft replies for clients tagged "Online"; I answer studio clients in person.
- Summarize what my group "October Challenge" talked about today, no replies.
- Which clients sent a message more than two days ago and still have no answer from me?

Before you automate it

## What Trainerize allows, and what to know first

- Trainerize clients on one-way messaging cannot reply at all, only react with an emoji; the setting changes through Change Coaching Type on the client profile.
- Auto-messages scheduled in a master program or on a client calendar arrive in the client's thread from the assigned trainer, so a conversation can hold messages the trainer never typed.
- Trainerize web messages accept file attachments up to 10MB, while videos (3 minutes or 50MB at most) can only be sent from the mobile app.
- The Trainerize Not Messaged Lately and Not Responded Lately auto-tags fire after more than one week by default; the threshold is set under Settings > Auto-Client tags.
- In a Trainerize group, clients can reply unless the group setting allows only trainers to post.

send\_message asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Trainerize: How to Send and View Individual Messages](https://help.trainerize.com/hc/en-us/articles/208688846-How-to-Send-and-View-Individual-Messages) · [Trainerize: How to Use One-way and Two-way Messaging](https://help.trainerize.com/hc/en-us/articles/360019983552-How-to-Use-One-way-and-Two-way-Messaging) · [Trainerize: Who Do Auto-Messages Come From?](https://help.trainerize.com/hc/en-us/articles/26635367423508-Who-Do-Auto-Messages-Come-From) · [Trainerize: Auto Client Tags, clients needing attention](https://help.trainerize.com/hc/en-us/articles/208689156-Auto-Client-Tags-Attending-To-Clients-Needing-Attention)

REST

## Call get\_conversation from a script

curl

```
curl https://cotlet.dev/api/v1/trainerize/get_conversation \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"conversation_id":"3390127","limit":30}'
```

Example response

```
{
"conversation_id": "3390127",
"messages": [
{
"from": "Alex Rivera",
"body": "Can I swap lunges for something easier on my knee?",
"sent_at": "2026-10-10T07:02:00Z",
"attachments": []
}
]
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is trainerize\_get\_conversation. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/trainerize-api-mcp-server#automations)

Tools

## Trainerize tools this automation uses

__Cotlet Trainerize tools used to draft replies to Trainerize client messages__
| Tool | Parameters |
| ------------------- | ----------------------- |
| list\_conversations | unread\_only, limit |
| get\_conversation | conversation\_id, limit |
| get\_client | client\_id |
| send\_message | client\_id, body |

[All 14 Trainerize tools with descriptions](https://cotlet.dev/integrations/trainerize-api-mcp-server#tools)

## More Trainerize automations

- [Follow up with Trainerize clients who stopped logging body stats](https://cotlet.dev/integrations/trainerize-api-mcp-server/remind-clients-to-log-body-stats)
- [Summarize weekly Trainerize check-in forms with AI](https://cotlet.dev/integrations/trainerize-api-mcp-server/summarize-weekly-check-ins)
- [Assign the next Trainerize program when a client's program expires](https://cotlet.dev/integrations/trainerize-api-mcp-server/assign-next-program-when-program-expires)
- [Trainerize API and MCP server: every tool](https://cotlet.dev/integrations/trainerize-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Trainerize.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Trainerize.

[Request access](https://cotlet.dev/app/signup?app=trainerize)
