Reply templates
Saved reply bodies you and your agents reuse in the inbox.
List reply templates in the current workspace
/v1/reply-templatesreply-templates.listOrdered by id. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a list of ReplyTemplateModel. Each item has these fields. The response also carries pagination.
curl -X GET "https://api.ken.so/v1/reply-templates" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": [
{
"id": 812,
"name": "string",
"description": "string",
"body": "string",
"authorSource": "string",
"scope": "string",
"createdAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
],
"pagination": {
"nextCursor": "eyJpZCI6ODE1fQ",
"hasMore": true,
"total": 1,
"isTotalCapped": true
}
}The author is the caller: user for a person in the dashboard, agent for an agent, an MCP token or an API key. authorSourceagent only lowers a person to agent. Requires Inbox edit access and the workspace settings permission (owners, admins and editors by default).
Parameters
400 workspace_required).Request body
application/json, optional.
Response 201
data is a ReplyTemplateModel.
curl -X POST "https://api.ken.so/v1/reply-templates" \
-H "Authorization: Bearer $KEN_API_KEY" \
-H "Ken-Version: 2026-11-02" \
-H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"description": "string",
"body": "string",
"authorSource": "string"
}'{
"success": true,
"data": {
"id": 812,
"name": "string",
"description": "string",
"body": "string",
"authorSource": "string",
"scope": "string",
"createdAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
}Return one reply template in the current workspace
/v1/reply-templates/{replyTemplateId}reply-templates.getA missing or cross-workspace id is not_found. Requires ReadAccess.
Parameters
400 workspace_required).Response 200
data is a ReplyTemplateModel.
curl -X GET "https://api.ken.so/v1/reply-templates/812" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
{
"success": true,
"data": {
"id": 812,
"name": "string",
"description": "string",
"body": "string",
"authorSource": "string",
"scope": "string",
"createdAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
}Update a reply template
/v1/reply-templates/{replyTemplateId}reply-templates.updateOnly the fields sent are written; absent fields keep their stored value. JSON null clears description. The author is the caller, as on create, and a person's write records user. An agent, an MCP token or an API key cannot edit a human-written template. Requires Inbox edit access and the workspace settings permission (owners, admins and editors by default).
Parameters
400 workspace_required).Request body
application/json, optional: object.
Response 200
data is a ReplyTemplateModel.
curl -X PATCH "https://api.ken.so/v1/reply-templates/812" \
-H "Authorization: Bearer $KEN_API_KEY" \
-H "Ken-Version: 2026-11-02" \
-H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{}'{
"success": true,
"data": {
"id": 812,
"name": "string",
"description": "string",
"body": "string",
"authorSource": "string",
"scope": "string",
"createdAt": "2026-09-23T15:02:11Z",
"updatedAt": "2026-09-23T15:02:11Z"
}
}Delete a reply template
/v1/reply-templates/{replyTemplateId}reply-templates.deleteReturns 204. The author is the caller, as on create. An agent, an MCP token or an API key cannot delete a human-written template. Requires Inbox edit access and the workspace settings permission (owners, admins and editors by default).
Parameters
400 workspace_required).Response 204
curl -X DELETE "https://api.ken.so/v1/reply-templates/812" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
HTTP/1.1 204 No Content