Connector ยท Business and support

A Zendesk AI agent that answers in your Slack channels.

Chickpea gives a channel a named AI teammate that holds its own Zendesk connection: a Zendesk Slack integration you talk to. Ask it what is still open, find the ticket someone means, open one from a thread, or leave an internal note. It answers in the channel, with a link into Zendesk.

What people ask it.

The teammate is @support, in #billing. Pick a scenario to watch it play.

# billing
42
Today
M
Marco
@support what's still open in Zendesk this morning, and who has each one?
๐Ÿ‘€ 1
supportAPP
Five tickets are below solved. Two are unassigned, and the oldest has been open since Friday.
TicketSubjectAssigneeOpen since
#7150Charged twiceUnassignedFri Sep 12
#7171No receiptPriyaMon Sep 14
#7186Seat count wrongDanaTue Sep 15
#7198Card declinedUnassignedWed Sep 16
#7204Duplicate chargeDanaWed Sep 16
supportยทClaude Sonnet 5ยทConfigure
BIS
Aa
  • Check the queue, find the ticket Read only

    @support what's still open in Zendesk this morning, and who has each one@support find the ticket where the customer said the invoice was charged twice

    Reads never need confirmation. Search takes the same query language as the search box in Zendesk, so "open and unassigned" becomes status<solved assignee:none. A long answer comes back as a table in the thread.

  • Open a ticket from a thread Applies at once

    @support turn this thread into a ticket for Northwind, priority high@support open a ticket: checkout fails on Safari, and quote what Priya wrote above

    A new ticket is a small write, so it goes straight through. What you pointed at becomes the first comment, and the reply names the ticket number, the priority it set, and links to it.

  • An internal note, or a reply the customer reads Asks first

    @support add an internal note on 7204 that billing confirmed the refund@support reply to the customer on 7204 that the duplicate charge is refunded

    An internal note is a comment marked public: false, which only agents see, so it applies at once. A public reply reaches the customer. The teammate shows the wording it would send and waits for a yes.

  • Change several tickets at once Asks first

    @support assign the unassigned billing tickets from last week to me@support tag every ticket about the duplicate charge with refund-sep and set them to normal

    One ticket updates on the spot. A change across a set comes back as the list it would touch, with the count, and nothing applies until you answer.

  • On a schedule Applies at once

    @support every weekday at 9am Eastern, post the tickets still open and unassigned@support every Friday at 4pm Pacific, list what is still open from this week

    A schedule saves on the spot. It needs a time zone, runs under the Zendesk connection of the person who asked, and pauses rather than runs if that connection ever goes away.

Connect it

Five steps, from Admin or from Slack.

The credential is asked for once, on a page Chickpea serves, and never in Slack. The link the teammate posts is good for one action, for one teammate, for 24 hours.

  1. In Chickpea Admin, open the teammate, then Connections, find Zendesk, and choose Connect. Or ask in Slack, @support connect Zendesk, and follow the link it posts.
  2. Give your workspace subdomain, the acme in acme.zendesk.com. Chickpea asks for it before the credential, and that one host becomes the only address the connection may call.
  3. In Zendesk, open Admin Center โ†’ Apps and integrations โ†’ APIs โ†’ Zendesk API and add an API token. Only an administrator can create one, and Zendesk shows the full token once.
  4. Choose who uses it. Team is one shared credential that everyone who can use the teammate acts through. Personal means each member adds their own, and Zendesk records their actions as them.
  5. Paste the credential Basic auth wants, the base64 of you@acme.com/token:<api_token>, into the write-only field. Then ask @support what is open in Zendesk, which reads and changes nothing.

A connection belongs to one teammate. Giving a second teammate Zendesk means a second connection with its own credential, so the teammate in #eng never inherits the support queue.

A teammate with a Zendesk connection is handed a built-in skill for the Zendesk API: the base URL with your subdomain, the shape of the JSON that comes back, pagination, and tested recipes for listing, searching, reading, creating, and updating tickets. It also spells out that a comment marked public: false is an internal note and public: true is a reply the customer reads. The skill is open source.

# billing
42
Today
D
Dana
@support connect our Zendesk
๐Ÿ‘€ 1
supportAPP
Open this link. It asks for your Zendesk subdomain, then for the API credential, which never comes through Slack. Only people in #billing can use the connection through me.
Connect Zendesk
supportยทClaude Sonnet 5ยทConfigure
supportAPP
Zendesk is connected as a team account on northwind.zendesk.com. I can search, read, create, and update tickets there now.
support@support
Answers billing questions and works the Zendesk queue.
has access to Zendesk
โœ… 1
BIS
Aa

Questions people ask

Can an AI agent create Zendesk tickets from Slack?

Yes. Mention the teammate, say what the ticket is about, who it is for, and how urgent it is, and it creates the ticket through the Zendesk API and replies with the number and a link. It can quote the thread you asked in as the first comment. Anything you leave out it asks about rather than inventing.

Does Slack integrate with Zendesk?

Two ways. Zendesk ships its own Slack integration, which creates tickets from messages, adds internal notes, handles approvals, and posts ticket updates into channels when an admin sets up triggers. A Chickpea teammate is the other way. It holds a Zendesk connection and does what you ask in the channel, through the Zendesk API.

Do I still need the Slack for Zendesk integration?

Keep it if you use its notifications. A Chickpea teammate has no way to hear from Zendesk when a ticket changes, and trigger-based updates in a channel are exactly what the official integration is for. The two run side by side, and the teammate uses the API with its own credential.

Is this the same as Zendesk AI agents?

No. Zendesk AI agents are Zendesk's own product. They answer customers across messaging, email, and voice, they come with every Suite and Support plan, and Zendesk prices them on resolutions. A Chickpea teammate answers your team in Slack, on infrastructure you run, and only touches a ticket when someone in the channel asks.

Does it use Zendesk's MCP server?

No. The Zendesk connector is a direct API lane. The teammate calls `<your-subdomain>.zendesk.com/api/v2` with an API token, confined to GET, POST, and PUT, and never talks to an MCP server for Zendesk, first-party or otherwise. Chickpea does use vendor MCP servers for other connectors, such as Linear and Stripe.

Can it reply to a customer?

Yes, and it asks first. A public reply is a consequential write under the confirmation policy, so the teammate shows you the wording and waits. An internal note applies at once, because it stays inside Zendesk. Underneath sits a stricter gate. During a Slack turn, any write through a connection is refused unless the message you just sent names that action.

Can it delete or merge tickets?

It cannot delete anything. The Zendesk lane allows GET, POST, and PUT only, so deletion is refused at the connection, whatever the teammate is asked. Merging is not in the built-in recipes either, so treat it as something to do in Zendesk rather than from the channel.

Where does my Zendesk credential live?

On your deployment, in a write-only field. It never reaches the browser, the model's context, the tool arguments, or Slack. The model picks a connection by ID and the secret goes in at the last moment, on the way out. Disconnect the account and the stored secret is removed, and any schedule that depended on it pauses.

Who can create the API token, and will it keep working?

An administrator, from Admin Center, on any Suite or Support plan. Note Zendesk's own deadline: since 28 July 2026 tokens unused for 30 days are deleted, and Zendesk says all API tokens stop working by 30 April 2027, with OAuth as the migration path. Check that article before you build anything long-lived on a token.

Will it post in Slack when a ticket changes?

Not on its own. There are no Zendesk webhooks in this lane, so nothing wakes the teammate up. Ask for a schedule instead, such as a weekday morning list of tickets that are open and unassigned, and it posts that to the channel at the time you set. For event-by-event alerts, use Zendesk triggers and its own Slack integration.

Try it

Give a channel a Zendesk teammate.

One deploy into your own Cloudflare account, connect Slack, paste one token, ask. Apache 2.0, no seats, no metering.

Star on GitHub4

Or run it on Node. The setup guide covers both.