For the complete documentation index, see llms.txt. This page is also available as Markdown.

Fresh Chat

Set up an AI agent for Freshchat live chat. It answers chats on the topics you choose in real time, using what it learned from your Freshdesk account.

eesel's AI agent for Freshchat answers your live chats inside the Freshchat widget, in real time. It replies from your Freshdesk help center, canned responses and past tickets. Replies arrive in your existing widget under one of your Freshchat agents' names, so there is no separate chatbot widget.

Freshchat is Freshworks' live chat product. Give your AI teammate access to it and the same agent that works your Freshdesk tickets answers your live chats. It uses the help center, the canned responses and the past tickets it already learned from. There is no separate knowledge to set up, and the instructions you write decide which chats it joins and what it does in them.

A live chat widget open on a website, where the agent answers a question about refund timing after reading the help center
Your agent answering a live chat in the widget.

Set up eesel in Freshchat

1

Ask your agent to set up Freshchat

Freshchat is a channel on your Freshdesk integration, called Fresh Chat in eesel, so connect Freshdesk first. Then open the chat in your dashboard and ask it to set up Freshchat. It checks whether Freshchat is connected. It then names what you need from your Freshchat admin: an API token, and a webhook key. eesel gives you the webhook URL to save in Freshchat, and Freshchat shows you the key once it is saved. Your agent tells you where the form is, and that it cannot open the form for you.

The dashboard chat where the user asks the agent to set up Freshchat, and the agent reports it is not connected and lists the API token and webhook key needed
The agent checks the connection and names what the setup needs.
2

Fill in the setup form

Open Integrations > Freshdesk in the left sidebar and open Connect Fresh Chat. The form has three steps: an API token, a webhook URL to paste into Freshchat, and the key Freshchat shows after you save it.

The empty Freshchat setup form in the dashboard, with an API Token field, a webhook URL with a Copy button, a Webhook Authentication Key field, and a Connect Freshchat button
The Freshchat setup form and its three steps.
  1. Get your API token. In your Freshworks admin, go to Settings > API Settings > API Details for Chat. Copy the value labelled Your API Key (the eesel form calls it the API Token) and paste it into the API Token field. eesel works out your Freshchat region from the token, so there is nothing to pick.

    The Freshworks API Settings page with the API key highlighted under API details for chat
    The API key on the Freshworks API Settings page.
  2. Save the webhook. Click Copy next to the webhook URL in the form. In your Freshchat admin, go to Admin Settings > Webhooks, paste the URL, and click Save. The URL carries your eesel workspace id, which is how Freshchat messages find your workspace. Each Freshchat account has one webhook, so you do this once.

    The Freshchat Webhooks page with the eesel webhook URL pasted into the Webhook field and the Save button highlighted
    The Webhooks page in Freshchat, with the URL pasted in.
  3. Copy the webhook authentication key. After you save, an Authentication section appears with a public key. Copy the whole key into the form, including the -----BEGIN RSA PUBLIC KEY----- and -----END RSA PUBLIC KEY----- lines. Freshchat signs every message it sends, and eesel checks that signature against this key. A missing or wrong key means your agent never sees the chat.

    The Authentication section on the Freshchat Webhooks page showing the public key to copy
    The key Freshchat shows after you save the webhook.

With all three filled in, click Connect Fresh Chat. eesel checks your API token and saves the connection.

The Freshchat setup form with the API token, the webhook URL and the authentication key all filled in, the token and key masked
The form with all three steps filled in.
3

Check what it can read

Integrations > Freshdesk now shows the connection as Connected, with your Freshdesk account name. Below that are its skills and the Sources it can read, each source with its own toggle and document count. The Automations section on the same page lists the live chat automation.

The connected Freshdesk integration page listing Help Center, Canned Responses and Tickets as sources, each with a doc count and its toggle on
The connected Freshdesk page, with each source's toggle and document count.
4

Write the automation and turn it on

Connecting alone does not start your agent. It needs an automation first. Setting up Freshchat creates one, switched off, called A customer sends a live chat message. Open it from the Automations page in the sidebar.

The automation has one text box, Instructions. What you write there does two jobs at once: it decides which chats wake your agent, and it tells the agent what to do in them. There is no special syntax. eesel reads the whole text, checks each new chat against it, and only joins when the chat fits; once in, it follows the rest of the text. A chat that does not fit is never seen by the agent. Leave the box empty and the agent joins every chat.

A typical set of instructions:

The first line keeps it to one Freshchat topic. The second makes it step back once a person replies. The wording is up to you; these are examples, not commands to copy exactly. Your agent's core Instructions (on its Instructions page) always apply underneath whatever you write here.

Save, then switch the automation on. Your agent can also do this from the dashboard chat.

The Automations page with the live chat message automation switched on, and the dashboard chat about the setup open beside it
The live chat automation, switched on.

The trigger event is fixed when the automation is created. So a new automation is required for each different trigger event.

Check it worked. The Automations page shows the live chat automation with its toggle on. From a terminal, eesel automations lists it as on.

5

Check automation work in Freshchat

Open the widget on your site, or the live chat preview in your Freshchat admin. Ask a question a customer would ask. If you scoped the automation to a topic, start the chat on that topic. A test chat in the widget is a real chat. The reply arrives under the name of one of your Freshchat agents, not an eesel name. The Replies as setting on your Freshdesk integration page in eesel, under Replies as in Fresh Chat decides which one. By default it is the first active agent in your Freshchat account.

A live chat widget on a website where a customer asks a shipping question and a reply arrives under the name of a Freshchat agent
The reply in the widget, posted under a Freshchat agent's name.

You set the widget's look, its welcome message and your business hours in your Freshchat admin, not in eesel.

How it's different from Freshdesk tickets

The standard Freshdesk integration handles email tickets. Those are answered over hours or days, with the full set of reply, tag, assign and close actions. Freshchat handles live chat from the widget on your website. Those are answered in the moment, with the single Chat reply action. Same agent, same knowledge.

Sources, triggers and actions

Sources

Freshchat adds no sources of its own. It uses the ones on your Freshdesk integration: your help center, your canned responses and your past tickets. Your agent also remembers what was said earlier in the same conversation, so a customer does not repeat themselves.

Triggers

Triggers are the events an automation can run on:

Trigger
Fires when
Key

A customer sends a live chat message

A customer sends a message in a Freshchat conversation

freshchat

The automation's Instructions decide which of those messages wake your agent. Along with the message itself, the automation is told which topic the chat is on and whether a teammate has already replied, so instructions about either of those work. A chat that does not match is never seen by the agent. With the box empty, every message wakes it.

Actions

Actions are what it can do in the widget:

Action
What it does

Chat reply

Sends a message in the Freshchat conversation

Update chat properties

Assigns the chat to a group or an agent, or changes its status, priority, type or custom fields. This is how it hands a chat to a person

Update chat contact

Saves the visitor's name, email or phone on their Freshchat contact when they share it

Read chat

Reads the conversation's current properties

You stay in control the whole way. Adjust your AI agent's access to knowledge and its action permissions to your liking. See Actions and Approvals.

From Claude Code, Cursor or a terminal. Freshchat needs a token and a key pasted into a form, so there is no connect command for it. Use the dashboard chat for that step. Filling the form is a human step: name what to fetch and where the form is, wait for the connection status to change, and do not try to open the form yourself. Around it, eesel login, then eesel status shows the Freshdesk integration and its source counts, eesel integrations download start copies your sources in, and eesel automations lists the automations and whether they are on. Switching the automation on is also a dashboard chat step. The trigger key for this page is in the Triggers table above. Full command reference: The eesel CLI. Step by step: Set up from Claude Code or the terminal. From an MCP client: Claude Code and MCP clients.

Limitations

  • No draft mode in live chat. Chat reply sends straight to the customer, so watch the first chats in your Freshchat inbox.

  • No skipping by visitor email or domain. Scope by topic, or by what the customer wrote, instead.

  • Freshdesk comes first. Freshchat is a channel on the Freshdesk integration, so Freshdesk must be connected.

  • Freddy can answer too. If Freshchat's own AI is on for the same topic, both reply. Turn one of them off for that topic.

  • Widget look and hours live in Freshchat. eesel does not change your widget, welcome message or business hours.

  • One webhook per Freshchat account. Each Freshchat account can send its messages to one eesel workspace.

  • Topics are matched by their full name. Write each topic's name exactly as it appears in your Freshchat admin, and name every topic you want covered. Scope by topic, not by widget, because one widget can serve several topics.

  • Replies post under a Freshchat agent's name. To tell eesel's replies apart, create a seat no person logs into, such as "eesel AI", and pick it under Replies as in Fresh Chat on your Freshdesk integration page.

Troubleshooting

Freshchat not showing under Freshdesk?

The Freshchat setup only appears once the Freshdesk integration is connected. Connect Freshdesk first.

Setup form showing again after connecting?

All three steps must be saved: the API token, the webhook URL in Freshchat, and the webhook authentication key. If any one is missing, the form comes back. Walk the three steps again.

Agent not replying to chats?

Check the live chat automation is on, on the Automations page. Then read its Instructions: a chat that does not match them is skipped and never shows up as a task, so a topic name with a typo, or a test chat started on the wrong topic, looks exactly like the agent being off. Then check the Freshchat side. The webhook URL must be saved in your Freshchat admin. The authentication key you pasted must match the one Freshchat shows, because a mismatch means every message is rejected. The API token must still be valid under API Settings > API Details for Chat. If billing on your workspace has lapsed, incoming chats are dropped without a reply.

Connection rejected when saving the API token?

eesel finds your Freshchat region by testing the token against each region. If no region accepts it, the token is wrong or came from the wrong place. Take it from API Details for Chat, not from the Freshdesk ticket API key.

Two replies to every chat, one from eesel and one from Freddy?

Freddy, Freshchat's own AI, is switched on for the same topic eesel handles. Turn it off on that topic in your Freshchat admin, or move eesel to a topic of its own.

Agent keeps replying after a teammate joined the chat?

The automation's Instructions need to say so. Add "Stop replying once a teammate has replied in the chat." If eesel and your teammates share the same agent seat and replies are still mixed up, pick a dedicated seat under Replies as in Fresh Chat on your Freshdesk integration page in eesel.

Replies showing under the wrong person's name?

Replies post under the Freshchat agent set in Replies as in Fresh Chat on your Freshdesk integration page in eesel. By default that is the first active agent in your Freshchat account. Change the setting to put a different name on the replies.

FAQ

How do I add an AI agent to Freshchat?

Connect Freshdesk in eesel, fill in the Freshchat form under Integrations > Freshdesk, then switch on the live chat automation. Your AI agent answers in your existing Freshchat widget, so there is no new chatbot to add to your site. Connecting alone does not reply to anyone: nothing goes out until you switch on the live chat automation, so you can test first.

How long does it take to set up an AI agent in Freshchat?

Once Freshdesk is connected, it is one form: copy an API token from your Freshworks admin, save eesel's webhook URL in Freshchat, and paste back the key Freshchat shows you. Then write the automation's instructions and switch it on. The steps are in Set up eesel in Freshchat.

Does the Freshchat AI agent send replies or draft them?

It sends. A customer in live chat is waiting, so Chat reply posts straight into the conversation. There is no draft mode in live chat.

To keep a human in the loop, have a teammate watch the Freshchat inbox. They read every reply as it goes out and take over any conversation that needs a person. You can also tell your agent when to assign a chat to a group or a person. Add "Stop replying once a teammate has replied in the chat" to the automation's Instructions and eesel leaves the chat to them once they do.

Can I limit which chats the Freshchat AI agent joins?

Yes, in the automation's Instructions. Name a topic to keep it to one queue, tell it to stop once a teammate has replied, or describe the kinds of questions it should take, judged from what the customer wrote. A chat that does not match is skipped. It cannot skip chats by the visitor's email address. To limit the hours, set business hours in your Freshchat admin so the widget only appears then. To pause it, switch the automation off.

Can the Freshchat AI agent hand a chat to a person?

Yes. It can assign the chat to a group or an agent, and change its status, priority or type. Tell it in the automation's Instructions when to do that.

Can I connect Freshchat to Claude or ChatGPT?

Yes, through eesel. Once Freshdesk and Freshchat are connected, you can talk to your eesel agent from Claude, ChatGPT or Cursor. See Use eesel from Claude and other assistants, Use eesel from ChatGPT and Claude Code and MCP clients.

What reporting do I get for the Freshchat AI agent?

The Activity page lists every chat your agent handled, with what it searched, each reply it sent and its reasoning. The Reports page shows volume and triggers over time. You can also ask your agent for a written report, or put one on a schedule.

Last updated