---
title: "TOPdesk MCP server for AI agents - actionlake"
description: "Give Claude 559 TOPdesk actions through one MCP server: incidents, operators, assets. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/topdesk
updated: 2026-10-23
---

Connectors · MSP & PSA

# TOPdesk MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to TOPdesk and the rest of your systems. It gives your agent 559 TOPdesk actions (300 reads, 214 writes and 45 that wait for a confirmation) and holds the TOPdesk credential itself, so the agent never does. It paces TOPdesk's limits and records every call.

[Connect TOPdesk free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "topdesk.operators.list",
  intent: "check which TOPdesk account is connected"
}
# Get list of operators · read · 1 upstream call
```

- 559 actions in one signed file
- 300 read look, never change
- 214 write create and update
- 45 wait for a yes destructive, confirmed first

Set up

## Connect TOPdesk in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect TOPdesk.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `username` TOPdesk login name of the operator (or person, for the requester/SSP endpoints) the API acts as
   - `password` An application password for that login (TOPdesk: user menu > My settings > Application passwords)
   - `host` Where your TOPdesk lives: your host
   ```
   account { op: "connections.requirements", service: "topdesk" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "topdesk.operators.list" }
   # get list of operators · read · 1 upstream call
   check { action: "topdesk.operators.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

TOPdesk at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`username` `password`

**Setup fields**

`host`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

TOPdesk (ITSM and ESM: incidents, changes, assets, operations, knowledge base, reservations, visitors) API TOPdesk REST APIs: Access Roles SaaS, Asset Management, Change Management, Custom Action Support SaaS, General, Incident Management, Knowledge Base, Knowledge Base (GraphQL), SSP Look and Feel, OAuth client SaaS, Operations Management, Reservations, Services, Settings, Supporting Files, Task Notifications, Visitor Registration, at your TOPdesk instance's API base URL, which you enter when connecting

**Built from**

TOPdesk's documentation, read 23 October 2026[developers.topdesk.com](https://developers.topdesk.com/swagger/access-roles_SaaS.json) [developers.topdesk.com](https://developers.topdesk.com/swagger/assets_specification_1.91.3.json) [developers.topdesk.com](https://developers.topdesk.com/swagger/change_specification_1.42.0.yaml)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

299 of 300 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

7, so ask can line TOPdesk up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in TOPdesk.

559 actions in 89 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **300** read look, never change
- **214** write create and update
- **45** destructive wait for a confirmation

1. ### Incidents
   65
   44 read · 15 write · 6 destructive
   Returns a list of incidents · Create an Incident · Returns an incident · Updates an Incident
2. ### Operators
   34
   16 read · 13 write · 5 destructive
   Get list of operators · Create an operator · Get operator by id · Get logged in operator
3. ### Assets
   33
   11 read · 18 write · 4 destructive
   Returns assets which meet the given criteria · Creates a new asset · Retrieves an asset based on the given assetId · Returns assets which meet the given criteria. Identical with `GET /assets` but can handle a longer parameter list
4. ### Operational activities
   27
   18 read · 9 write · 0 destructive
   Get operational activities · Creates a new action for an operational activity · Retrieves the list of actions of an operational activity · Retrieves the list of attachments of an operational activity
5. ### Requester incidents
   25
   22 read · 3 write · 0 destructive
   Returns a list of incidents for SSP users · Get incident actions by incident id for SSP users · Get incident actions by incident number for SSP users · Get incident attachments by incident id for an SSP user
6. ### Operator changes
   23
   8 read · 9 write · 6 destructive
   Get a list of changes · Creates a new change for an operator · Updates changes · Returns the details of the change
7. ### Locations
   20
   13 read · 7 write · 0 destructive
   Get list of building zones · Get list of ceiling coverings · Create a location · Get list of floor coverings
8. ### Persons
   20
   11 read · 9 write · 0 destructive
   Get list of persons · Get list of person groups of a person by id (v2) · Create a person · Create an optional person drop-down list entry

**81 more areas · 312 actions**

- Reservations **20**
- Branches **19**
- Knowledge items **18**
- Knowledge folders **13**
- Operator change activities **13**
- Operatorgroups **12**
- Persongroups **9**
- Services **9**
- Visitors **8**
- Asset capabilities **7**
- Changes **7**
- Manager authorizable activities **7**
- Budgetholders **6**
- Departments **6**
- Manager authorizable changes **6**
- Requester changes **6**
- Asset import **5**
- Badges **5**
- Car parks **5**
- Identification types **5**
- Knowledge item statuses **5**
- Requester visitors **5**
- Reservation cancellation reasons **5**
- Reservation processing status **5**
- Reservation rejection reasons **5**
- Reservations optional searchlist **5**
- Service types **5**
- Visitor optional searchlist **5**
- Asset links **4**
- Asset stock quantities **4**
- Change calendar **4**
- Suppliers **4**
- Asset fields **3**
- Overview reservations **3**
- Requester persons **3**
- Reservable locations **3**
- Access role configurations **2**
- Access roles **2**
- Asset dropdowns **2**
- Asset uploads **2**
- Avatars **2**
- Emails **2**
- Knowledge explorer **2**
- Person extra field a entries **2**
- Person extra field B entries **2**
- Reservable assets **2**
- Reservable services **2**
- Service window **2**
- Supplier contacts **2**
- Access roles reporting **1**
- Applicable activity templates **1**
- Applicable change templates **1**
- Archiving reasons **1**
- Asset card types **1**
- Asset statuses **1**
- Asset stock totals **1**
- Asset templates **1**
- Categories **1**
- Change activity rejection reasons **1**
- Change rejection reasons **1**
- Countries **1**
- Currency **1**
- Facility occupancies **1**
- Languages **1**
- Manager authorizables **1**
- My look and feel profile **1**
- Operational series **1**
- Optionalfields **1**
- Permissiongroups **1**
- Product version **1**
- Public **1**
- Requester avatars **1**
- Requester branches **1**
- Requester categories **1**
- Requester locations **1**
- Requester reservations **1**
- Search **1**
- Tasknotifications **1**
- Timespent reasons **1**
- Version **1**
- Well known **1**

Top actions

## The TOPdesk API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 25 of TOPdesk's 26 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `topdesk.operators.list` Get list of operators | Get list of operators. | read | `identity.user.list` 474 connectors |
| `topdesk.operatorgroups.list` Get list of operator groups | Get list of operator groups. | read | `identity.group.list` 262 connectors |
| `topdesk.incidents.list` Returns a list of incidents | Returns a list of incidents. | read | `service.ticket.list` 56 connectors |
| `topdesk.persons.list` Get list of persons | Get list of persons. | read | `crm.contact.list` 177 connectors |
| `topdesk.operators.create` Create an operator | Create an operator. | write | `identity.user.create` 262 connectors |
| `topdesk.branches.list` Get list of branches | Get list of branches. | read | `crm.company.list` 162 connectors |
| `topdesk.incidents.create` Create an Incident | Create an Incident. | write | `service.ticket.create` 54 connectors |
| `topdesk.operatorgroups.create` Create an operator group | Create an operator group. | write | `identity.group.create` 205 connectors |
| `topdesk.operator_changes.list` Get a list of changes | Get a list of changes. | read | `service.change.list` 5 connectors |
| `topdesk.suppliers.list` Get list of suppliers | Get list of suppliers. | read | `asset.supplier.list` 41 connectors |
| `topdesk.operator_changes.create` Creates a new change for an operator | Creates a new change for an operator. | write | `service.change.create` 5 connectors |
| `topdesk.operator_changes.cancel` Cancel extensive change | Cancel extensive change. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the TOPdesk actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which TOPdesk tickets have been open the longest? Show me the ten oldest with their status.
   calls `topdesk.incidents.list`
2. Write write
   Create an operator in TOPdesk. Show me exactly what you will send before you save it.
   calls `topdesk.operators.create`
3. Across systems read
   For each customer, how many tickets are in TOPdesk and how many invoices in NetSuite?
   calls `topdesk.incidents.list` `netsuite.views.invoices`

Across your systems

## TOPdesk, joined to the rest of your business.

One `ask` fetches from TOPdesk and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- For each customer, how many tickets are in TOPdesk and how many invoices in NetSuite?
  `topdesk.incidents.list` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)
- Which customers with tickets in TOPdesk are also companies in HubSpot CRM?
  `topdesk.incidents.list` + `hubspot_crm.companies.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `identity.user` **517** `identity.group` **239** `crm.company` **227** `crm.contact` **192** `service.ticket` **62** `asset.supplier` **38** `service.change` **3**

ask

```
ask {
  intent: "for each customer, how many tickets are in TOPdesk and how many invoices in NetSuite",
  steps: [
    { action: "topdesk.incidents.list", as: "tix", input: {}, limit: 100, max_pages: 5 },
    { action: "netsuite.views.invoices", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "tix",
        right: "inv",
        on: "crm.company",
        group_by: "tix.company_name",
        select: ["tix.company_name", "count(tix.id) as tickets", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for TOPdesk

## Destructive actions wait for a yes.

45 TOPdesk actions are destructive. The first 10:

- Cancel extensive change `topdesk.operator_changes.cancel`
- Deletes several assets `topdesk.assets.delete`
- Delete links between the specified entity and one or more assets `topdesk.assets.unlink`
- Remove link between two assets `topdesk.asset_links.delete`
- Deletes a field permanently `topdesk.asset_fields.delete`
- delete email by id `topdesk.emails.delete_by_id`
- Removes an uploaded document `topdesk.asset_uploads.delete`
- Delete a department `topdesk.departments.delete_by_id`
- Deletes a link type `topdesk.asset_capabilities.delete`
- Removes an assigned branch, location, person, or person group `topdesk.assets.assignments_delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do topdesk.operator_changes.cancel confirm_policy: **human**

Cancel extensive change?

**intent:** the user asked me to cancel extensive change

run suspended · waiting for a named person · key _topdesk-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "topdesk-agent",
  allowed_actions: ["topdesk.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "topdesk.operator_changes.cancel", approver: "lead@example.com" },
    { match: "topdesk.assets.delete", approver: "lead@example.com" },
    { match: "topdesk.assets.unlink", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to TOPdesk only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What TOPdesk costs on actionlake.

Every TOPdesk action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call TOPdesk refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 559 TOPdesk actions
- 559 actions page each page of a long list is one call
- 299 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every TOPdesk action.

559 actions by area: the id your agent calls, what it does, and its effect.

**Incidents 65**

- `topdesk.incidents.create` Create an Incident write
- `topdesk.incidents.get_by_id` Returns an incident read
- `topdesk.incidents.get_by_number` Returns an incident read
- `topdesk.incidents.list` Returns a list of incidents read
- `topdesk.incidents.replace_by_id` Updates an Incident write
- `topdesk.incidents.replace_by_number` Updates an Incident write
- and 59 more in this area

**Operators 34**

- `topdesk.operators.create` Create an operator write
- `topdesk.operators.current_get` Get logged in operator read
- `topdesk.operators.get_by_id` Get operator by id read
- `topdesk.operators.list` Get list of operators read
- `topdesk.operators.archive_by_id` Archive an operator write
- `topdesk.operators.archive_by_id_by_id` Archive an operator write
- and 28 more in this area

**Assets 33**

- `topdesk.assets.create` Creates a new asset write
- `topdesk.assets.get` Retrieves an asset based on the given assetId read
- `topdesk.assets.list` Returns assets which meet the given criteria read
- `topdesk.assets.search` Returns assets which meet the given criteria. Identical with `GET /assets` but can handle a longer parameter list read
- `topdesk.assets.template_id_create` Creates a new asset write
- `topdesk.assets.actions_get` Get available actions for the asset read
- and 27 more in this area

**Operational activities 27**

- `topdesk.operational_activities.actions_create` Creates a new action for an operational activity write
- `topdesk.operational_activities.actions_list` Retrieves the list of actions of an operational activity read
- `topdesk.operational_activities.attachments_list` Retrieves the list of attachments of an operational activity read
- `topdesk.operational_activities.list` Get operational activities read
- `topdesk.operational_activities.create` Create a new operational activity write
- `topdesk.operational_activities.emails_list` Retrieves the list of emails of an operational activity read
- and 21 more in this area

**Requester incidents 25**

- `topdesk.requester_incidents.actions_list_by_id` Get incident actions by incident id for SSP users read
- `topdesk.requester_incidents.actions_list_by_number` Get incident actions by incident number for SSP users read
- `topdesk.requester_incidents.attachments_list_by_id` Get incident attachments by incident id for an SSP user read
- `topdesk.requester_incidents.list` Returns a list of incidents for SSP users read
- `topdesk.requester_incidents.actions_get_by_id` Get incident actions by incident id and action id for SSP users read
- `topdesk.requester_incidents.actions_get_by_number` Get incident actions by incident number and action id for SSP users read
- and 19 more in this area

**Operator changes 23**

- `topdesk.operator_changes.create` Creates a new change for an operator write
- `topdesk.operator_changes.get` Returns the details of the change read
- `topdesk.operator_changes.list` Get a list of changes read
- `topdesk.operator_changes.update` Updates changes write
- `topdesk.operator_changes.actions_delete` delete individual actions destructive
- `topdesk.operator_changes.archive` Archive change write
- and 17 more in this area

**Locations 20**

- `topdesk.locations.building_zones_list` Get list of building zones read
- `topdesk.locations.ceiling_coverings_list` Get list of ceiling coverings read
- `topdesk.locations.create` Create a location write
- `topdesk.locations.floor_coverings_list` Get list of floor coverings read
- `topdesk.locations.archive_by_id` Archive a location write
- `topdesk.locations.archive_by_id_by_id` Archive a location write
- and 14 more in this area

**Persons 20**

- `topdesk.persons.create` Create a person write
- `topdesk.persons.free_fields_searchlists_create` Create an optional person drop-down list entry write
- `topdesk.persons.list` Get list of persons read
- `topdesk.persons.persongroups_list` Get list of person groups of a person by id (v2) read
- `topdesk.persons.archive_by_id` Archive a person and its linked operator if there is one write
- `topdesk.persons.archive_by_id_by_id` Archive a person and its linked operator if there is one write
- and 14 more in this area

**Reservations 20**

- `topdesk.reservations.attachments_list` Get files attached to a reservation read
- `topdesk.reservations.create` Creates a single reservation write
- `topdesk.reservations.list` Returns a list of reservations read
- `topdesk.reservations.make_recurrent_dates_create` Make reservation recurrent on specific dates write
- `topdesk.reservations.approve` Approves a reservation request write
- `topdesk.reservations.cancel` Cancels a reservation destructive
- and 14 more in this area

**Branches 19**

- `topdesk.branches.attachments_list_by_id` Get the list of attachments of a branch read
- `topdesk.branches.building_levels_list` Get list of building levels read
- `topdesk.branches.create` Create a branch write
- `topdesk.branches.list` Get list of branches read
- `topdesk.branches.archive_by_id` Archive a branch write
- `topdesk.branches.archive_by_id_by_id` Archive a branch write
- and 13 more in this area

**Knowledge items 18**

- `topdesk.knowledge_items.attachments_list` Lists attachments uploaded to given Knowledge Item read
- `topdesk.knowledge_items.branches_list` Returns all linked branches of the Knowledge Item read
- `topdesk.knowledge_items.create` Creates a Knowledge Item with given content write
- `topdesk.knowledge_items.list` Returns a list of Knowledge Items read
- `topdesk.knowledge_items.archive` Archives the Knowledge Item write
- `topdesk.knowledge_items.attachments_delete` Deletes an attachment from a Knowledge Item destructive
- and 12 more in this area

**Knowledge folders 13**

- `topdesk.knowledge_folders.branches_list` Returns all linked branches of the Folder read
- `topdesk.knowledge_folders.create` Creates a Folder with given content write
- `topdesk.knowledge_folders.list` Returns a list of Folders read
- `topdesk.knowledge_folders.translations_create` Creates a new translation for the Folder write
- `topdesk.knowledge_folders.archive` Archives the Folder write
- `topdesk.knowledge_folders.branches_link` Links a branch to the Folder write
- and 7 more in this area

**Operator change activities 13**

- `topdesk.operator_change_activities.create` Create a new change activity write
- `topdesk.operator_change_activities.list` Get a list of change activities read
- `topdesk.operator_change_activities.progresstrail_create` Creates a new action for this activity write
- `topdesk.operator_change_activities.progresstrail_list` Returns the progress trail of this change activity read
- `topdesk.operator_change_activities.actions_delete` Delete an action from this change activity destructive
- `topdesk.operator_change_activities.attachments_delete` Deletes the attachment of the change activity destructive
- and 7 more in this area

**Operatorgroups 12**

- `topdesk.operatorgroups.create` Create an operator group write
- `topdesk.operatorgroups.get_by_id` Get operator group by id read
- `topdesk.operatorgroups.list` Get list of operator groups read
- `topdesk.operatorgroups.lookup_list` Returns operator group id, name pairs read
- `topdesk.operatorgroups.archive_by_id` Archive an operator group write
- `topdesk.operatorgroups.archive_by_id_by_id` Archive an operator group write
- and 6 more in this area

**Persongroups 9**

- `topdesk.persongroups.create` Create a person group write
- `topdesk.persongroups.list` Get list of person groups (v2) read
- `topdesk.persongroups.lookup_list` Returns person group id, name pairs read
- `topdesk.persongroups.persons_list` Get list of persons of a persongroup by id (v2) read
- `topdesk.persongroups.archive` Archive a person group write
- `topdesk.persongroups.get` Get person group by id (v2) read
- and 3 more in this area

**Services 9**

- `topdesk.custom_actions.email_send` Sends an email write
- `topdesk.custom_actions.webhook_trigger` Triggers a webhook action via a customizable URL write
- `topdesk.services.create` Create a service write
- `topdesk.services.linked_assets_create` Link assets to a service write
- `topdesk.services.get` Get a service by id read
- `topdesk.services.linked_assets_delete` Unlink an asset from a service destructive
- and 3 more in this area

**Visitors 8**

- `topdesk.visitors.archive` Archive visitor write
- `topdesk.visitors.attachments_list` Get files attached to a visitor read
- `topdesk.visitors.create` Create visitors write
- `topdesk.visitors.list` Get visitors read
- `topdesk.visitors.attachments_delete` Delete attachment from visitor destructive
- `topdesk.visitors.get` Get visitor by id or number read
- and 2 more in this area

**Asset capabilities 7**

- `topdesk.asset_capabilities.archive` Archives a link type write
- `topdesk.asset_capabilities.create` Creates a new link type write
- `topdesk.asset_capabilities.get` Returns the link type with the ID specified in the path read
- `topdesk.asset_capabilities.list` Returns list of all link types read
- `topdesk.asset_capabilities.delete` Deletes a link type destructive
- `topdesk.asset_capabilities.unarchive` Unarchives a link type write
- and 1 more in this area

**Changes 7**

- `topdesk.changes.activity_statuses_list` Lists all statuses for activities read
- `topdesk.changes.benefits_list` List all benefits for changes read
- `topdesk.changes.change_statuses_list` Lists all statuses for changes read
- `topdesk.changes.impacts_list` List all impacts for changes read
- `topdesk.changes.priorities_list` List all priorities for changes read
- `topdesk.changes.settings_get` Returns settings for changes read
- and 1 more in this area

**Manager authorizable activities 7**

- `topdesk.manager_authorizable_activities.change_progresstrail_list` Returns the progress trail of the change this activity belongs to read
- `topdesk.manager_authorizable_activities.change_requests_list` Lists the requests for the change this activity belongs to read
- `topdesk.manager_authorizable_activities.progresstrail_create` Creates a new action for this activity write
- `topdesk.manager_authorizable_activities.progresstrail_list` Returns the progress trail of this activity read
- `topdesk.manager_authorizable_activities.get` Returns details of an authorization activity read
- `topdesk.manager_authorizable_activities.manager_action_update` Approves or rejects an authorization activity write
- and 1 more in this area

**Budgetholders 6**

- `topdesk.budgetholders.archive_by_id` Archive a budget holder write
- `topdesk.budgetholders.create` Create a budget holder write
- `topdesk.budgetholders.list` Get list of budgetholders read
- `topdesk.budgetholders.unarchive_by_id` Unarchive a budget holder write
- `topdesk.budgetholders.delete_by_id` Delete a budget holder destructive
- `topdesk.budgetholders.update_by_id` Updates the name-value of a budget holder write

**Departments 6**

- `topdesk.departments.archive_by_id` Archive a department write
- `topdesk.departments.create` Create department write
- `topdesk.departments.list` Get list of departments read
- `topdesk.departments.unarchive_by_id` Unarchive a department write
- `topdesk.departments.delete_by_id` Delete a department destructive
- `topdesk.departments.update_by_id` Updates the name-value of a department write

**Manager authorizable changes 6**

- `topdesk.manager_authorizable_changes.ordered_items_list` Lists the ordered items for this change read
- `topdesk.manager_authorizable_changes.processing_status_transitions_create` Approves or rejects an authorized change write
- `topdesk.manager_authorizable_changes.progresstrail_create` Creates a new action for this change write
- `topdesk.manager_authorizable_changes.progresstrail_list` Returns the progress trail of this change read
- `topdesk.manager_authorizable_changes.get` Returns the details of a change by its ID in case the logged in user is the manager of the change read
- `topdesk.manager_authorizable_changes.requests_list` Lists the requests for this change read

**Requester changes 6**

- `topdesk.requester_changes.list` Returns a list of changes depending on the permissions of the user or requester of the change read
- `topdesk.requester_changes.ordered_items_list` Lists the ordered items for this change read
- `topdesk.requester_changes.progresstrail_create` Creates a new action for this change write
- `topdesk.requester_changes.progresstrail_list` Returns the progress trail of this change read
- `topdesk.requester_changes.get` Returns the details of the change by its ID in case the logged in user is the requester of the change read
- `topdesk.requester_changes.requests_list` Lists the requests for this change read

**Asset import 5**

- `topdesk.asset_import.assets_links_child_update` Sets the children of an asset write
- `topdesk.asset_import.assets_links_incoming_update` Sets an asset's dependencies according to a specific link type write
- `topdesk.asset_import.assets_links_outgoing_update` Sets an asset's provided links according to a specific link type write
- `topdesk.asset_import.assets_list` Returns a list of all non-archived assets read
- `topdesk.asset_import.assets_links_parent_update` Sets the parents of an asset write

**Badges 5**

- `topdesk.badges.archive` Archive badge write
- `topdesk.badges.create` Create badge write
- `topdesk.badges.list` Get badges read
- `topdesk.badges.unarchive` Unarchive badge write
- `topdesk.badges.update` Update badge write

**Car parks 5**

- `topdesk.car_parks.archive` Archive car park write
- `topdesk.car_parks.create` Create car park write
- `topdesk.car_parks.list` Get car parks read
- `topdesk.car_parks.unarchive` Unarchive car park write
- `topdesk.car_parks.update` Update car park write

**Identification types 5**

- `topdesk.identification_types.archive` Archive identification type write
- `topdesk.identification_types.create` Create identification type write
- `topdesk.identification_types.list` Get identification types read
- `topdesk.identification_types.unarchive` Unarchive identification type write
- `topdesk.identification_types.update` Update identification type write

**Knowledge item statuses 5**

- `topdesk.knowledge_item_statuses.archive` Archives the knowledge item status write
- `topdesk.knowledge_item_statuses.create` Creates a knowledge item status write
- `topdesk.knowledge_item_statuses.list` Returns Knowledge Item statuses read
- `topdesk.knowledge_item_statuses.unarchive` Unarchives the knowledge item status write
- `topdesk.knowledge_item_statuses.update` Updates the knowledge item status write

**Requester visitors 5**

- `topdesk.requester_visitors.attachments_list` Get files attached to a visitor for SSP user read
- `topdesk.requester_visitors.get` Get visitor by id or number for SSP user read
- `topdesk.requester_visitors.list` Get visitors for SSP user read
- `topdesk.requester_visitors.update` Update visitor for SSP user write
- `topdesk.requester_visitors.attachments_delete` Delete attachment from visitor for SSP user destructive

Reservation cancellation reasons **5** Reservation processing status **5** Reservation rejection reasons **5** Reservations optional searchlist **5** Service types **5** Visitor optional searchlist **5** Asset links **4** Asset stock quantities **4** Change calendar **4** Suppliers **4** Asset fields **3** Overview reservations **3** Requester persons **3** Reservable locations **3** Access role configurations **2** Access roles **2** Asset dropdowns **2** Asset uploads **2** Avatars **2** Emails **2** Knowledge explorer **2** Person extra field a entries **2** Person extra field B entries **2** Reservable assets **2** Reservable services **2** Service window **2** Supplier contacts **2** Access roles reporting **1** Applicable activity templates **1** Applicable change templates **1** Archiving reasons **1** Asset card types **1** Asset statuses **1** Asset stock totals **1** Asset templates **1** Categories **1** Change activity rejection reasons **1** Change rejection reasons **1** Countries **1** Currency **1** Facility occupancies **1** Languages **1** Manager authorizables **1** My look and feel profile **1** Operational series **1** Optionalfields **1** Permissiongroups **1** Product version **1** Public **1** Requester avatars **1** Requester branches **1** Requester categories **1** Requester locations **1** Requester reservations **1** Search **1** Tasknotifications **1** Timespent reasons **1** Version **1** Well known **1**

This index shows a sample of each area. All 559 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The TOPdesk MCP server, answered.

**Is there a TOPdesk MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 559 TOPdesk actions across incidents, operators, assets and operational activities, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by TOPdesk.

**What do I need to connect TOPdesk?**

TOPdesk login name of the operator (or person, for the requester/SSP endpoints) the API acts as and An application password for that login (TOPdesk: user menu > My settings > Application passwords). Plus your host. The free call account { op: "connections.requirements", service: "topdesk" } lists exactly what to paste.

**Can an AI agent delete or change things in TOPdesk?**

Only if its key allows it, and only with an explicit confirmation. 45 TOPdesk actions are destructive, including cancel extensive change, deletes several assets and delete links between the specified entity and one or more assets. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my TOPdesk API limit?**

actionlake paces every call to the limits in the TOPdesk service file: 600 calls a minute per connection. Repeated reads are answered from cache (299 TOPdesk actions can be), which never reaches TOPdesk.

**What does a TOPdesk action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (559 TOPdesk actions page). Cache hits, searches, dry runs and calls TOPdesk refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which TOPdesk API does it cover?**

The TOPdesk (ITSM and ESM: incidents, changes, assets, operations, knowledge base, reservations, visitors) API TOPdesk REST APIs: Access Roles SaaS, Asset Management, Change Management, Custom Action Support SaaS, General, Incident Management, Knowledge Base, Knowledge Base (GraphQL), SSP Look and Feel, OAuth client SaaS, Operations Management, Reservations, Services, Settings, Supporting Files, Task Notifications, Visitor Registration at your TOPdesk instance's API base URL, which you enter when connecting. It is built from TOPdesk's documentation as read on 23 October 2026. 559 actions in 89 areas, each one in the signed service file (version 1.0.0).

**Can I combine TOPdesk with my other systems?**

Yes. ask joins TOPdesk to NetSuite or HubSpot CRM on the same customer and returns the answer rather than every row. TOPdesk maps crm.company, which 227 other connectors also map.

**Does actionlake keep my TOPdesk data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your TOPdesk credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like TOPdesk

Shares the most action names with

- [NetBox 11](https://actionlake.com/connectors/netbox)
- [Kaseya VSA 10](https://actionlake.com/connectors/kaseya-vsa)
- [Domotz 9](https://actionlake.com/connectors/domotz)
- [Acronis Cyber Protect Cloud 8](https://actionlake.com/connectors/acronis-cyber-protect-cloud)
- [3CX 7](https://actionlake.com/connectors/3cx)
- [ExtremeCloud IQ 6](https://actionlake.com/connectors/extremecloud-iq)

Joins with, on shared entities

- [ServiceNow 5](https://actionlake.com/connectors/servicenow)
- [Odoo 5](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 5](https://actionlake.com/connectors/erpnext-frappe)
- [Microsoft Dynamics 365 5](https://actionlake.com/connectors/microsoft-dynamics-365)
- [ServiceTitan 5](https://actionlake.com/connectors/servicetitan)
- [Freshservice 5](https://actionlake.com/connectors/freshservice)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by TOPdesk; the name is the vendor's own. Counts are from the TOPdesk service file, version 1.0.0.

## Give your agent TOPdesk today.

[Connect TOPdesk free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/topdesk
More: https://actionlake.com/llms.txt
