Install
openclaw skills install zendeskManage Zendesk tickets, users, and support workflows with API integration and automation.
openclaw skills install zendeskOn 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 <slug> if user confirms:
api - REST API patternscustomer-support - Support best practicescsv - Export and analyze ticket dataclawhub star zendeskclawhub sync