This is an overview of what your AI assistant can do with your CDESK: every tool it has, an example of how to ask for it, and what to expect. In this beta version there are 64 of them, 39 of which are read-only and 26 of which write, plus a tool for checking the connection status – 65 items in total.
A beta version is currently available. Everything described here works, and every write is a real write to your live CDESK system – however, not every part of CDESK is covered yet and more will be added in future releases – projects, work orders, approval, the knowledge base and the calendar are not included yet.
This guide assumes that you already have CDESK MCP connected. If not, see the Setting up and running CDESK MCP section of the documentation.
You never type tool names. You ask in your own words – “which Alfa Ltd. tickets are still open?” – and the assistant picks the tools it needs. The names appear in this guide only so that you can see what exists and recognise them in your AI application’s list of permissions. Applications display them in English, which is why each tool also lists its technical name.
Phrasing your questions
Simply describe what you want in your own words. Three habits noticeably improve the answers:
- Name the area if you know it. “What is assigned to me in tasks?” saves the assistant guessing between tickets and tasks.
- Give a period. “last month”, “this week”, “since Monday”. Some areas have a default period you might not expect – logged work, for example, takes the current calendar month by default.
- Give the record number when you want to do something with it. Every answer lists the numbers; when you repeat one, there is no doubt about which record you mean.
Writing data to CDESK
Every create, change, deletion and status change is a real write to your CDESK, with your permissions. Before any of them runs, the assistant goes through the values it intends to use with you – required and optional – and it never makes up anything you have not given it. Expect it to also ask about fields you would skip in the web form.
Each tool in the tables below shows whether it only reads from CDESK or writes to it.
Requests
The main area for tickets: reading, filtering, creating, editing, deleting, changing the status and reading or adding posts to the discussion – internal or visible to the customer.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List requests | list_requests | Reads | “Which Alfa Ltd. requests are still open and which are overdue?” |
| Open a request | get_request | Reads | “Open ticket 14302 and tell me what the customer was actually complaining about.” |
| Request custom fields | get_request_custom_fields | Reads | “What other fields do our requests have besides the standard ones?” |
| Request value lists | get_request_enums | Reads | “Which request statuses and priorities can I choose from?” |
| Create a request | create_request | Writes | “Create a request for Alfa Ltd.: the printer on the 2nd floor won’t take paper, high priority.” |
| Edit a request | update_request | Writes | “Change the deadline on 14302 to Friday and assign it to Peter.” |
| Delete a request | delete_request | Writes | “Delete request 14315, it was created by mistake.” |
| Change request status | set_request_status | Writes | “Set 14302 to Resolved.” |
| List request discussion | list_request_discussion | Reads | “Show me the whole discussion on 14302, starting with the oldest post.” |
| Add a post to the discussion | post_request_discussion | Writes | “Add a customer-visible post to 14302 saying that we replaced the fuser unit.” |
A discussion post can be visible to the customer, so always say which one you want – internal or visible to the customer.
Catalogue of requests
The definition of the catalogue behind your request types – the forms on which a request can be created.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List request catalogues | list_request_catalogs | Reads | “Which request catalogues are available for Alfa Ltd.?” |
| Open a request catalogue | get_request_catalog | Reads | “Which fields does the ‘Hardware fault’ catalogue require?” |
| Catalogue value lists | get_request_catalog_enums | Reads | “Which catalogue types and areas can I choose from?” |
| Create a request catalogue | create_request_catalog | Writes | “Create a ‘Printer problems’ request catalogue for the IT area.” |
| Edit a request catalogue | update_request_catalog | Writes | “Rename the ‘Hardware fault’ catalogue to ‘Hardware error’.” |
| Delete a request catalogue | delete_request_catalog | Writes | “Delete the ‘Old form’ catalogue, nobody uses it any more.” |
Tasks
Internal work items: reading, creating, editing, deleting, changing the status and managing watchers.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List tasks | list_tasks | Reads | “Which tasks are assigned to me this week and which are overdue?” |
| Open a task | get_task | Reads | “Open task 8871 – what exactly needs to be done and by when?” |
| Task value lists | get_task_enums | Reads | “Which task statuses and types can I choose from?” |
| Create a task | create_task | Writes | “Create a task for Peter to check the printer at the branch, deadline Friday.” |
| Edit a task | update_task | Writes | “Move the deadline of task 8871 to next Monday and add a note about the spare part.” |
| Delete a task | delete_task | Writes | “Delete task 8899, it duplicates 8871.” |
| Change task status | set_task_status | Writes | “Mark task 8871 as done.” |
| Add task watchers | add_task_watchers | Writes | “Add Anna as a watcher of task 8871 so that she gets updates.” |
| Remove task watchers | remove_task_watchers | Writes | “Remove me from the watchers of task 8871.” |
Companies
Company records: lists, filtering, opening a single one, an overview of the custom fields you keep for them, and finding a company by name when you only remember it roughly.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List companies | list_customers | Reads | “List the companies we have in Bratislava.” |
| Open a company | get_customer | Reads | “Open Alfa Ltd. – who is the contact person and what is their address?” |
| Company custom fields | get_customer_custom_fields | Reads | “Which custom fields do we keep for company records?” |
| Find a company by name | find_customer_by_name | Reads | “Find the company called something like ‘Alfa Trading’.” |
| Create a company | create_customer | Writes | “Add a new company: Beta Ltd., contact person John Smith.” |
| Edit a company | update_customer | Writes | “Change the phone number of Alfa Ltd. to 02 1234 5678.” |
| Delete a company | delete_customer | Writes | “Delete the company ‘Test Company’, it was only for testing.” |
Users
User accounts in CDESK: lists, filtering, opening a single one, finding a person by name or e-mail, and creating, editing or deleting accounts where your permissions allow it.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List users | list_users | Reads | “Who is in the support group?” |
| Open a user | get_user | Reads | “What is Peter’s phone number and which groups is he in?” |
| User custom fields | get_user_custom_fields | Reads | “Which custom fields do our user accounts have?” |
| Find a user | find_user | Reads | “Find the user with the e-mail john.smith@alfa.example.” |
| Create a user | create_user | Writes | “Create an account for our new colleague Jana Nová, in the support group.” |
| Edit a user | update_user | Writes | “Change Peter’s phone number and move him to the second-line group.” |
| Delete a user | delete_user | Writes | “Delete the account of the colleague who left last month.” |
Fulfilments (logged work)
Units of logged work – duration and description – recorded against a company, deal, request, work order, task, project contract or a leave record.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List fulfilments | list_fills | Reads | “What work did I log last week, day by day?” |
| Open a fulfilment | get_fill | Reads | “Open fulfilment 5512 – how long did it take and what is in the description?” |
| Fulfilment value lists | get_fill_enums | Reads | “Which kinds of logged work can I choose from?” |
| Create a fulfilment | create_fill | Writes | “Log two hours on request 14302: fuser unit replacement, at the customer’s site.” |
| Edit a fulfilment | update_fill | Writes | “Correct yesterday’s entry on 14302 from two hours to three.” |
| Delete a fulfilment | delete_fill | Writes | “Delete fulfilment 5512, I logged it on the wrong ticket.” |
Three things worth knowing. The list covers the current calendar month by default unless you give another period. Work that has already been invoiced cannot be changed – CDESK blocks it and tells you so. And you can also log work against a work order or a project contract, even though these areas are not covered yet
- you just have to enter the CDESK record number yourself, because the assistant cannot look it up for you.
Deals
Business deals: reading, filtering, creating, editing, deleting – plus the deal statuses, phases and category types from your CDESK.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List deals | list_deals | Reads | “Which Alfa Ltd. deals are still open and what phase are they in?” |
| Open a deal | get_deal | Reads | “Open deal 3120 – what is the agreed scope and who is in charge of it?” |
| Deal value lists | get_deal_enums | Reads | “Which deal statuses and phases do we use?” |
| Create a deal | create_deal | Writes | “Create the deal ‘Server refresh 2027′ for Alfa Ltd. and set it to accepted.” |
| Edit a deal | update_deal | Writes | “Move deal 3120 to the next phase and change the responsible person to Peter.” |
| Delete a deal | delete_deal | Writes | “Delete deal 3125, it was entered twice.” |
“Open” here means the same as in CDESK – accepted, in progress or handed over, while rejected and completed count as closed. Work can be logged against a deal (the Fulfilments chapter), so “how much work have we logged on this deal?” works too.
CMDB (configuration database)
Configuration items and the structure around them – categories, main groups, types and their properties.
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| List configuration items | list_configuration_items | Reads | “Which configuration items does Alfa Ltd. have and which of them are servers?” |
| Open a configuration item | get_configuration_item | Reads | “Open CI 4471 – what type is it and what properties does it have?” |
| CI value lists | get_ci_enums | Reads | “Which statuses and categories can a configuration item have?” |
| List CMDB categories | list_cmdb_categories | Reads | “Which CMDB categories do we have?” |
| List CMDB main groups | list_cmdb_maingroups | Reads | “Which main groups are there in the CMDB?” |
| Open a CMDB main group | get_cmdb_maingroup | Reads | “Open the ‘Network devices’ main group – what belongs to it?” |
| List CMDB types | list_cmdb_types | Reads | “Which CMDB types exist under ‘Network devices’?” |
| Open a CMDB type | get_cmdb_type | Reads | “Open the ‘Switch’ type – what is it used for?” |
| CMDB type properties | get_cmdb_type_properties | Reads | “Which properties does the ‘Switch’ type have?” |
This area is read-only. The assistant cannot create, change or delete a configuration item – do that in CDESK.
Fact-checking tools
Two tools you never ask for by name. One gathers the records behind a factual question; the other, before you even see the answer, checks every quotation against the actual record once more. They work in requests, tasks, companies, users and logged work.
| Tool | Technical name | Reads or writes | What triggers them |
|---|---|---|---|
| Collect records | collect_records | Reads | “Has anyone reported VPN problems in the last month?” – this tool gathers all matching records |
| Verify claims | verify_claims | Reads | the same question – this tool rereads each record and discards every quotation that is not actually in it |
As a result, every sentence you get in answer to a factual question is a quotation from an actual record, complete with its number. If nothing matches, you are told so – you do not get a guess.
Checking the connection status
| Tool | Technical name | Reads or writes | How to ask for it |
|---|---|---|---|
| Server information | server_info | Reads | “Ask CDESK for the server information.” |
You know this tool from the installation guides: when the connection works, it answers status: ready. Useful after an update or when something seems wrong.