Freshchat
Manage messaging conversations, channels, and agents in Freshchat via the Freshchat REST API v2.
Operations
| Operation | Description | Required params |
|---|---|---|
list_conversations |
List conversations in your account (paginated) | — |
get_conversation |
Retrieve a single conversation by ID | conversationId |
get_messages |
List messages in a conversation (paginated) | conversationId |
list_agents |
List all support agents in the account (paginated) | — |
list_channels |
List all messaging channels/topics (paginated) | — |
API Key Setup
- Log in to your Freshchat account.
- Go to Settings → API Tokens.
- Click Generate Token and copy the token.
- Pass it as
apiKeyin Bearer format — the tool handles theAuthorization: Bearer <token>header automatically.
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
apiKey |
Yes | — | Freshchat API token from Settings → API Tokens |
accountDomain |
Yes | — | Account subdomain, e.g. mycompany for mycompany.freshchat.com |
operation |
Yes | — | One of the operations listed above |
conversationId |
Conditional | "" |
Freshchat conversation ID; required for get_conversation and get_messages |
page |
No | 1 |
Page number for paginated list operations |
itemsPerPage |
No | 20 |
Items per page (max 50) |
Examples
List conversations (first page):
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_conversations",
"page": "1",
"itemsPerPage": "20"
}
Get a specific conversation:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "get_conversation",
"conversationId": "abc123-conversation-id"
}
Get messages in a conversation:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "get_messages",
"conversationId": "abc123-conversation-id",
"page": "1",
"itemsPerPage": "50"
}
List all agents:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_agents"
}
List messaging channels/topics:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_channels"
}
Output
| Field | Description |
|---|---|
result |
Raw JSON response body from the Freshchat API |
status |
HTTP status code as a string (e.g. "200") |
Notes
- Base URL:
https://<accountDomain>.freshchat.com/v2 - You can pass either the bare subdomain (
mycompany) or the full domain (mycompany.freshchat.com) asaccountDomain. - Response bodies are capped at 5 MB.
- Freshsales Suite integrated accounts may use a different domain — pass the full custom domain as
accountDomainin that case.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
accountDomain |
string | yes | — | Your Freshchat account subdomain, e.g. 'mycompany' for mycompany.freshchat.com. |
operation |
string | yes | — | One of: list_conversations, get_conversation, get_messages, list_agents, list_channels |
conversationId |
string | no | — | Conversation ID. Required for get_conversation and get_messages. |
page |
string | no | 1 |
Page number for list operations (default: 1). |
itemsPerPage |
string | no | 20 |
Items per page for list operations (default: 20, max: 50). |