---
title: eDesk API Integration on Truto
slug: edesk
category: Helpdesk
canonical: "https://truto.one/integrations/detail/edesk/"
---

# eDesk API Integration on Truto



**Category:** Helpdesk  
**Status:** Generally available

## Unified APIs

### 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.

## MCP-ready AI tools

Truto exposes 39 tools for eDesk that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's eDesk account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach eDesk.** The Proxy API is a 1-to-1 mapping of the eDesk API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.
