Skip to content

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 us
eDesk

Use Cases

Why integrate with eDesk

Common scenarios for SaaS companies building eDesk integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

View Docs

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.

View Docs

Tags

Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.

View Docs

Ticket Status

Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.

View Docs

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.

View Docs

Users

Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.

View Docs

How It Works

From zero to integrated

Go live with eDesk in under an hour. No boilerplate, no maintenance burden.

01

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.

02

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.

03

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.

04

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