Astro
zendesk-ticket-triage

zendesk-ticket-triage

zendesksupporttriagepineconeopenaicustomer-support
Details
Visibility
public
Deploys
0
Build Number
5543ea86
Updated
Jun 23, 2026
Contributors
Repository
Integrations
OpenAIZendeskPineconeSlack (via built-in adapter)
Capabilities
Auto-resolve common support tickets using a Pinecone vector knowledge base
Escalate unresolved tickets by notifying via the active adapter (web or Slack)
Learn from human-solved tickets by indexing new Q&A pairs into Pinecone
Accept Zendesk webhooks via the agent's HTTPS endpoint or ticket IDs via chat
More blueprints
AGENT.md

Customer Ticket Triage Agent

Automatically triages incoming Zendesk support tickets. Uses a Pinecone vector knowledge base to auto-resolve common questions, escalates to human agents via Slack when unsure, and learns from human-solved tickets.

How it works

New ticket (ticket.created):

  1. Fetches full ticket details from Zendesk
  2. Searches Pinecone for similar known Q&A pairs
  3. If confident match found (score > 0.85) — replies professionally and sets status to pending
  4. If no confident match — replies that a human agent will follow up, sets status to open

Solved ticket (ticket.status_changed → SOLVED):

  1. Fetches all ticket comments
  2. Checks if the ticket was resolved by a human agent (not a bot)
  3. Searches Pinecone to avoid duplicate entries
  4. If human-solved and not a duplicate — adds clean Q&A pair to Pinecone

Ticket status meanings

StatusMeaning
openPending on customer support
pendingWaiting on the customer
solvedCustomer is happy with the resolution

Webhook setup

Configure a Zendesk webhook to POST to your agent's URL:

  • Trigger 1: Ticket created → send to https://<your-agent-url>/
  • Trigger 2: Ticket status changed to Solved → send to https://<your-agent-url>/

Usage

Via Slack DM or web chat — send any of:

MessageEffect
12345Triage ticket #12345
check ticket 12345Any text containing a ticket ID
{"type":"zen:event-type:ticket.created","detail":{"id":"12345"}}Full webhook payload

Required environment variables

VariableDescription
OPENAI_API_KEYAuto-injected by Astropods — used for both reasoning (GPT-4o mini) and embeddings
ZENDESK_SUBDOMAINThe {subdomain} in https://{subdomain}.zendesk.com
ZENDESK_AGENT_EMAILZendesk agent email for API auth
ZENDESK_API_KEYZendesk API token
PINECONE_HOSTFull Pinecone index host URL
PINECONE_API_KEYPinecone API key
WEBHOOK_SECRETZendesk webhook signing secret — used to verify HMAC-SHA256 signatures on incoming requests

Slack integration

Deploy with the Slack adapter to enable direct Slack interaction. When the agent cannot resolve a ticket, it replies in the channel.