# Desk365 MCP connector

The Desk365 connector brings your helpdesk tickets, replies, notes, contacts, companies and time entries to Claude, ChatGPT, Cursor and the Elaichi Agent, so each agent signs in as themselves and works the queue in plain language with every action logged.

Source: https://elaichi.ai/connectors/desk365/

## Facts

| | |
| --- | --- |
| Application | Desk365 |
| Category | Helpdesk |
| AI tools | 44 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 44 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Desk365 is connected

- Summarize open Desk365 tickets raised this week
- Draft a reply to ticket 4821 about billing
- List contacts with more than three open tickets

## Connect Desk365 in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Desk365.
2. Optionally set Share with, then press Connect.
3. Paste a Desk365 API key. One person generates a token in Desk365 and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Desk365 tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Desk365 to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Desk365 to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Desk365 to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Desk365 to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Desk365 tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Desk365 through Elaichi

### Catch up on a ticket before replying

Support. Ask for the full conversation on a Desk365 ticket, get the back and forth summarized, and send the reply from the same place, with the file the customer needs attached.

### Log a ticket while you are still on the call

Support. Describe the problem as the customer explains it and a Desk365 ticket is created under the right contact, with a private note for whoever picks it up next.

### Find every open request from one office

IT helpdesk. Pull the open Desk365 tickets for a company, see what is stuck and what is waiting on the requester, and update priority or status in one pass.

### Keep contact and company records current

Customer success. When someone changes role or a client renames itself, update the Desk365 contact or company record without opening the admin screens.

### Pull time entries for month-end billing

Finance. List the Desk365 time entries logged against a client's tickets for the period, check them against the contract, and hand the totals to invoicing.

### Spot patterns across the week's tickets

Operations. Ask which Desk365 tickets came in this week, group them by company or subject, and see which issues keep coming back before the next team meeting.

## Frequently asked questions

### How do I connect Desk365 to Claude?

First connect Desk365 in Elaichi by pasting in a Desk365 API key from your helpdesk settings, which takes a couple of minutes. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. There is no OAuth application to register and no client ID or secret to generate, and Claude then asks you to sign in to Elaichi as yourself.

### Does Desk365 work with ChatGPT and Cursor as well as Claude?

Yes. Once Desk365 is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Desk365 once and every client picks it up, with each person signing in as themselves.

### What can an AI agent actually do with my Desk365 data?

An agent can list and open Desk365 tickets, read the whole conversation on one, create new tickets, send replies and add private notes, including ones with attachments. It can also look up, create and update contacts and companies, and list or log time entries against work. Because Desk365 offers many actions, short concrete asks such as "open tickets for Acme this week" get better results than long paragraphs.

### Does connecting Desk365 give the AI access to every ticket in the helpdesk?

No. Every request runs inside the Desk365 access of the person who signed in, so an agent sees the tickets, contacts and companies that person could already see in Desk365. Elaichi can narrow that further, for example to reading only, but it can never widen it beyond what Desk365 itself allows.

### Can my team share one Desk365 connection?

Yes. One person connects Desk365 in Elaichi and shares the connection with a team, and nobody else ever handles the Desk365 API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person who replied to a ticket or changed a company record.

### Can I stop an agent from changing things in Desk365?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Desk365 tickets and conversations while blocking updates, replies or new contacts. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Desk365 connection when someone leaves?

Offboarding that person in Elaichi ends their access to Desk365 through every client at once. If they set up a shared Desk365 connection, it keeps working for everyone else on the team. Disconnecting Desk365 once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 44 Desk365 tools

Every tool below is callable through https://api.elaichi.ai/mcp once Desk365 is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Desk365 ping** (List). Check Desk365 API server status.
- **List all Desk365 tickets** (List). List tickets. `ticket_count` accepts 30, 50, or 100. Supports documented Desk365 filters and include_* query parameters when supplied.
- **Get single Desk365 ticket by ID** (Get). Get ticket details. Pass the ticket_number as the resource ID.
- **Create a Desk365 ticket** (Create). Create a ticket.
- **Desk365 tickets create with attachment** (Create). Create a ticket with attachment. Send the file in multipart body and the stringified `ticket_object` in query params.
- **Update a Desk365 ticket by ID** (Update). Update a ticket. Pass the ticket_number as the resource ID.
- **List all Desk365 ticket conversations** (List). Retrieve ticket conversation history. Pass `ticket_number` as a query parameter.
- **Create a Desk365 ticket reply** (Create). Add a reply to a ticket. Pass `ticket_number` as a query parameter.
- **Desk365 ticket replies create with attachment** (Create). Add a reply with attachment. Send the file in multipart body and the stringified `reply_object` plus `ticket_number` in query params.
- **Create a Desk365 ticket note** (Create). Add a note to a ticket. Pass `ticket_number` as a query parameter.
- **Desk365 ticket notes create with attachment** (Create). Add a note with attachment. Send the file in multipart body and the stringified `note_object` plus `ticket_number` in query params.
- **List all Desk365 contacts** (List). List contacts using documented Desk365 query parameters.
- **Get single Desk365 contact by ID** (Get). Get contact details. Pass the contact's primary_email as the resource ID.
- **Create a Desk365 contact** (Create). Create a contact.
- **Desk365 contacts create with attachment** (Create). Create a contact with attachment. Send the file in multipart body and the stringified `contact_object` in query params.
- **Update a Desk365 contact by ID** (Update). Update a contact. Pass the contact's primary_email as the resource ID.
- **List all Desk365 companies** (List). List companies using documented Desk365 query parameters.
- **Get single Desk365 company by ID** (Get). Get company details. Pass the company name as the resource ID.
- **Create a Desk365 company** (Create). Create a company.
- **Desk365 companies create with attachment** (Create). Create a company with attachment. Send the file in multipart body and the stringified `company_object` in query params.
- **Update a Desk365 company by ID** (Update). Update a company. Pass the company name as the resource ID.
- **List all Desk365 time entries** (List). List time entries. `time_entries_count` accepts 30, 50, or 100.
- **Get single Desk365 time entry by ID** (Get). Get time entry details. Pass the time entry id as the resource ID.
- **Create a Desk365 time entry** (Create). Add a time entry. Pass `ticket_number` as a query parameter.
- **List all Desk365 surveys** (List). List all surveys.
- **Get single Desk365 survey by ID** (Get). Get survey details. Pass the survey_name as the resource ID.
- **List all Desk365 survey ratings** (List). List all survey ratings.
- **List all Desk365 contracts** (List). List contracts. Desk365 documents this API as special access; contact help@desk365.io if unavailable.
- **Get single Desk365 contract by ID** (Get). Get contract details. Pass the reference_number as the resource ID. Desk365 documents this API as special access.
- **Create a Desk365 contract** (Create). Create a contract. Desk365 documents this API as special access.
- **Update a Desk365 contract by ID** (Update). Update a contract. Pass the reference_number as the resource ID. Desk365 documents this API as special access.
- **Get single Desk365 kb category by ID** (Get). Get KB category details. Pass the category_name as the resource ID.
- **Create a Desk365 kb category** (Create). Create a KB category.
- **Update a Desk365 kb category by ID** (Update). Update a KB category. Pass the category_name as the resource ID.
- **Delete a Desk365 kb category by ID** (Delete). Delete a KB category. Pass the category_name as the resource ID.
- **Get single Desk365 kb folder by ID** (Get). Get KB folder details. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **Create a Desk365 kb folder** (Create). Create a KB folder.
- **Update a Desk365 kb folder by ID** (Update). Update a KB folder. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **Delete a Desk365 kb folder by ID** (Delete). Delete a KB folder. Pass folder_name as the resource ID and `category_name` as a query parameter.
- **List all Desk365 kb articles** (List). List live KB article titles.
- **Get single Desk365 kb article by ID** (Get). Get KB article details. Pass the article_name as the resource ID.
- **Create a Desk365 kb article** (Create). Create a KB article.
- **Update a Desk365 kb article by ID** (Update). Update a KB article. Pass the article_name as the resource ID.
- **Delete a Desk365 kb article by ID** (Delete). Delete a KB article. Pass the article_name as the resource ID.
