Authenticate using an API token in the Authorization header (token scheme) against https://{domain}.freshchat.com/v2
GET /v2/groups to retrieve existing agent groups (teams) and their IDs for routing configuration
POST /v2/conversations with channel_id, messages array (containing content, actor type, and actor_id), and users.id to create a new conversation and attach it to a contact
Assign the conversation to a specific agent via PUT /v2/conversations/{conversationId} with assigned_agent_id and assigned_group_id fields
Configure auto-assignment rules in Freshchat Admin (Channels > Assignment Rules) or via the IntelliAssign API if enabled, setting workload capacity per agent
Subscribe to conversation events via POST /v2/webhooks with event types (conversation_created, conversation_assignment) and a target URL to receive real-time updates
Known gotchas
Freshchat and Freshdesk are separate products with separate APIs even when used in the same Freshworks account; the /v2/ Freshchat API is not interchangeable with the Freshdesk /api/v2/ ticket endpoints and requires its own API token
IntelliAssign (automatic load-balanced routing) must be enabled at the channel level before assignment_rules API calls take effect; the API accepts requests but silently ignores auto-assignment settings if the feature is off
Channel IDs in Freshchat are UUIDs, not sequential integers — always retrieve them via GET /v2/channels rather than assuming or hardcoding values
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp