🎯

zendesk

🎯Skill

from jdrhyne/agent-skills

VibeIndex|
What it does

Retrieves and searches Zendesk support tickets, organizations, and user data through API calls for comprehensive customer support insights.

πŸ“¦

Part of

jdrhyne/agent-skills(14 items)

zendesk

Installation

git cloneClone repository
git clone https://github.com/jdrhyne/agent-skills.git ~/agent-skills
πŸ“– Extracted from docs: jdrhyne/agent-skills
1Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Zendesk Support API for searching tickets, organizations, and users. Use when working with support tickets, customer issues, or correlating support data with Salesforce accounts.

Overview

# Zendesk

Access Zendesk support data β€” tickets, organizations, users, and search.

Setup

Store credentials in ~/.config/zendesk/credentials.json:

```json

{

"subdomain": "your-subdomain",

"email": "you@company.com",

"api_token": "YOUR_API_TOKEN"

}

```

Get your API token from: Zendesk Admin β†’ Apps & Integrations β†’ APIs β†’ Zendesk API β†’ Add API Token.

Authentication

```bash

ZD_CREDS=~/.config/zendesk/credentials.json

ZD_SUBDOMAIN=$(jq -r '.subdomain' $ZD_CREDS)

ZD_EMAIL=$(jq -r '.email' $ZD_CREDS)

ZD_TOKEN=$(jq -r '.api_token' $ZD_CREDS)

ZD_AUTH="$ZD_EMAIL/token:$ZD_TOKEN"

ZD_BASE="https://$ZD_SUBDOMAIN.zendesk.com/api/v2"

curl -s -u "$ZD_AUTH" "$ZD_BASE/tickets.json?per_page=1"

```

Core Operations

List Recent Tickets

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/tickets.json?sort_by=created_at&sort_order=desc&per_page=25" | \

jq '[.tickets[] | {id, subject, status, priority, created: .created_at, updated: .updated_at, org_id: .organization_id}]'

```

Get Ticket Details

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/tickets/TICKET_ID.json" | jq '.ticket'

```

Get Ticket Comments (Full Thread)

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/tickets/TICKET_ID/comments.json" | \

jq '[.comments[] | {author_id, body: .body[0:500], created: .created_at, public}]'

```

Search Tickets

```bash

# By status

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+status:open" | jq '.results'

# By organization name

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+organization:\"Acme Corp\"" | jq '.results'

# By subject keyword

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+subject:billing" | jq '.results'

# By date range

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+created>2025-01-01" | jq '.results'

# Combined

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+status:open+priority:high" | jq '.results'

```

List Organizations

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/organizations.json?per_page=100" | \

jq '[.organizations[] | {id, name, domain_names, created: .created_at}]'

```

Search Organizations by Name

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/organizations/autocomplete.json?name=Acme" | jq '.organizations'

```

Get Organization Details

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/organizations/ORG_ID.json" | jq '.organization'

```

Get Tickets by Organization

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/organizations/ORG_ID/tickets.json" | \

jq '[.tickets[] | {id, subject, status, priority, created: .created_at}]'

```

List Users

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/users.json?per_page=100" | \

jq '[.users[] | {id, name, email, role, organization_id}]'

```

Search Users by Email

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/users/search.json?query=user@example.com" | jq '.users'

```

Get User's Tickets

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/users/USER_ID/tickets/requested.json" | jq '.tickets'

```

Ticket Statistics

Open Tickets by Priority

```bash

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+status

jq 'group_by(.priority) | map({priority: .[0].priority, count: length})'

```

Tickets Created Today

```bash

TODAY=$(date +%Y-%m-%d)

curl -s -u "$ZD_AUTH" "$ZD_BASE/search.json?query=type:ticket+created>=$TODAY" | \

jq '{count: .count, tickets: [.results[] | {id, subject, status, requester_id}]}'

```

Correlating with Salesforce

To match Zendesk organizations to Salesforce accounts:

  1. By domain: Match Zendesk org domain_names to Salesforce Account Website
  2. By name: Match Zendesk org name to Salesforce Account Name
  3. By email domain: Extract domain from ticket requester email

Find Zendesk Org for Salesforce Account

```bash

ACCOUNT_NAME="Acme Corp"

curl -s -u "$ZD_AUTH" "$ZD_BASE/organizations/autocomplete.json?name=$(echo $ACCOUNT_NAME | jq -sRr @uri)" | jq '.organizations'

```

Endpoints Reference

| Endpoint | Method | Use |

|----------|--------|-----|

| /tickets.json | GET | List tickets |

| /tickets/{id}.json | GET | Get ticket details |

| /tickets/{id}/comments.json | GET | Get ticket comments |

| /search.json?query= | GET | Search (tickets, users, orgs) |

| /organizations.json | GET | List organizations |

| /organizations/{id}.json | GET | Get org details |

| /organizations/{id}/tickets.json | GET | Get org's tickets |

| /organizations/autocomplete.json?name= | GET | Search orgs by name |

| /users.json | GET | List users |

| /users/search.json?query= | GET | Search users |

| /users/{id}/tickets/requested.json | GET | Get user's tickets |

Pagination

Responses include pagination info:

```json

{

"tickets": [...],

"next_page": "https://...",

"previous_page": null,

"count": 4294

}

```

Use page parameter or follow next_page URL.

Rate Limits

  • 700 requests per minute (admin)
  • 400 requests per minute (agents)
  • Check X-Rate-Limit-Remaining header

Search Query Syntax

| Operator | Example | Description |

|----------|---------|-------------|

| : | status:open | Exact match |

| > < >= <= | created>2025-01-01 | Date/number comparison |

| | subject:billing | Wildcard |

| "" | "exact phrase" | Phrase match |

| - | -status:closed | Negation |

| type: | type:ticket | Filter by type |

Notes

  • Your subdomain is the xxx in xxx.zendesk.com
  • Organizations map roughly to Salesforce Accounts
  • Users can be end-users (customers) or agents (staff)
  • Ticket statuses: new, open, pending, hold, solved, closed

More from this repository10

🎯
google-ads🎯Skill

Queries, audits, and optimizes Google Ads campaigns via API or browser automation to improve ad performance and reduce wasted spend.

🎯
salesforce🎯Skill

Queries and manages Salesforce organizations, enabling precise data retrieval and business logic integration via CLI or MCP server.

🎯
nudocs🎯Skill

Uploads documents to Nudocs.ai for collaborative editing, generates shareable links, and retrieves edited content with flexible format options.

🎯
parallel-task🎯Skill

I apologize, but I cannot generate a description without seeing the actual code or context of the "parallel-task" skill from the repository. Could you provide more details about what the skill does...

🎯
task-orchestrator🎯Skill

Orchestrates multi-agent software development tasks across parallel tmux sessions with intelligent dependency tracking and self-healing monitoring.

🎯
context-recovery🎯Skill

Recovers and reconstructs conversation context from fragmented or incomplete interaction histories to maintain conversational coherence.

🎯
elegant-reports🎯Skill

Generates minimalist, Nordic-inspired PDF reports with customizable templates and themes using a clean, functional design approach.

🎯
jira🎯Skill

I apologize, but I cannot generate a description without seeing the actual Jira skill code or details. Could you provide the code or specifics about the Jira skill from the repository so I can craf...

🎯
sysadmin-toolbox🎯Skill

Discovers and recommends CLI tools and shell one-liners for sysadmins, DevOps, and security professionals across network, system, log, and container troubleshooting tasks.

🎯
planner🎯Skill

Breaks down complex projects into structured, atomic tasks with clear dependencies, enabling systematic and parallel execution across multiple sprints.