DocsSign inInstall Kastel
All connectors

Plug an AI into your Zendesk tickets without letting a ticket leave the group that handles it.

With Kastel

Plug in Zendesk and your Kastel reads the subject, description and every comment on your tickets, your agents' internal notes included. The group a ticket is assigned to is what decides, on its own, who may read it back through an AI. A ticket with no group, the one all your agents can see, is filed in no department and waits for an administrator.

The internal note says what an agent really thinks of the case

A support ticket is one of the few places where three voices live inside a single object. The customer describes the problem in their own words, sometimes in anger, and pastes in their own order number or address as they go. An agent answers in public. That same agent writes, in an internal note, what they really think of the case, and the customer never sees that third voice.

It is also the most useful archive an AI can read in a company that sells anything. It holds every fault your product has caused, every workaround that worked, and the real reason behind the refunds. An agent who starts on Monday takes months to acquire what that archive already knows.

Both of those things are true at once. The useful question is therefore which tickets an AI may read, and on whose behalf it is working.

What the ticket carries, and what a plugged-in AI receives

Every row can be checked by opening a ticket in your own Zendesk.

What the ticket carries in ZendeskWhat a plugged-in AI receives
The description written by the customerThe same text, at the head of the ticket
A public reply from your agentThe same text, labelled public
An internal note from your agentThe same text, labelled internal
A reply inserted by a macroThe inserted text, never the macro that produced it
An attachment sent by the customerNothing at all
The group handling the ticketNothing in the text; that group decides who is allowed to read

Comment formatting is not kept. The connector asks Zendesk for the plain-text version of a comment, and that is the version that comes in.

The group handling the ticket decides who may read it back

Zendesk assigns a ticket to a group, and a group gathers agents. That is the only original permission there is anything to inherit from, and the connector leans on nothing else. It expands the group into agents, identifies each agent in your organisation, and files the ticket in the department all of them belong to.

When they do not all belong to one, the ticket is filed in no department and waits for an administrator's decision. The same holds when the group is empty, when one of its agents cannot be identified in your organisation, and when the list of its members comes back without telling us whether a page was missing.

The case that surprises people is the ticket with no group. In Zendesk it is the most widely visible ticket, the one every agent can open. In your Kastel it is the least readable of all, because general visibility designates no particular department. An administrator can of course file it, and that decision is recorded like the rest of what your company decides about its own knowledge.

One last detail decides how far an incident spreads. Each group is read separately. When the access key cannot read one specific group, only that group's tickets wait for an administrator, and the pass carries on for the others. When the key has been revoked, the whole pass stops and reports an access problem. That key appears in no URL, no log and no file header, and our security page describes where it is kept. Intercom, which handles the same material, answers the question differently.

The ticket, its public reply and its internal note

The connector covers Support tickets, and nothing else in your Zendesk account.

What your Kastel reads in Zendesk

  • The subject and description of your tickets, as the customer wrote them
  • Your agents' public replies, in plain text
  • Your agents' internal notes, labelled as such
  • The group assigned to the ticket and its agents, to decide who may read

What it never reads

  • Attachments on your tickets
  • Your macros and your custom fields
  • Your help centre articles, which are not tickets
  • Tickets in any subdomain other than the one you connected

Attachments are excluded for a concrete reason. A customer attaches a screenshot without looking at what surrounds the error, and that ranges from a bank statement open in another tab to a private conversation left visible. The text of the ticket is enough to understand the case.

The first pass goes back through your whole ticket history

Zendesk can say what has changed since last time, which is rarer among business tools than you would expect. The first pass therefore starts at the beginning of your history, with no window of a few months, and later passes reread only what moved.

The cursor marking that position never advances past a ticket that failed. When a ticket fails, the position freezes before it, and the next pass picks it up along with everything that follows it in the feed. A ticket already read and unchanged costs nothing to review.

A ticket your agents delete moves to the deleted status in Zendesk. The connector stops reading it, and the next reconciliation counts it as absent from your account.

One blind spot deserves naming. A change in a group's membership updates no ticket's modification date, and Zendesk emits no event for that change. The correction therefore happens on the reconciliation pass, which rereads every ticket and recomputes the department of each one.

What this connector does not do

It does not protect your agents' internal notes. They come in with the ticket, labelled internal, and they are readable by the department of the group handling that ticket, exactly like the public reply. The group decides for the whole ticket, never comment by comment. If your agents write things about a customer that a colleague in the same department should not read back, that is a habit to deal with before you connect anything.

It does not work inside Zendesk. No ticket is created, commented, reassigned or closed, and the transport it uses exposes one single operation, reading. A plugged-in AI can tell you what a ticket holds; it cannot answer it.

It does not correct a permission change to the second. Between two reconciliation passes, a ticket whose group changed membership keeps the department it was given. The window is short and it is real, and we would rather write it down than let you discover it.

A ticket deleted in Zendesk is not erased from your Kastel. The copy already read is marked there as gone at the source and kept, readable by the same people as before, until an administrator triggers the erasure. On a source carrying a customer's own words, that is worth knowing before an erasure request arrives rather than after.

See how content gets filed before you plug an AI into it.

The product page describes the context layer your AIs query, how a piece of content is filed into a department, and what an administrator decides. Kastel's core is free to self-host, with all of its connectors.

See the product
Other connectors in detail
Intercom
With no team assigned, a conversation is readable by nobody.
Front
The members of each shared inbox decide who rereads its conversations.
Crisp
The text of the thread comes in, the visitor's identity stays out.

See the full connector catalogue