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

# Desk365 API Integration on Truto



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

## MCP-ready AI tools

Truto exposes 44 tools for Desk365 that AI agents can call directly.

- **list_all_desk_365_ping** — Check Desk365 API server status.
- **list_all_desk_365_tickets** — List tickets in Desk365. Returns ticket_number, subject, status, priority, contact and assignment fields, and created/updated dates. Use ticket_number with the get ticket tool for details and attachments.
- **get_single_desk_365_ticket_by_id** — Get one Desk365 ticket by its ticket_number (from the list tickets tool), passed as id. Returns the ticket fields and attachments[] with file_name and attachment_url, a temporary link to the attachment file.
- **create_a_desk_365_ticket** — Create a ticket.
- **desk_365_tickets_create_with_attachment** — Create a ticket with attachment. Send the file in multipart body and the stringified `ticket_object` in query params.
- **update_a_desk_365_ticket_by_id** — Update a ticket. Pass the ticket_number as the resource ID.
- **list_all_desk_365_ticket_conversations** — Retrieve ticket conversation history. Pass `ticket_number` as a query parameter.
- **create_a_desk_365_ticket_reply** — Add a reply to a ticket. Pass `ticket_number` as a query parameter.
- **desk_365_ticket_replies_create_with_attachment** — Add a reply with attachment. Send the file in multipart body and the stringified `reply_object` plus `ticket_number` in query params.
- **create_a_desk_365_ticket_note** — Add a note to a ticket. Pass `ticket_number` as a query parameter.
- **desk_365_ticket_notes_create_with_attachment** — Add a note with attachment. Send the file in multipart body and the stringified `note_object` plus `ticket_number` in query params.
- **list_all_desk_365_contacts** — List contacts using documented Desk365 query parameters.
- **get_single_desk_365_contact_by_id** — Get contact details. Pass the contact's primary_email as the resource ID.
- **create_a_desk_365_contact** — Create a contact.
- **desk_365_contacts_create_with_attachment** — Create a contact with attachment. Send the file in multipart body and the stringified `contact_object` in query params.
- **update_a_desk_365_contact_by_id** — Update a contact. Pass the contact's primary_email as the resource ID.
- **list_all_desk_365_companies** — List companies using documented Desk365 query parameters.
- **get_single_desk_365_company_by_id** — Get company details. Pass the company name as the resource ID.
- **create_a_desk_365_company** — Create a company.
- **desk_365_companies_create_with_attachment** — Create a company with attachment. Send the file in multipart body and the stringified `company_object` in query params.
- **update_a_desk_365_company_by_id** — Update a company. Pass the company name as the resource ID.
- **list_all_desk_365_time_entries** — List time entries. `time_entries_count` accepts 30, 50, or 100.
- **get_single_desk_365_time_entry_by_id** — Get time entry details. Pass the time entry id as the resource ID.
- **create_a_desk_365_time_entry** — Add a time entry. Pass `ticket_number` as a query parameter.
- **list_all_desk_365_surveys** — List all surveys.
- **get_single_desk_365_survey_by_id** — Get survey details. Pass the survey_name as the resource ID.
- **list_all_desk_365_survey_ratings** — List all survey ratings.
- **list_all_desk_365_contracts** — List contracts. Desk365 documents this API as special access; contact help@desk365.io if unavailable.
- **get_single_desk_365_contract_by_id** — Get contract details. Pass the reference_number as the resource ID. Desk365 documents this API as special access.
- **create_a_desk_365_contract** — Create a contract. Desk365 documents this API as special access.
- **update_a_desk_365_contract_by_id** — Update a contract. Pass the reference_number as the resource ID. Desk365 documents this API as special access.
- **get_single_desk_365_kb_category_by_id** — Get KB category details. Pass the category_name as the resource ID.
- **create_a_desk_365_kb_category** — Create a KB category.
- **update_a_desk_365_kb_category_by_id** — Update a KB category. Pass the category_name as the resource ID.
- **delete_a_desk_365_kb_category_by_id** — Delete a KB category. Pass the category_name as the resource ID.
- **get_single_desk_365_kb_folder_by_id** — Get KB folder details. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **create_a_desk_365_kb_folder** — Create a KB folder.
- **update_a_desk_365_kb_folder_by_id** — Update a KB folder. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **delete_a_desk_365_kb_folder_by_id** — Delete a KB folder. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **list_all_desk_365_kb_articles** — List live KB article titles.
- **get_single_desk_365_kb_article_by_id** — Get KB article details. Pass the article_name as the resource ID.
- **create_a_desk_365_kb_article** — Create a KB article.
- **update_a_desk_365_kb_article_by_id** — Update a KB article. Pass the article_name as the resource ID.
- **delete_a_desk_365_kb_article_by_id** — Delete a KB article. Pass the article_name as the resource ID.

## How it works

1. **Link your customer's Desk365 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 Desk365.** The Proxy API is a 1-to-1 mapping of the Desk365 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

- **Automate client billing from helpdesk time entries** — PSA and billing platforms can pull time entries and ticket data from their customers' Desk365 instances to automatically calculate billable hours per client and generate accurate invoices without manual data entry.
- **Monitor customer health with ticket sentiment and CSAT data** — Customer success platforms can ingest Desk365 survey scores and full conversation histories to run sentiment analysis, flag at-risk accounts, and give CS teams a unified view of support-driven churn signals.
- **Power AI search with helpdesk knowledge base articles** — AI copilot and enterprise search products can sync Desk365 Knowledge Base articles into their RAG pipelines, enabling employees to get instant, accurate answers sourced from their company's own IT support documentation.
- **Sync support tickets with developer issue trackers** — Bug tracking and engineering workflow tools can offer two-way sync between Desk365 tickets and developer issues, so bug reports from end users flow seamlessly into sprint backlogs and resolutions propagate back to close the loop.
- **Enrich CRM contacts with helpdesk interaction context** — CRM and identity platforms can sync Desk365 contacts and companies—including custom fields—to ensure sales and support teams always have up-to-date customer context without toggling between systems.

## What you can build

- **Two-way ticket sync with status propagation** — Automatically create and update issues in your platform when Desk365 tickets are created or resolved, and push resolution status back to Desk365 including custom field updates like release version.
- **Automated time-entry-based invoice generation** — Pull agent time entries from Desk365 grouped by company and ticket to generate detailed, auditable invoices inside your billing or PSA product.
- **Knowledge Base article ingestion pipeline** — Sync Desk365 KB categories, folders, and articles on a scheduled basis to feed your AI search index or external help center with always-current documentation.
- **CSAT and survey score dashboard** — Aggregate Desk365 survey responses alongside ticket metadata to surface customer satisfaction trends and SLA breach patterns in your analytics product.
- **Conversation history export for AI training** — Extract full HTML conversation threads—including agent notes and replies—from Desk365 tickets to train sentiment models or populate AI-assisted response suggestions.
- **Contact and company sync with custom field mapping** — Keep your platform's contact records in sync with Desk365, mapping standard and custom fields (using the cf_ prefix) to maintain a single source of truth for customer data.

## FAQs

### Is a Desk365 integration available on Truto today?

Desk365 is not pre-built yet but can be built on request. Truto builds and ships new integrations quickly, handling auth, pagination, and API-specific quirks so you don't have to.

### What API version does Desk365 use and what authentication method is required?

Desk365 uses a Version 3 REST API following the OpenAPI 3.0 standard. Authentication is API-key based, where each Desk365 instance provides a key that your end users would supply when connecting their account through Truto.

### How does pagination work when pulling large datasets from Desk365?

Desk365's API supports page sizes of 30, 50, or 100 items per request. Truto handles pagination automatically, so your application receives complete datasets without managing page cursors or offsets.

### How are custom fields handled in the Desk365 API?

Custom fields on Tickets, Contacts, and Companies are returned with a cf_ prefix (e.g., cf_release_version). When updating custom fields via PUT requests, you must also use this cf_ prefix. Truto can normalize these fields into your data model.

### Can I access archived tickets through the Desk365 API?

Yes, but Desk365 does not have a dedicated archive endpoint. Archived tickets are accessed by querying the main tickets endpoint with appropriate filters. Truto abstracts this so you get a consistent interface regardless of ticket state.

### What data can I extract from Desk365 for analytics or AI use cases?

The Desk365 V3 API exposes tickets, full conversation histories (in HTML), Knowledge Base articles with categories and folders, time entries, surveys with CSAT scores, contacts, and companies—all with custom field support. This covers most BI, AI training, and workflow automation scenarios.

## Related reading

- [Connect Desk365 to Claude: Sync Support Tickets, Companies & Articles](https://truto.one/blog/connect-desk365-to-claude-sync-support-tickets-companies-articles/) — Learn how to connect Desk365 to Claude using Truto's MCP server. Sync tickets, contacts, and knowledge base articles directly into Claude's context window.
- [Connect Desk365 to ChatGPT: Manage Tickets, Contacts & Knowledge](https://truto.one/blog/connect-desk365-to-chatgpt-manage-tickets-contacts-knowledge/) — Connect Desk365 to ChatGPT using Truto's MCP server. Learn how to configure secure access to tickets, contacts, and knowledge base articles for AI agents.
- [Connect Desk365 to AI Agents: Automate Tickets, Content & Time Logs](https://truto.one/blog/connect-desk365-to-ai-agents-automate-tickets-content-time-logs/) — Learn how to connect Desk365 to AI agents using Truto's proxy tools. Build autonomous workflows to manage tickets, attachments, content, and time entries.
