Connect Richpanel to Claude: Manage Conversations and Support Tags
Learn how to connect Richpanel to Claude using a managed MCP server to automate e-commerce support workflows, manage conversations, and sync order data.
If you are running e-commerce support at scale, giving a Large Language Model (LLM) read and write access to your Richpanel instance is a high-leverage move. Automating order lookups, drafting context-aware replies, and dynamically tagging conversations requires a Model Context Protocol (MCP) server that acts as a secure translation layer between Claude's tool calls and Richpanel's REST APIs. If your team uses ChatGPT, check out our guide on connecting Richpanel to ChatGPT or explore our broader architectural overview on connecting Richpanel to AI Agents.
Building a custom MCP server for a complex helpdesk API is an engineering headache. You have to handle token lifecycles, construct massive JSON schemas for every endpoint, and maintain the integration every time the vendor updates a data model.
This guide breaks down exactly how to bypass the boilerplate using Truto. We will show you how to generate a secure, managed MCP server for Richpanel, connect it natively to Claude, and orchestrate complex support operations using natural language.
The Engineering Reality of the Richpanel API
An MCP server is an integration layer. While the open MCP standard provides a predictable interface for LLMs to discover and invoke tools, the reality of executing those tools against Richpanel's specific API architecture presents unique challenges.
If you decide to build a custom MCP server for Richpanel from scratch, you inherit the entire API maintenance lifecycle. Here are the specific hurdles you will encounter with Richpanel's architecture:
Deeply Nested Conversation Objects
Richpanel does not treat tickets as flat records. A single conversation is a complex aggregate root. When you retrieve a conversation, the response payload includes an array of comments (which mix customer messages and internal agent notes), assignee metadata, priority flags, resolution metrics (resolution_duration, first_response_time), and an array of support tags. Exposing this raw structure to an LLM often blows up context windows or confuses the model regarding which sub-object to update. A managed MCP server abstracts the input schemas so Claude only passes the exact fields required for the specific operation.
Disparate Customer and Order Resolution
In e-commerce support, the most common workflow is matching a ticket to an order. Richpanel requires explicit, multi-step lookups for this. You cannot simply pass a global order number into a conversation endpoint. You must query the customer by email or phone, retrieve their linked conversations, and use specific dual-key lookups (appclient_id and order_id) to fetch granular order data like fulfillment status and billing details. Your MCP tools must cleanly expose these specific ID requirements so the LLM understands the exact sequence of lookups required.
Rate Limiting and Retry Handling
Helpdesk APIs are heavily throttled to prevent abuse during mass ticket updates. If your AI agent attempts to bulk-update fifty conversations in a tight loop, Richpanel will reject the requests. It is important to state a factual note on how Truto handles this: Truto does not retry, throttle, or apply backoff on rate limit errors automatically. When the upstream Richpanel API returns an HTTP 429 Too Many Requests, Truto passes that error directly back to the caller (Claude). However, Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. The caller - whether it is Claude Desktop or a custom LangGraph agent - is entirely responsible for reading these headers and executing its own exponential backoff and retry logic.
How to Generate a Richpanel MCP Server
Truto dynamically derives MCP tools directly from your connected Richpanel instance. Instead of hand-coding tool definitions, Truto reads the available resources and documentation schemas, instantly generating a fully authenticated JSON-RPC 2.0 endpoint.
There are two ways to generate this server.
Method 1: Via the Truto UI
For administrators who want a quick URL to paste into their local Claude client, the UI is the fastest path.
- Navigate to the Integrated Accounts page in your Truto dashboard and select your connected Richpanel instance.
- Click the MCP Servers tab.
- Click the Create MCP Server button.
- Define your configuration. You can name the server (e.g., "Richpanel E-commerce Support"), apply method filters (e.g., limit the server to
readoperations to prevent accidental ticket closures), or set an expiration date. - Click Create and copy the generated MCP server URL (e.g.,
https://api.truto.one/mcp/a1b2c3d4...).
Method 2: Via the API
For engineering teams dynamically provisioning AI workspaces for their own users, you can generate MCP servers programmatically.
The API performs an AI-readiness check, ensuring the integration actually has documented endpoints available to act as tools. It then generates a secure token and returns the URL.
Make a POST request to the /integrated-account/:id/mcp endpoint:
curl -X POST https://api.truto.one/admin/integrated-accounts/{integrated_account_id}/mcp \
-H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Claude Support Agent",
"config": {
"methods": ["read", "write"],
"tags": ["conversations", "orders"]
}
}'The response returns your fully authenticated, ready-to-use MCP endpoint:
{
"id": "mcp_abc123",
"name": "Claude Support Agent",
"config": {
"methods": ["read", "write"],
"tags": ["conversations", "orders"]
},
"expires_at": null,
"url": "https://api.truto.one/mcp/a1b2c3d4e5f67890"
}Connecting the MCP Server to Claude
Once you have your Truto MCP URL, you need to register it with Claude so the model can discover and execute the Richpanel tools.
Method A: Via the Claude UI
If you are using the consumer versions of these chat interfaces, you can add the connector directly in the settings.
- Open Claude (or ChatGPT, where the process is similar: Settings -> Apps -> Advanced settings -> Developer mode).
- For Claude specifically, navigate to Settings -> Integrations -> Add MCP Server.
- Paste the Truto MCP URL you generated.
- Click Add. Claude will immediately handshake with the server, requesting the list of available Richpanel tools and their JSON schemas.
Method B: Via Manual Config File
For developers using Claude Desktop locally who want precise control over their environment, you can configure the MCP server by editing the claude_desktop_config.json file.
Since Claude Desktop expects to communicate with MCP servers via standard input/output (stdio), you use the official @modelcontextprotocol/server-sse package to bridge Claude's local stdio to Truto's remote endpoint.
Open your config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS) and add the following configuration:
{
"mcpServers": {
"richpanel": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"https://api.truto.one/mcp/a1b2c3d4e5f67890"
]
}
}
}Restart Claude Desktop. The application will execute the npx command, establish the connection to Truto, and pull down the Richpanel tools automatically.
Hero Tools for Richpanel Support Automation
Once connected, Claude has access to a standardized suite of operations derived directly from Richpanel's API. Here are the highest-leverage tools available for e-commerce support orchestration.
1. list_all_richpanel_conversations
This tool retrieves the queue of active tickets. It returns high-level metadata including the conversation ID, current status, subject, assignee, priority, and any applied tags. It relies on standard pagination using limit and next_cursor.
Usage note: Because conversations can contain extensive message histories, Claude should use this tool to triage the inbox and identify specific id values before diving deeper into individual threads.
"Fetch the 10 most recent Richpanel conversations that are currently in an 'open' status and unassigned. Give me a brief summary of their subjects."
2. get_single_richpanel_conversation_by_id
This is the inspection tool. It returns the deep, nested payload for a single conversation, including first_response_time, resolution_duration, and the complete array of comments (with author_id, message body, and visibility flags like isOperator).
Usage note: Claude uses this tool to read the entire context of a back-and-forth thread with a customer before deciding how to respond or what action to take.
"Get the full details and message history for conversation ID 'conv_98765'. I need to see if the customer provided their shipping address in the last message."
3. update_a_richpanel_conversation_by_id
This tool allows Claude to execute state changes on a ticket. It can change the conversation status (e.g., open to resolved), reassign the ticket via assignee_id, or append a new comment (replying to the user or adding an internal note based on the public boolean flag).
Usage note: When drafting replies, Claude formats the payload strictly according to the required comment schema, ensuring the sender_type and author_id represent the AI or the assigned agent correctly.
"Update conversation 'conv_98765'. Add an internal note saying 'Verified shipping address via Google Maps' and change the status to 'pending'."
4. get_single_richpanel_order_by_id
E-commerce support revolves around orders. This tool fetches specific order metadata using the appclient_id (the specific storefront connection) and the id (the order identifier). It returns the order's status, amount, payment_status, line items, fulfilment details, and billing_address.
Usage note: Claude will typically chain this tool after retrieving a conversation that contains a linked order ID, bridging the gap between helpdesk communication and e-commerce fulfillment reality.
"Look up order ID 'ord_112233' under app client 'app_9988'. Tell me if the payment status is cleared and if the items have shipped yet."
5. create_a_richpanel_conversation_tag
Categorization is critical for support analytics. This tool allows the model to dynamically apply string-based tags to a specific ticket via the conversation_id.
Usage note: You can instruct Claude to act as a triage agent, reading new conversations and automatically applying tags like refund_request, shipping_delay, or escalation based on the semantic content of the customer's message.
"Apply the tags 'vip_customer' and 'urgent_shipping' to conversation ID 'conv_55443'."
6. get_single_richpanel_customer_by_id
Identity resolution is the first step in most workflows. This tool looks up a customer profile by defining the type (email or phone) and passing the corresponding id value.
Usage note: Use this tool to verify if a user reaching out from a new channel already has an established history or VIP status in the system before generating a reply.
"Look up the Richpanel customer profile for 'jane.doe@example.com'. Let me know when her profile was created and her internal customer UID."
For the complete inventory of available Richpanel operations, including channel management, file uploads, and team directory queries, view the Richpanel integration page.
Workflows in Action
Connecting Claude to Richpanel transforms static playbooks into autonomous, event-driven workflows. Here are two concrete examples of how Claude orchestrates these tools in the real world.
Scenario 1: Triage and Tagging an E-commerce Return
Support teams waste hours reading initial messages just to categorize and route them. Claude can completely automate this triage layer.
"Read the 5 most recent unassigned conversations. For any conversation asking about a return or exchange, tag it with 'returns_processing', add an internal note summarizing the reason for the return, and assign it to the Returns Team (ID: 'team_002')."
Execution Steps:
- Claude calls
list_all_richpanel_conversationswith a limit of 5 to fetch the latest unassigned tickets. - The model analyzes the
subjectandcommentsof each returned object. - Identifying two tickets related to returns, Claude initiates a loop.
- For each identified ticket, Claude calls
create_a_richpanel_conversation_tagpassing["returns_processing"]. - Claude then calls
update_a_richpanel_conversation_by_idto push an internal comment (summarizing the user's return reason) and updates theassignee_idtoteam_002.
Result: The customer support queue is automatically categorized, summarized, and routed to the correct specialists before a human ever opens the dashboard.
Scenario 2: Order Status Lookup and Customer Update
"Where is my order?" (WISMO) tickets are the bane of e-commerce support. Claude can handle these end-to-end.
"Check conversation 'conv_77889' where the customer is asking about their order. Find the linked order, check its fulfillment status, and write a polite, public reply to the customer updating them on when to expect delivery. Finally, mark the ticket as resolved."
Execution Steps:
- Claude calls
get_single_richpanel_conversation_by_idforconv_77889to read the context and extract the linked order ID and app client ID from the metadata. - Claude calls
get_single_richpanel_order_by_idusing those extracted IDs to retrieve the fulfillment and shipping data. - Seeing that the order shipped yesterday, Claude drafts a customized, empathetic reply.
- Claude calls
update_a_richpanel_conversation_by_id, passing the drafted message in thecommentschema with thepublicflag set to true, and sets the ticketstatustoresolved.
Result: A repetitive WISMO ticket is fully resolved with accurate, real-time e-commerce data without human intervention.
Security and Access Control
Exposing an enterprise helpdesk to an AI model requires strict governance. Truto provides four critical security parameters when generating your Richpanel MCP server:
- Method Filtering (
config.methods): You can restrict the MCP server to specific categories of operations. Passing["read"]ensures Claude can look up tickets and orders but cannot alter data, send messages, or resolve conversations. - Tag Filtering (
config.tags): You can limit the tool surface area by tagging integration resources. For example, you can expose only theconversationsendpoints while hidingusersorteamsdata from the LLM. - Secondary Authentication (
require_api_token_auth): By default, possessing the MCP URL grants access. Enabling this flag forces the connecting client to also pass a valid Truto API token in the Authorization header, preventing lateral movement if a URL is leaked. - Time-to-Live (
expires_at): You can enforce automatic cleanup by supplying an ISO datetime. Once reached, the infrastructure automatically invalidates the URL and purges the server credentials, which is ideal for temporary contractor access or sandboxed AI experiments.
Final Thoughts
Integrating AI with Richpanel using raw REST APIs requires writing endless boilerplate for authentication, schema mapping, and pagination. By deploying a managed MCP server via Truto, you abstract away the infrastructure overhead and give Claude immediate, native access to your helpdesk.
This architecture allows your engineering team to focus on designing high-leverage agent workflows - like automated triage, intelligent routing, and zero-touch WISMO resolutions - rather than debugging JSON-RPC error codes.
FAQ
- Does Truto automatically handle Richpanel API rate limits?
- No. Truto passes upstream HTTP 429 errors directly back to Claude. However, Truto normalizes the rate limit information into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) so your client can execute its own backoff and retry logic.
- Can I prevent Claude from modifying tickets in Richpanel?
- Yes. When generating the MCP server, you can use method filtering (e.g., methods: ["read"]) to restrict the available tools to safe, read-only operations like listing conversations and looking up orders.
- How does Claude handle pagination for large lists of Richpanel conversations?
- Truto normalizes Richpanel's pagination into a standardized limit and next_cursor schema. The tool descriptions explicitly instruct the LLM to pass the exact cursor values back unchanged on subsequent calls to fetch the next page.
- Do I have to re-authenticate the MCP server manually?
- No. The generated MCP server token securely encodes the credentials for the specific integrated Richpanel account. The authentication is handled at the Truto proxy layer seamlessly.