Helpdesk
eDesk
API integration
Ship Helpdesk features without building the integration. Full eDesk API access via Proxy, normalized data through Unified APIs, and 30+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with eDesk
Common scenarios for SaaS companies building eDesk integrations for their customers.
Sync shipping and tracking updates into eDesk for proactive support
Logistics and post-purchase platforms can push real-time tracking statuses and delivery exceptions directly into eDesk using sales order tracking links and order notes, so support agents have full shipment context without leaving their inbox.
Auto-create support tickets from negative reviews or CSAT scores
Review aggregation and CX platforms can automatically open eDesk tickets when a customer leaves a low rating, turning passive feedback into actionable recovery workflows with proper tagging for priority routing.
Enrich agent context with fraud and subscription lifecycle events
Fraud detection and subscription billing platforms can inject internal order notes into eDesk alerting agents to holds, payment failures, or investigation statuses — preventing premature action on sensitive orders.
Suppress marketing outreach for customers with open complaints
Marketing automation tools can query a customer's open eDesk tickets before triggering upsell or re-engagement campaigns, avoiding tone-deaf messaging to frustrated customers and protecting brand trust.
Centralize eCommerce support data into your analytics product
BI and operations intelligence platforms can pull tickets, contacts, tags, and sales orders from eDesk to build cross-channel support performance dashboards without requiring customers to export CSVs.
What You Can Build
Ship these features with Truto + eDesk
Concrete product features your team can ship faster by leveraging Truto’s eDesk integration instead of building from scratch.
Two-way ticket sync with tagging and status updates
Create, update, and read eDesk tickets with full support for custom tags, tag groups, and status changes via Truto's Unified Ticketing API.
Order-aware contextual notes injection
Push internal order notes into eDesk tied to specific sales orders so agents see real-time context from your platform — like fraud flags, return statuses, or fulfillment updates — right in their workflow.
Automated tracking link management on sales orders
Create and update tracking links on eDesk sales orders programmatically, keeping carrier and delivery status current for agents handling 'Where is my order?' queries.
Dynamic ticket categorization via tags and tag groups
Programmatically create and assign tags like 'VIP Customer' or 'High Attrition Risk' to tickets so eDesk's internal rules engine can route and prioritize them automatically.
Customer contact and channel directory sync
Pull eDesk contacts and channels into your product to build a unified customer identity layer that maps support interactions across marketplaces and storefronts.
Template management for eCommerce response automation
Read, create, and update eDesk message templates from your platform, enabling operations teams to manage response playbooks for common eCommerce triggers without switching tools.
SuperAI
eDesk AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_edesk_users
List users in eDesk. Returns id, name, email, active, username, and role for each user.
list_all_edesk_tags
List tags in eDesk. Returns tag fields id, name, active, tag_group_id, color, and icon in the response.
get_single_edesk_tag_by_id
Get details of a specific tag in eDesk by id. Returns id, name, active, tag_group_id, color, and icon fields in the response.
create_a_edesk_tag
Create a new tag in eDesk. Requires name and tag_group_id. Returns id, name, active, tag_group_id, color, and icon fields for the created tag in the response.
update_a_edesk_tag_by_id
Update a tag in eDesk using id. Returns fields: id (tag identifier), name (tag name), active (status), tag_group_id (group), color, and icon.
delete_a_edesk_tag_by_id
Delete a tag in eDesk. Requires id. Returns ok (operation status) and message (confirmation details) fields in the response.
list_all_edesk_tickets
List tickets in eDesk. Returns ticket fields: id, subject, channel_id, status, sales_order_id, external_order_id, created_at, owner_user_id, custom_fields, time_left_to_reply, tags_ids, contact_id, messages_ids, uri, and replies.
get_single_edesk_ticket_by_id
Get details of a ticket in eDesk. Requires id. Returns fields such as id, subject, status, created_at, owner_user_id, custom_fields, contact_id, and uri in the response.
create_a_edesk_ticket
Create a new ticket in eDesk. Requires subject, channel_id, and status. Returns id, subject, channel_id, status, sales_order_id, created_at, owner_user_id, custom_fields, time_left_to_reply, tags_ids, contact_id, messages_ids, uri, and replies in the response.
update_a_edesk_ticket_by_id
Update a ticket in eDesk. Requires id. Returns id, subject, channel_id, status, sales_order_id, external_order_id, created_at, owner_user_id, custom_fields, time_left_to_reply, tags_ids, contact_id, messages_ids, uri, and replies in the response.
delete_a_edesk_ticket_by_id
Delete a ticket in eDesk. Requires id. Returns ok (operation success) and message (confirmation details) in the response.
update_a_edesk_ticket_datum_by_id
Update ticket data for a specific ticket in eDesk. Requires id. Returns fields such as id, subject, channel_id, status, sales_order_id, external_order_id, created_at, owner_user_id, custom_fields, time_left_to_reply, tags_ids, contact_id, messages_ids, uri, and replies in the response.
list_all_edesk_contacts
List contacts in eDesk. Returns id, channel_id, client_id, full_name, phone_number, and email fields for each contact.
list_all_edesk_channels
List channels in eDesk. Returns id, type, country, currency, and name fields for each channel.
list_all_edesk_me
Get information about the identity of the authenticated caller in eDesk. Returns user fields including id, name, email, active status, username, and role.
list_all_edesk_sales_orders
List sales orders in eDesk. Returns id, channel_id, seller_order_id, status, order_items, shipping_amount, total_amount, ship_to, bill_to, contact_id, tracking_codes, created_at, ticket_id, order_notes_id, sales_order_delivery_dates, order_created_at, order_shipped_at, and delivery_type in the response.
get_single_edesk_sales_order_by_id
Get details of a specific sales order in eDesk using id. Returns fields including id, channel_id, seller_order_id, status, order_items, shipping_amount, total_amount, ship_to, bill_to, contact_id, tracking_codes, created_at, and more.
create_a_edesk_sales_order
Create a new sales order in eDesk. Returns fields such as id, channel_id, seller_order_id, status, order_items, shipping_amount, total_amount, ship_to, bill_to, contact_id, tracking_codes, created_at, ticket_id, and other sales order details in the response.
update_a_edesk_sales_order_by_id
Update a sales order in eDesk. Requires id. Returns id, channel_id, seller_order_id, status, order_items, shipping_amount, total_amount, ship_to, bill_to, contact_id, tracking_codes, created_at, ticket_id, order_notes_id, sales_order_delivery_dates, order_created_at, order_shipped_at, and delivery_type in the response.
delete_a_edesk_sales_order_by_id
Delete a sales order in eDesk. Requires id. Returns ok and message fields in the response indicating the operation status and a confirmation message.
list_all_edesk_order_notes
List order notes in eDesk. Returns id, sales_order_id, user (id, name, email, username, role), text, attachments (id, name, link, mime), created_at, and last_updated_at fields for each order note.
get_single_edesk_order_note_by_id
Get details of a specific order note in eDesk using id. Returns id, sales_order_id, user details, text, attachments, created_at, and last_updated_at fields in the response.
create_a_edesk_order_note
Create an order note in eDesk. Requires sales_order_id and text. Returns id, sales_order_id, user, text, attachments, created_at, and last_updated_at fields for the created order note.
update_a_edesk_order_note_by_id
Update a specific order note in eDesk. Requires id. Returns id, sales_order_id, user details, text, attachments, created_at, and last_updated_at in the response.
delete_a_edesk_order_note_by_id
Delete an order note in eDesk. Requires id. Returns ok (confirmation status) and message (operation details) in the response.
get_single_edesk_message_by_id
Get details of a specific message in eDesk using id. Returns id, external_id, subject, created_at, from_consumer_id, from_user, type, attachments, direction, body, errors, and ticket_id in the response.
create_a_edesk_message
Create a new message in an existing ticket in eDesk. Requires ticket_id, body, and type. Returns id, external_id, subject, created_at, from_consumer_id, from_user, type, attachments, direction, body, errors, and ticket_id fields in the response.
update_a_edesk_message_by_id
Update a specific message in eDesk. Requires id. Returns id, external_id, subject, created_at, from_consumer_id, from_user, type, attachments, direction, body, errors, and ticket_id fields in the response.
delete_a_edesk_message_by_id
Delete a message in eDesk. Requires id. Returns ok to indicate success and message with details in the response.
list_all_edesk_tags_groups
List tag groups in eDesk. Returns id, name, user_id, entity_type, type, and hide fields for each tag group.
get_single_edesk_sales_order_tracking_link_by_id
Get tracking links for a specific sales order in eDesk. Requires id. Returns tracking_link and tracking_carrier_name for each tracking link in the response.
create_a_edesk_sales_order_tracking_link
Create tracking links for a specific sales order in eDesk. Requires id. Returns fields such as id, channel_id, status, tracking_codes, order_items, shipping_amount, total_amount, ship_to, and bill_to in the response.
update_a_edesk_sales_order_tracking_link_by_id
Update sales order tracking links in eDesk. Requires id. Returns fields such as id, channel_id, seller_order_id, status, order_items, shipping_amount, total_amount, ship_to, bill_to, contact_id, tracking_codes (each with tracking_code, tracking_link, tracking_carrier_name), created_at, ticket_id, order_notes_id, sales_order_delivery_dates, order_created_at, order_shipped_at, delivery_type in the response.
delete_a_edesk_sales_order_tracking_link_by_id
Delete sales order tracking links in eDesk. Requires id (salesOrderId). Returns ok (operation success) and message (confirmation details) fields in the response.
list_all_edesk_templates
List templates in eDesk. Returns an array of templates with fields including id, name, subject, body_text, channels, template_usage, template_type, query_type, order_status, delivery_date, active, order_fulfilment, created_at, message_subject, invoice_attached, only_use_if_no_replies_yet, ai_classification, and attachments.
get_single_edesk_template_by_id
Get details about a template in eDesk. Requires id. Returns fields such as id, name, subject, body_text, channels, template_usage, template_type, query_type, order_status, delivery_date, active, created_at, ai_classification, and attachments.
create_a_edesk_template
Create a new template in eDesk. Returns id, name, subject, body_text, channels, template_usage, template_type, query_type, order_status, delivery_date, active, order_fulfilment, created_at, message_subject, invoice_attached, only_use_if_no_replies_yet, ai_classification, and attachments in the response.
update_a_edesk_template_by_id
Update a template in eDesk using id. Returns fields including id, name, subject, body_text, channels, template_usage, template_type, query_type, order_status, delivery_date, active, order_fulfilment, created_at, message_subject, invoice_attached, only_use_if_no_replies_yet, ai_classification, attachments.
delete_a_edesk_template_by_id
Delete a template in eDesk. Requires id. Returns ok (operation success) and message (confirmation details) fields in the response.
Why Truto
Why use Truto’s MCP server for eDesk
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for eDesk
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified Ticketing API
Comments
Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
Contacts
Contact represent the external people you are in contact with. These could be customers, leads, etc. Contacts can be associated with an Account if the underlying product supports it.
Tags
Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.
Ticket Status
Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
Tickets
Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
Users
Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
How It Works
From zero to integrated
Go live with eDesk in under an hour. No boilerplate, no maintenance burden.
Link your customer’s eDesk account
Use Truto’s frontend SDK to connect your customer’s eDesk account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call eDesk
Truto’s Proxy API is a 1-to-1 mapping of the eDesk API. You call us, we call eDesk, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate eDesk’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about eDesk on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the eDesk integration use?
Truto handles eDesk authentication on your behalf. Your end users connect their eDesk accounts through Truto's managed auth flow, so you don't need to build or maintain OAuth or API key exchange logic yourself.
Can I use Truto's Unified Ticketing API with eDesk?
Yes. eDesk is mapped to Truto's Unified Ticketing API, which provides standardized access to Tickets, Comments, Contacts, Tags, Ticket Status, and Users. This means you can build once against the unified schema and support eDesk alongside other helpdesks.
What eDesk-specific resources are available beyond the unified API?
eDesk exposes eCommerce-specific resources not found in generic helpdesks: sales orders, sales order tracking links, order notes, channels, messages, templates, and tag groups. These are available as native eDesk API proxy calls through Truto.
Can I create tickets and messages programmatically?
Yes. You can create tickets via create_a_edesk_ticket and attach messages via create_a_edesk_message. Tickets support custom fields, tag IDs for routing, and subject/body content. Messages can be created, updated, and deleted by ID.
How does Truto handle pagination and rate limits for eDesk?
Truto manages pagination and rate limiting transparently. When you call list endpoints like list_all_edesk_tickets or list_all_edesk_sales_orders, Truto handles cursor management and respects eDesk's API rate limits so you don't have to implement retry logic.
Can I write data back to eDesk, or is it read-only?
The integration supports full CRUD operations across most resources. You can create, read, update, and delete tickets, tags, sales orders, order notes, messages, templates, and tracking links. Some resources like contacts, channels, users, and tag groups are read-only.
eDesk
Get eDesk integrated into your app
Our team understands what it takes to make a eDesk integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us