Freshchat
CommunicationConnect AI agents to Freshchat, Freshworks' customer messaging platform. Agents open conversations, send messages and private notes, resolve or reassign chats to the right agent or group, and keep users, channels, and agent rosters in sync.
What This Integration Enables
Freshchat is where customer conversations happen in real time, and real time is exactly where automation has to know its place. A workflow cannot fake empathy at typing speed, but it can do everything around the conversation better than any human: notice the event that warrants outreach, find the right customer and their history, open the thread in the right channel, brief the human agent privately, and route the conversation to the team that owns the answer. FlowRunner agents run those seams. The three message types are the architecture: normal messages reach the customer, private messages brief the team invisibly, and system messages mark state, so an agent can do heavy lifting inside a thread without ever pretending to be the person the customer thinks they are talking to. - Create Conversation opens threads from operational events, with channel, initial status, and assignment set at creation - Send Message covers agent, bot, and system voices, with private notes as the workflow's briefing channel - Update Conversation resolves, reopens, and reassigns threads as their state actually changes - User, agent, channel, and group lookups resolve every reference before routing decisions commit - Customer-facing sends and irreversible deletions run through [human-in-the-loop](/concepts/human-in-the-loop) gates
Without FlowRunner
With FlowRunner
Use Case Scenarios
The delay message that beats the tracking page
When [ShipBob](/integrations/shipbob) reports a fulfillment exception, the agent resolves the customer with List Users, continues their existing thread or opens one with Create Conversation, and posts a private note with the order timeline and a drafted explanation. The support agent personalizes and sends it. The customer hears about the delay from the company first, with an accurate story, which is the entire difference between an annoyed customer and a churned one.
Escalations that find the right people while the chat is live
A monitoring flow sweeps active threads with List Messages, watching for churn-risk phrases and billing disputes. A hit posts to [Slack](/integrations/slack) with the conversation link and recent messages, while Update Conversation reassigns the thread to the escalations group, resolved against List Groups rather than a hardcoded id that went stale last reorg. The senior agent walks into a live conversation minutes after it turned, not in tomorrow's QA review.
Chat history that reaches the systems of record
On resolution, the agent pulls the thread with Get Conversation and List Messages, logs the summary row to [Google Sheets](/integrations/google-sheets) for the support dashboard, and appends the interaction to the customer's record in [HubSpot](/integrations/hubspot). Support conversations stop being a silo that renewal owners discover after the renewal call goes sideways.
Human-in-Loop Highlight
Delete User is the irreversible operation on this connector, and it is irreversible by design: it permanently erases a customer and their associated data for GDPR compliance. That is exactly why it cannot run on an agent's identity matching alone. Erasure requests arrive as emails from addresses that almost match a record, for names that match three records, and deleting the wrong user destroys a real customer's history with no recovery path, while deleting nothing leaves a compliance clock running. So the erasure flow does the assembly and a person does the pulling of the trigger: the agent gathers the request, the candidate user records from List Users with profile details and conversation counts, and presents the match: "Erasure request from [email protected]. One exact email match: user created 2024, 14 conversations, reference ID CRM-8812. Execute permanent deletion?" The privacy owner confirms, the deletion executes, and the acknowledgement files to the compliance log. Everything about the request is automated except the one step that can never be taken back.
Agent Capabilities
17 actionsConversations
5- Create Conversation Creates a conversation in a channel with an initial message from a user, with optional initial status, agent or group assignment, and custom properties. Returns the conversation_id.
- Get Conversation Retrieves a conversation's status, assigned agent and group, participants, channel, and custom properties.
- Update Conversation Updates a conversation's status and assignment: resolve, reopen, or reassign to a different agent or group.
- Send Message Sends a message into a conversation as an agent, the system, or a bot. Normal messages reach the customer, private messages are internal notes, and system messages mark state.
- List Messages Retrieves a conversation's messages, most recent first, with pagination up to 50 per page and an optional From Time filter.
Users
6- List Users Lists customers filtered by name, email, phone, reference ID, or creation date range, with pagination.
- Get User Retrieves a customer's profile fields, contact details, and custom properties by ID.
- Create User Creates a customer record identified by email or phone, with optional name, avatar, external reference ID, and custom properties.
- Update User Updates a customer's editable fields; only provided fields change.
- Delete User Permanently deletes a customer and their associated data for GDPR compliance. Irreversible, and gated behind human confirmation in every FlowRunner flow.
- List User Conversations Retrieves the conversations associated with a customer, the step that continues existing threads instead of duplicating them.
Agents
2- List Agents Lists support staff with ID, name, email, and role, for assignment and reference resolution.
- Get Agent Retrieves an agent's name, email, role, availability, and groups.
Channels
2- List Channels Lists the channels (topics) that group conversations, required when creating a conversation.
- Get Channel Retrieves a channel's name, enabled state, and configuration.
Groups
2- List Groups Lists agent groups (teams) with ID, name, and description, the routing targets for assignment.
- Get Group Retrieves a group's name, description, and routing configuration.
Frequently Asked Questions
What can FlowRunner do with Freshchat?
FlowRunner agents can run Create Conversation, Get Conversation, and Update Conversation in Freshchat, plus 14 more actions.
Does connecting Freshchat to FlowRunner require OAuth?
No. Freshchat connects to FlowRunner with an API key, no OAuth flow required.
Can Freshchat trigger a FlowRunner workflow automatically?
Freshchat doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Freshchat
$100 in credits. No card required. Connect in minutes.