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/lingxling-zendesk-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 213% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 583% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 122% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 168% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 84% | 0% |
Automate Zendesk operations through Composio's Zendesk toolkit via Rube MCP.
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) |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 7,244 | 7,591 | +5% | 1 | 1 | 0% | 633 | 2,730 | +331% | 0 | 0 | — |
case-01 | fail→fail | 9,111 | 7,491 | -18% | 1 | 1 | 0% | 434 | 2,614 | +502% | 0 | 0 | — |
case-03 | fail→fail | 18,093 | 6,112 | -66% | 1 | 1 | 0% | 2,460 | 2,608 | +6% | 0 | 0 | — |
case-04 | pass→fail | 6,439 | 6,701 | +4% | 1 | 1 | 0% | 1,182 | 2,559 | +116% | 0 | 0 | — |
case-05 | fail→fail | 9,613 | 5,255 | -45% | 1 | 1 | 0% | 1,695 | 2,534 | +49% | 0 | 0 | — |
case-06 | pass→fail | 9,293 | 4,054 | -56% | 1 | 1 | 0% | 1,335 | 2,516 | +88% | 0 | 0 | — |
case-07 | pass→pass | 4,589 | 6,112 | +33% | 1 | 1 | 0% | 734 | 3,387 | +361% | 0 | 0 | — |
case-08 | fail→pass | 43,438 | 4,218 | -90% | 1 | 1 | 0% | 984 | 3,083 | +213% | 0 | 0 | — |
case-09 | pass→pass | 15,456 | 5,797 | -62% | 1 | 1 | 0% | 2,230 | 3,466 | +55% | 0 | 0 | — |
case-10 | fail→pass | 3,194 | 12,146 | +280% | 1 | 1 | 0% | 485 | 3,313 | +583% | 0 | 0 | — |
case-11 | fail→pass | 13,260 | 4,614 | -65% | 1 | 1 | 0% | 1,324 | 2,938 | +122% | 0 | 0 | — |
case-12 | fail→pass | 7,159 | 6,920 | -3% | 1 | 1 | 0% | 1,269 | 3,405 | +168% | 0 | 0 | — |
case-13 | pass→pass | 3,059 | 4,039 | +32% | 1 | 1 | 0% | 507 | 2,960 | +484% | 0 | 0 | — |
case-14 | fail→pass | 8,369 | 7,603 | -9% | 1 | 1 | 0% | 1,566 | 2,889 | +84% | 0 | 0 | — |
case-15 | fail→pass | 17,226 | 10,148 | -41% | 1 | 1 | 0% | 2,295 | 3,209 | +40% | 0 | 0 | — |
case-16 | pass→pass | 7,353 | 5,786 | -21% | 1 | 1 | 0% | 1,252 | 3,121 | +149% | 0 | 0 | — |
case-17 | fail→pass | 4,166 | 9,261 | +122% | 1 | 1 | 0% | 674 | 3,787 | +462% | 0 | 0 | — |
case-18 | pass→pass | 13,242 | 6,579 | -50% | 1 | 1 | 0% | 1,459 | 3,259 | +123% | 0 | 0 | — |
case-19 | fail→pass | 53,030 | 2,154 | -96% | 1 | 1 | 0% | 872 | 2,681 | +207% | 0 | 0 | — |
case-20 | fail→pass | 7,290 | 2,037 | -72% | 1 | 1 | 0% | 1,182 | 2,651 | +124% | 0 | 0 | — |
case-21 | fail→pass | 7,209 | 3,081 | -57% | 1 | 1 | 0% | 1,190 | 2,707 | +127% | 0 | 0 | — |
case-22 | pass→pass | 6,961 | 2,523 | -64% | 1 | 1 | 0% | 831 | 2,724 | +228% | 0 | 0 | — |
case-23 | fail→pass | 6,796 | 3,059 | -55% | 1 | 1 | 0% | 1,284 | 2,858 | +123% | 0 | 0 | — |
case-24 | pass→pass | 2,963 | 2,449 | -17% | 1 | 1 | 0% | 416 | 2,671 | +542% | 0 | 0 | — |
case-25 | fail→pass | 20,889 | 6,050 | -71% | 1 | 1 | 0% | 2,109 | 3,125 | +48% | 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. 25 cases were attempted, and 19 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +40 percentage points is the difference between those two pass rates over the 19 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.