eesel AI instantly plugs into your Zendesk, learns from your past tickets, macros, help center and more, and seamlessly joins in like a new teammate.
Training your AI with Zendesk
Help center
For public help centers:
Choose the bot, or create a new bot, to connect with your help center.
Click the integrations menu on the sidebar.
Click Zendesk.
Click "Setup integration".
Enter you help center URL and click "Start crawling"
The bot will then crawl your help center and start adding links to your bot to use as knowledge within minutes.
Macros
When you connect your Zendesk domain to your eesel AI bot, it will automatically index your macros and ad them to your AI bot.
Go to your eesel dashboard and unfurl the Zendesk integration on the left sidebar
Click Sources
Click Macros
Set them live or as drafts to enable or disable them.
Click re-sync to update them after any changes in Zendesk.
Past tickets
Training on past tickets requires you to connect your Zendesk domain to the bot you want to train. Once that's done, click on your Zendesk integration on the left sidebar > Click 'Sources' > 'Past tickets'.
We recommend filtering your tickets using the query in order to get the best quality results.
Restricted Help Center
Install our browser extension
Open up the tabs you want to train the AI with
Click 'Add sources' > 'Add all tabs in browser'.
On a paid plan, reach out to us through support and we can automatically crawl and update your restricted help center.
Create a Zendesk AI Agent
To set up eesel as an AI agent inside Zendesk, see our AI Agent guide.
eesel AI, once connected to your Zendesk domain, acts as an agent inside Zendesk. It will operate as a "web hook" in your triggers.
If you want to alter what tickets it responds to, we recommend cloning your trigger and editing the conditions there to achieve the desired result.
eesel will 'appear' in Zendesk as the user who has added/authorized it initially. To change who eesel appears as, or to use a new agent ID specifically for the bot, you can add in the user ID in the AI Agent tab of the Zendesk integration in the eesel dash.
Create a Zendesk AI Copilot
Check out our setup guide for using AI Copilot in your Zendesk.
eesel AI can act as an AI copilot for your Zendesk by using our browser extension.
The AI can automatically pick up on the content of a ticket, and generate a response based on the knowledge it has access to.
You can use the browser extension to select the bot you want to use for its answer, and then draft a response and chat with the bot to edit before you paste is as a reply.
Zendesk Messaging Widget Integration
eesel AI can operate inside your existing Zendesk Messaging Widget. It will be able to operate inside the widget without changing the widget itself in any way.
To do so, you must be on a paid Business Plan. You must also have access to Conversations APIs.
Once you have the above ^ you can then:
Click open the Zendesk integration menu on the left sidebar
Click AI Agent
Click AI Agents for messaging
Click "Configure API keys", and input the field values you get after creating a new API in Conversations API in your Zendesk.
Once configured, you should be able to follow the prompts to set up your configuration in eesel.
For more advanced information about the Zendesk messaging widget, go here.
Zendesk Actions
Once you've trained the bot and integrated it with your Zendesk, it's important to customize it and add actions so that you can get the most out of your AI and automate manual tasks.
The following are Zendesk specific actions. You can use them in combination with other actions on different platforms as well.
Close ticket
zendesk_close_ticket
Purpose: Close a Zendesk ticket.
Key Params:close: true
When/How to Use: Use this tool when the user explicitly indicates their issue is resolved, they are satisfied with the assistance, or the conversation reaches a natural conclusion where closure is appropriate according to your support process. The ticket ID for the current conversation is automatically available to the tool.
Example Prompt Instruction:
If the user explicitly states their problem is solved, they are satisfied with the outcome, or the conversation has concluded and no further action is required, you must confirm this understanding with the user. If they agree, call the zendesk_close_ticket tool to mark the ticket as closed.
Leave internal note
zendesk_leave_internal_note
Purpose: Add a private internal note to a Zendesk ticket.
Key Params:note: str
When/How to Use: Use this tool to add context, summarize the AI's interaction, or flag important information for a human agent who might review the ticket later. This note is not visible to the end-user. Use this when the AI performs an action (like escalating) or when the conversation contains nuances a human agent should be aware of. The ticket ID is automatically available.
Example Prompt Instruction:
If you escalate a conversation to a human agent, or if you are unable to fully resolve the user's query but have provided some assistance, you must call zendesk_leave_internal_note. The note parameter should be a brief summary of the user's request and the steps you took or information you provided before the handover.
Tag ticket
zendesk_tag_ticket
Purpose: Add tags to a Zendesk ticket for categorization and workflow automation.
Key Params:tag: str (space-separated)
When/How to Use: Use this tool when the conversation's topic or resolution falls into specific categories you use for reporting, routing, or automation. Instruct the AI to identify keywords or themes in the conversation to determine the appropriate tags. If applying multiple tags in one call, list them space-separated in the tag parameter string. The ticket ID is automatically available.
Example Prompt Instruction:
After assisting the user, analyze the conversation's main topic and the resolution. If the user's request was related to 'billing', 'shipping', or 'product support', you must call zendesk_tag_ticket. The tag parameter should be the relevant tag (e.g., 'billing', 'shipping', 'product-support'). If the issue was successfully resolved by you, also add the tag 'ai-resolved'. If both apply, use space-separated tags like 'shipping ai-resolved'.
Assign ticket (escalation)
zendesk_assign_ticket
Key Params:new_assignee: str
When/How to Use: Use this tool when the query requires human expertise that the AI cannot provide, or when the conversation needs to be routed to a specific team (represented by an assignee). You will need to define how the AI identifies the correct new_assignee identifier (which is typically an ID or a precisely matched name depending on your Zendesk setup and the tool's exact implementation, but is not an email address). The ticket ID is automatically available.
Example Prompt Instruction:
If the user's request involves a complex technical issue you cannot resolve, or if the user specifically asks to speak with a human agent, you must inform the user you are escalating the issue and then call zendesk_assign_ticket. Set the new_assignee parameter to the specific ID or identifier for your 'Technical Support Team' group.
Chat handover (Zendesk messenger)
zendesk_chat_handover
Purpose: Handover a Zendesk Messenger chat to a human agent.
Key Params: — (No explicit parameters)
When/How to Use: This is specifically for chat interactions. Use this when the AI determines it cannot resolve the user's query in a chat format and human intervention is required immediately.
Example Prompt Instruction:
In a chat conversation, if the user's query is unclear, requires account-specific actions you cannot perform, or the user explicitly asks to chat with a human, you must inform the user that you are connecting them with an agent and then call the zendesk_chat_handover tool.
Update ticket
zendesk_update_ticket
Purpose: Updates a Zendesk ticket with the provided payload.
Key Params:payload: str (JSON string)
When/How to Use: Use this for modifying various ticket fields (status, priority, custom fields, etc.). The ticket ID for the current conversation is automatically available. You must instruct the AI to construct the JSON payload based on the desired updates indicated by the user or the workflow logic.
Example Prompt Instruction:
If the user indicates their issue is resolved and you have confirmed it, or if the workflow requires setting the ticket status to 'solved', you must call zendesk_update_ticket. Set the payload parameter to a JSON string that updates the status, e.g., payload='{"status": "solved"}'.
If the user reports a high-priority issue you are escalating, you might call zendesk_update_ticket with payload='{"priority": "high"}'.
To update a custom field (ID 123), call zendesk_update_ticket with payload='{"custom_fields": [{"id": 123, "value": "new value"}]}'.
Get ticket fields
zendesk_get_ticket_fields
Purpose: Retrieves specified fields from a Zendesk ticket.
Key Params:fields: str (comma-separated)
When/How to Use: Use this when you need specific information from the current ticket (e.g., its current status, assignee, or a custom field value) to inform your next action or response. You must specify the field names (standard or custom field IDs as strings) you need. The ticket ID is automatically available.
Example Prompt Instruction:
Before escalating a ticket, you should check its current status and assignee. Call zendesk_get_ticket_fields with the parameter fields='status,assignee_id'. Use the results to inform the user about the current state or to decide who to assign it to next.
If a user's query depends on a custom field (ID 456), call zendesk_get_ticket_fields with fields='456'.
When/How to Use: Use when a user's request warrants creating a new, separate ticket, such as a new inquiry identified within an existing conversation, or a request received via a non-ticket channel that needs formal tracking. You must gather the summary, name, and email of the requester. Optional parameters like tags, group_id, or assignee_id can be set based on workflow rules or user input.
Example Prompt Instruction:
If a user asks a new question that is unrelated to the current conversation's topic, offer to create a new ticket for that specific question. If they agree, collect a brief summary of the new question, the user's name, and email address. Call zendesk_create_ticket with the collected summary, name (from user context), and email (from user context). Add a tag like tags=['new_inquiry'] or specify an group_id if needed.
FAQs
How do I set up the AI as a unique user in my Zendesk?
If you need to change the user that Eesel AI uses to send replies and updates inside Zendesk, follow these steps:
Step 1: Create a New User in Zendesk
Log into your Zendesk account.
Navigate to Admin Center > People > Agents
Click Add user and enter the necessary details (name, email, role).
Save the user.
Step 2: Find the User ID
The User ID is a unique identifier required for Eesel AI. To find it:
In Zendesk, go to Admin Center > People > Search Users and find the newly created user.
Click on the user’s name to open their profile.
Look at the URL in your browser’s address bar—it will be in the format: