IntelliDesk's APIs: REST and MCP
Everything here is under Settings → Developer. The per-desk parts (API keys, webhooks, Slack) are on each help desk's card. Alongside the REST API and the MCP server, this article also covers outbound webhooks and Slack notifications.
Slack notifications
Post events to a Slack channel, per help desk:
- In Slack, create an Incoming Webhook for the channel (Apps → Incoming Webhooks).
- In IntelliDesk, click Add Slack target on the desk's card.
- Give it a name (for example
#support-alerts) and paste the webhook URL. - Choose the events to send: ticket created, assigned, status changed, closed, or message received.
The URL is stored encrypted.
REST API: /api/v1
HTTP and JSON, for server-to-server work: creating tickets from your own systems, pulling data into a dashboard, syncing with a CRM.
Authentication
Authorization: Bearer idk_.... Keys belong to one help desk, and you generate them under API keys on that desk's card. There are two kinds:
- Server keys: full access for that desk. Keep them on your server.
- Website keys: for the website widget and form. They can create tickets and upload files, but not read other tickets. You can limit them to your site's address.
What it covers
The API covers these resources:
- tickets and their messages;
- contacts and companies;
- projects, cards and notes;
- tags;
- knowledge-base articles;
- time entries, time categories and timesheets;
- file uploads.
The full reference, with examples you can try, is at API docs (/api/docs); the OpenAPI spec is at /api/docs/spec. Each key is limited to 120 requests a minute.
MCP server: /api/mcp
The Model Context Protocol lets AI agents such as Claude Code, OpenAI's Codex CLI or Cortex work in IntelliDesk: triage and reply to tickets, update cards, write help articles, log time. Every action is recorded as the person the agent works for.
Two ways to connect
Sign in (OAuth), for agents on your own computer:
claude mcp add --transport http intellidesk https://intellidesk.co/api/mcp
The first call opens a browser to sign in. All tools are available.
MCP key (idk_mcp_*), for scripts and headless agents. Generate one under MCP API keys. It acts as you:
claude mcp add --transport http intellidesk https://intellidesk.co/api/mcp \
--header "Authorization: Bearer idk_mcp_<your-key>"
Every tool works with a key except three: create_incident, post_incident_update and resolve_incident. Publishing to your public status page needs a person's sign-in.
What agents can do
The MCP server has 74 tools, in these groups:
- Helpdesk: list, search, read and reply to tickets, add internal notes, change status, assign, tag.
- Projects: projects, cards (create, update, move, assign, tag), and project notes.
- AI dev workflow: bind a session to a card, log progress, link a PR, complete the card.
- Customers: contacts and companies.
- Knowledge base: list, search, read, write, update and delete articles.
- Status page: components and incidents.
- Timesheets: timers, time entries and submissions.
- Workspace: identity and portal branding.
The live catalogue, with setup for each client, is under MCP server in Settings → Developer.
Webhooks
To send events to your own systems (a ticket was created, its status changed, a customer replied), add an endpoint under Outbound webhooks on a desk's card. Payloads are signed with HMAC-SHA256, using a secret for each endpoint.
Which to use
| You want to… | Use |
|---|---|
| Hear about new tickets in Slack | Slack target |
| Create tickets from your own server | REST |
| Pull ticket data into a BI tool | REST |
| React to events in your own system | Webhooks |
| Let Claude triage and reply to tickets | MCP |
| Run a headless triage bot | MCP key |
For time tracking over the APIs, see Programmatic time tracking with the REST API and MCP.