Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.
.claude/skills/davepoon-zendesk-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✓→✗ | ▼ Worse | 158% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 374% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 208% | 0% |
| case-01 | ✗→✗ | = Same ✗ | 87% | 0% |
| case-02 | ✗→✗ | = Same ✗ | 290% | 0% |
Automate Zendesk operations through Composio's Zendesk toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/zendesk
RUBE_MANAGE_CONNECTIONS with toolkit zendeskRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit zendeskWhen to use: User wants to view, filter, or search support tickets
Tool sequence:
ZENDESK_LIST_ZENDESK_TICKETS - List all tickets with pagination Required]ZENDESK_GET_ZENDESK_TICKET_BY_ID - Get specific ticket details Optional]Key parameters:
page: Page number (1-based)per_page: Results per page (max 100)sort_by: Sort field ('created_at', 'updated_at', 'priority', 'status')sort_order: 'asc' or 'desc'ticket_id: Ticket ID for single retrievalPitfalls:
page/per_page pagination, NOT offset-based; check next_page in responsenext_page is nullWhen to use: User wants to create new tickets or modify existing ones
Tool sequence:
ZENDESK_SEARCH_ZENDESK_USERS - Find requester/assignee Prerequisite]ZENDESK_CREATE_ZENDESK_TICKET - Create a new ticket Required]ZENDESK_UPDATE_ZENDESK_TICKET - Update ticket fields Optional]ZENDESK_DELETE_ZENDESK_TICKET - Delete a ticket Optional]Key parameters:
subject: Ticket subject linedescription: Ticket body (for creation; becomes first comment)priority: 'urgent', 'high', 'normal', 'low'status: 'new', 'open', 'pending', 'hold', 'solved', 'closed'type: 'problem', 'incident', 'question', 'task'assignee_id: Agent user ID to assignrequester_id: Requester user IDtags: Array of tag stringsticket_id: Ticket ID (for update/delete)Pitfalls:
safe_update with updated_stamp to prevent concurrent modification conflictsdescription is only used on creation; use REPLY_ZENDESK_TICKET to add comments after creationWhen to use: User wants to add comments or replies to tickets
Tool sequence:
ZENDESK_GET_ZENDESK_TICKET_BY_ID - Get current ticket state Prerequisite]ZENDESK_REPLY_ZENDESK_TICKET - Add a reply/comment Required]Key parameters:
ticket_id: Ticket ID to reply tobody: Reply text contentpublic: Boolean; true for public reply, false for internal noteauthor_id: Author user ID (defaults to authenticated user)Pitfalls:
public: false for internal notes visible only to agentsWhen to use: User wants to find or create Zendesk users (agents, end-users)
Tool sequence:
ZENDESK_SEARCH_ZENDESK_USERS - Search for users Required]ZENDESK_CREATE_ZENDESK_USER - Create a new user Optional]ZENDESK_GET_ABOUT_ME - Get authenticated user info Optional]Key parameters:
query: Search string (matches name, email, phone, etc.)name: User's full name (required for creation)email: User's email addressrole: 'end-user', 'agent', or 'admin'verified: Whether email is verifiedPitfalls:
When to use: User wants to list, create, or manage organizations
Tool sequence:
ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS - List all organizations Required]ZENDESK_GET_ZENDESK_ORGANIZATION - Get specific organization Optional]ZENDESK_CREATE_ZENDESK_ORGANIZATION - Create organization Optional]ZENDESK_UPDATE_ZENDESK_ORGANIZATION - Update organization Optional]ZENDESK_COUNT_ZENDESK_ORGANIZATIONS - Get total count Optional]Key parameters:
name: Organization name (unique, required for creation)organization_id: Organization ID for get/updatedetails: Organization details textnotes: Internal notesdomain_names: Array of associated domainstags: Array of tag stringsPitfalls:
List endpoints:
page (1-based) and per_page (max 100)next_page URL in response; null means last pagecount field gives total resultsnew -> open -> pending -> solved -> closed
| ^
v |
hold --------+new: Unassigned ticketopen: Assigned, being worked onpending: Waiting for customer responsehold: Waiting for internal actionsolved: Resolved, can be reopenedclosed: Permanently closed, cannot be modified1. Call ZENDESK_SEARCH_ZENDESK_USERS with query (name or email)
2. Extract user ID from results
3. Use user ID as assignee_id in ticket creation/updateTags Behavior:
Safe Updates:
safe_update: true with updated_stamp (ISO 8601) to prevent conflictsDeletion:
Rate Limits:
| Task | Tool Slug | Key Params | |------|-----------|------------| | List tickets | ZENDESK_LIST_ZENDESK_TICKETS | page, per_page, sort_by | | Get ticket | ZENDESK_GET_ZENDESK_TICKET_BY_ID | ticket_id | | Create ticket | ZENDESK_CREATE_ZENDESK_TICKET | subject, description, priority | | Update ticket | ZENDESK_UPDATE_ZENDESK_TICKET | ticket_id, status, tags | | Reply to ticket | ZENDESK_REPLY_ZENDESK_TICKET | ticket_id, body, public | | Delete ticket | ZENDESK_DELETE_ZENDESK_TICKET | ticket_id | | Search users | ZENDESK_SEARCH_ZENDESK_USERS | query | | Create user | ZENDESK_CREATE_ZENDESK_USER | name, email | | My profile | ZENDESK_GET_ABOUT_ME | (none) | | List orgs | ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS | page, per_page | | Get org | ZENDESK_GET_ZENDESK_ORGANIZATION | organization_id | | Create org | ZENDESK_CREATE_ZENDESK_ORGANIZATION | name | | Update org | ZENDESK_UPDATE_ZENDESK_ORGANIZATION | organization_id, name | | Count orgs | ZENDESK_COUNT_ZENDESK_ORGANIZATIONS | (none) |
Powered by Composio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 7,398 | 6,990 | -6% | 1 | 1 | 0% | 1,444 | 2,696 | +87% | 0 | 0 | — |
case-02 | fail→fail | 3,867 | 4,651 | +20% | 1 | 1 | 0% | 646 | 2,521 | +290% | 0 | 0 | — |
case-03 | fail→fail | 9,636 | 29,557 | +207% | 1 | 1 | 0% | 1,899 | 2,477 | +30% | 0 | 0 | — |
case-04 | pass→pass | 11,384 | 11,931 | +5% | 1 | 1 | 0% | 734 | 3,481 | +374% | 0 | 0 | — |
case-05 | pass→pass | 5,862 | 2,779 | -53% | 1 | 1 | 0% | 869 | 2,678 | +208% | 0 | 0 | — |
case-06 | pass→fail | 5,915 | 5,727 | -3% | 1 | 1 | 0% | 1,008 | 2,601 | +158% | 0 | 0 | — |
case-07 | fail→fail | 11,606 | 6,283 | -46% | 1 | 1 | 0% | 2,137 | 2,645 | +24% | 0 | 0 | — |
case-08 | fail→fail | 3,035 | 4,827 | +59% | 1 | 1 | 0% | 466 | 2,502 | +437% | 0 | 0 | — |
case-09 | fail→fail | 2,707 | 6,126 | +126% | 1 | 1 | 0% | 435 | 2,661 | +512% | 0 | 0 | — |
case-10 | fail→fail | 10,310 | 5,872 | -43% | 1 | 1 | 0% | 2,113 | 2,560 | +21% | 0 | 0 | — |
case-11 | fail→fail | 9,759 | 3,620 | -63% | 1 | 1 | 0% | 1,458 | 2,516 | +73% | 0 | 0 | — |
case-12 | fail→fail | 8,424 | 8,545 | +1% | 1 | 1 | 0% | 1,281 | 2,604 | +103% | 0 | 0 | — |
case-13 | fail→fail | 13,710 | 4,742 | -65% | 1 | 1 | 0% | 1,579 | 2,522 | +60% | 0 | 0 | — |
case-14 | fail→fail | 3,933 | 4,179 | +6% | 1 | 1 | 0% | 681 | 2,425 | +256% | 0 | 0 | — |
case-15 | fail→fail | 3,968 | 5,558 | +40% | 1 | 1 | 0% | 564 | 2,707 | +380% | 0 | 0 | — |
case-16 | fail→fail | 4,033 | 4,448 | +10% | 1 | 1 | 0% | 609 | 2,568 | +322% | 0 | 0 | — |
case-17 | fail→fail | 3,636 | 5,317 | +46% | 1 | 1 | 0% | 560 | 2,467 | +341% | 0 | 0 | — |
case-18 | fail→fail | 4,798 | 1,864 | -61% | 1 | 1 | 0% | 278 | 2,486 | +794% | 0 | 0 | — |
case-19 | fail→fail | 10,672 | 4,863 | -54% | 1 | 1 | 0% | 1,330 | 2,620 | +97% | 0 | 0 | — |
case-20 | fail→fail | 3,405 | 4,521 | +33% | 1 | 1 | 0% | 661 | 2,504 | +279% | 0 | 0 | — |
case-21 | fail→fail | 11,255 | 6,075 | -46% | 1 | 1 | 0% | 1,302 | 2,494 | +92% | 0 | 0 | — |
case-22 | fail→fail | 4,674 | 12,657 | +171% | 1 | 1 | 0% | 547 | 2,503 | +358% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 2 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. A headline lift is not published for this run.
Other measured skills in the registry, with their headline benchmark lift.