Dec 14, 2025
Bring Kapa into your Zendesk tickets


Bringing kapa to where your customers are is key to increasing the number of interactions with your docs and decreasing the number of tickets that your support team need to deal with - freeing them up for the more complex cases.
Our Support Form Deflector is a great first line of deflection that you can deploy in minutes to your Zendesk support request form to give users an answer before they submit their ticket. The deflector works great and on average will deflect 20-40%, as seen with Mapbox who reduced their support tickets by 20%, saving over 2,500 support hours [1]!
But what about the 60-80% of tickets that still get submitted because either the user is a) not happy with the answer, or, b) didn't take the time to read the answer that was generated and submitted their ticket anyway?
Let's look at how we can add another line of deflection, deploying Kapa inside your Zendesk to automatically send an answer to your customers, or just to draft a response that your agents can copy and paste in to speed up their responses.
Getting started
To get started, you'll need:
The correct permissions within Zendesk to access 'custom actions' and 'connections'
Kapa Project ID (Dashboard → Projects → Manage Projects → Copy Project ID)
Kapa Integration ID (Dashboard → Integrations → Copy Integration ID)
Kapa API key (Dashboard → API Key)
We recommend setting up an integration specifically for this task, this will allow you to appropriately track metrics for this agent. Head to the Integrations section of the dashboard and create a new integration of type Custom (via API) and save the Integration ID for later use.
You should also have some sources set up within your project - your documentation is a good start!
Setting up Zendesk
There are three parts that we are going to need to do in Zendesk: adding a connection, a custom action and then an action workflow.
Step 1: Add a connection
This step is important to be able to call the Kapa API from your Zendesk instance. Navigate to the Zendesk Admin → Apps and Integrations → Connections [2]. Create a new connection with the following configuration:
Config | Value |
|---|---|
Connection name | Something memorable, like "Kapa API" |
Connection type | API Key |
Header name | X-API-KEY |
Value | Your API key |
Allowed domain | api.kapa.ai |
Step 2: Create a custom action
The custom action will handle the logic of sending the ticket details to Kapa, and then receive an answer back. Navigate to the Zendesk Admin → Apps and Integrations → Custom Actions [3]. Create a new custom action with the following configuration:
Config | Value |
|---|---|
Name | Something memorable, like "Get Kapa Answer" |
Description | Something descriptive for your team to understand |
Inputs | Add a single input of type 'text', this will be input into the Kapa query |
API Configuration - Request Method | POST |
API Configuration - Endpoint URL | https://api.kapa.ai/query/v1/projects/<PROJECT_ID>/chat/ |
API Configuration - Authentication | Select the connection created in Step 1. |
API Configuration - Body | This should be a JSON object, see below. |
Outputs | Define two outputs, this will send a request to the Kapa API and allow you to select the outputs that you want. You can take as many as you'd like but we recommend the 'answer' at a minimum |
Outputs - 'answer' | The answer Kapa has generated |
Outputs - 'is_uncertain' (optional) | If the answer is uncertain or not, true, if uncertain |
The body of the request will be where we can configure what is sent to Kapa, the simplest form of this will be:
Feel free to change the query as you see fit to match your requirements. The <INPUT> field should use the field that we created above in the "inputs" field.
Some other fields that you could pass to Kapa:
Field | Description |
|---|---|
source_ids_include | If you'd like to specify the data sources used to answer the customer query |
user | Used to pass along additional data on the user - you could pass details from Zendesk into this by defining additional inputs |
You can refer to our API docs on the /chat endpoint for more details: /chat
Step 3: Create an action flow
Now that we have most of the set up done we are going to want a method of actually triggering the flow. Navigate to the Zendesk Admin → Apps and Integrations → Action Flows [4]. Create a new action flow.
Add a trigger
Create a new trigger that will run when a new ticket is created.
Add trigger → Tickets → Lifecycle → Ticket created
Ticket lookup
Add a 'Look up ticket' action, click the input and select 'Ticket ID' from the trigger step.
Add a custom action
Find the custom action that you created in Step 2 of this guide - this is often at the bottom of the 'Add step' panel. Once added, in the input field select Add variable → Look up ticket → Description. This will grab the body of the ticket to pass onto Kapa in the query that we have previously set up.
(optional) Add a certainty check
If you have added is_uncertain as an output, this gives you the option to add a check here. If you are planning on having Kapa automatically send the message to your end users, you may want to consider if you want to send messages that are potentially uncertain, or leave these for your agents to review.
To add a check for certainty add a 'branch' action, and set the 'variable' to the 'is_uncertain' output and the 'operator' to 'is false'. Any steps that you add under the 'if condition is met' portion of this branch will execute if the response from Kapa is certain.
Update the ticket
Add a 'Update ticket' action. The 'Ticket ID' should be set using the ticket ID that we retrieved from the trigger that we setup above. Add two additional fields:
'Comment is public' - set this to 'true' to respond to a customer, set this to 'false' to create an internal comment
'Comment' - this is the content of the comment, select the output ('answer') from the custom action that called Kapa.
Tip, if you used the certainty check, you can add two of these, one on each side of the branch. In the 'if condition is met' portion, add an 'Update ticket' action that sets the 'comment is public' to 'true' to automatically respond to the customer, and on the other side of the branch create one that has 'comment is public' to 'false' for review by your support agents!
FAQ
How does Kapa work inside Zendesk to provide answers?
By making use of existing Zendesk tools and Kapa's API, it's possible to create a custom workflow within Zendesk that reaches out to Kapa's API to generate an answer based on your documentation and the contents of the ticket.
What fields can be sent in the prompt?
Any field that Zendesk allows access to within their custom workflow builder can be passed into the prompt and used as context for Kapa's answer.
Can the conversations be reviewed within Kapa's dashboard?
Absolutely! As we use the integration ID within the set up process, these conversations will appear within the 'conversations' section of the dashboard. You can even filter by the integration to see just conversations from your Zendesk agent.
Sources
[1] How Mapbox reduced monthly technical support tickets by 20%
[2] Creating connections to integrate with external services (Zendesk)
[3] Creating custom actions for auto assist and action flows (Zendesk)
[4] Creating action flows to automate processes across Zendesk and external systems (Zendesk)

Turn your knowledge base into a production-ready AI assistant
Request a demo to try kapa.ai on your data sources today.
