zendesk-automation
通过Rube MCP(Composio)自动化Zendesk任务:包括工单、用户、组织及回复处理。始终优先搜索工具以获取当前架构信息。
Zendesk Automation via Rube MCP
Automate Zendesk operations through Composio's Zendesk toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit zendeskRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get 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 zendeskCore Workflows
1. List and Search Tickets
When 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 null2. Create and Update Tickets
When 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 creation3. Reply to Tickets
When 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 agents4. Manage Users
When 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:
5. Manage Organizations
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:
Common Patterns
Pagination
List endpoints:
page (1-based) and per_page (max 100)next_page URL in response; null means last pagecount field gives total resultsTicket Lifecycle
new -> open -> pending -> solved -> closed
<div class="overflow-x-auto my-6"><table class="min-w-full divide-y divide-border border border-border"><thead><tr><th class="px-4 py-2 text-left text-sm font-semibold text-foreground bg-muted/50">^</th></tr></thead><tbody class="divide-y divide-border"></tbody></table></div>
hold --------+new: Unassigned ticketopen: Assigned, being worked onpending: Waiting for customer responsehold: Waiting for internal actionsolved: Resolved, can be reopenedclosed: Permanently closed, cannot be modifiedUser Search for Assignment
1. Call ZENDESK_SEARCH_ZENDESK_USERS with query (name or email)
Extract user ID from results
Use user ID as assignee_id in ticket creation/update Known Pitfalls
Tags Behavior:
Safe Updates:
safe_update: true with updated_stamp (ISO 8601) to prevent conflictsDeletion:
Rate Limits:
Quick Reference
| 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) |