On first use, read setup.md for API credentials and workspace integration.
User needs to interact with Zendesk: create or update tickets, search support history, check user details, or automate support workflows. Agent handles API operations, ticket management, and reporting.
Memory at ~/zendesk/. See memory-template.md for structure.
~/zendesk/
├── memory.md # Credentials + preferences + recent context
├── templates/ # Saved ticket templates and macros
└── exports/ # Report exports and ticket dumps
| Topic | File |
|---|---|
| ------- | ------ |
| Setup process | setup.md |
| Memory template | memory-template.md |
| API operations | api-reference.md |
| Common issues | troubleshooting.md |
Credentials from environment variables (ZENDESK_SUBDOMAIN, ZENDESK_EMAIL, ZENDESK_TOKEN) or ~/zendesk/memory.md.
# Test auth
curl -u "$ZENDESK_EMAIL/token:$ZENDESK_TOKEN" "https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2/users/me.json"
Always search existing tickets before creating new ones to avoid duplicates.
curl -u "$AUTH" "$BASE/search.json?query=type:ticket+subject:issue"
Don't list all tickets. Use views to get relevant subsets.
| View | Use Case |
|---|---|
| ------ | ---------- |
/views/active | Get available views |
/views/{id}/tickets | Tickets in specific view |
/tickets/recent | Recently updated |
When updating, add internal notes explaining changes. Never delete ticket data.
Zendesk limits: 700 requests/minute (Enterprise), 200/minute (others). Add delays for bulk operations.
Before closing, merging, or deleting tickets, confirm with user and summarize what will happen.
Set auth: AUTH="$ZENDESK_EMAIL/token:$ZENDESK_TOKEN" and BASE="https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2"
curl -X POST "$BASE/tickets.json" -u "$AUTH" -H "Content-Type: application/json" \
-d '{"ticket":{"subject":"Issue","comment":{"body":"Description"},"priority":"normal"}}'
curl -X PUT "$BASE/tickets/$ID.json" -u "$AUTH" -H "Content-Type: application/json" \
-d '{"ticket":{"status":"solved","comment":{"body":"Resolution","public":false}}}'
curl -u "$AUTH" "$BASE/search.json?query=type:ticket+status:open+priority:urgent"
curl -u "$AUTH" "$BASE/users/search.json?query=email:user@example.com"
| Status | Meaning | Next Actions |
|---|---|---|
| -------- | --------- | -------------- |
| new | Unassigned | Assign, respond |
| open | Being worked | Update, solve |
| pending | Waiting on customer | Follow up, solve |
| hold | Waiting internally | Unhold, update |
| solved | Resolution provided | Close (auto after 4 days) |
| closed | Final | Reopen creates new ticket |
| Priority | SLA Target | Use For |
|---|---|---|
| ---------- | ----------- | --------- |
| urgent | 1 hour | System down, revenue impact |
| high | 4 hours | Major feature broken |
| normal | 8 hours | Standard issues |
| low | 24 hours | Questions, minor bugs |
email/token:API_TOKEN, not just tokennext_page URL| Endpoint | Data Sent | Purpose |
|---|---|---|
| ---------- | ----------- | --------- |
https://{subdomain}.zendesk.com/api/v2/* | Ticket/user data | All operations |
No other data is sent externally.
Data that leaves your machine:
Data that stays local:
This skill does NOT:
By using this skill, ticket and user data is sent to Zendesk's API.
Only install if you have authorized Zendesk API access.
Install with clawhub install if user confirms:
api - REST API patternscustomer-support - Support best practicescsv - Export and analyze ticket dataclawhub star zendeskclawhub sync共 1 个版本