Dec 14, 2025

Tutorial: How To Make a Zendesk Email AI Agent

Tutorial: How To Make a Zendesk Email AI Agent

Bring Kapa into your Zendesk tickets

by

by

by

Karl Jones

Karl Jones

Karl Jones

Overview

Getting started
Setting up Zendesk
FAQ

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:

{
  "integration_id": "<INTEGRATION_ID>",
  "query": "Respond to the following as a <ORG> support agent, let them know the response is AI generated: <INPUT>"
}

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.

  1. Add a trigger

Create a new trigger that will run when a new ticket is created.

Add trigger → Tickets → Lifecycle → Ticket created

  1. Ticket lookup

Add a 'Look up ticket' action, click the input and select 'Ticket ID' from the trigger step.

  1. 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.

  1. (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.

  1. 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)


Trusted by hundreds of COMPANIES to power production-ready AI assistants

Turn your knowledge base into a production-ready AI assistant

Request a demo to try kapa.ai on your data sources today.