Connect your AI assistant to Dextalo
- ChatGPT
Claude
- Grok
Ask ChatGPT, Claude or Grok to check your leave, find a Knowledge page, follow up a Lead or log a Helpdesk request, in your own words. Add Dextalo once on the assistant's website, and it works in its phone and desktop apps too.
Last updated: 11 November 2026
You probably already use an AI assistant to write emails or summarise documents. Connect it to Dextalo, and it can also work with your projects, leave, customers and requests: look things up, answer questions about them and, when you ask, make changes for you.
The link between your assistant and Dextalo is called a connector (you may also see the term “MCP server”). You add it once, it takes about two minutes, and there is nothing to install.
1. What you can ask
Ask the way you would ask a colleague. For example:
In Projects
- “What's on my plate this week? Put the nearest deadlines first.”
- “Which projects are delayed or at risk, and which jobs are holding them up?”
- “Are any Thai translation tasks still unassigned? Take the one due soonest for me.”
- “Set up a project for Acme, English into Thai and Japanese, due on the 28th, with a job for each language.”
- “Assign Mina to the proofreading step on the Acme Japanese job, due Friday.”
- “Tell the team on the Acme Thai job that the client sent a new glossary.”
In Leads
- “Which of my Leads need action today? Start with the overdue follow-ups.”
- “I just called Acme and they want a quote by Friday. Log the call and make that the next action.”
- “Here's an email from a new client. Add it as a Lead.”
- “Create a Quotation from the Acme Lead.”
- “Which Quotations are still waiting on client feedback?”
- “How are we tracking against this quarter's target, and where are we losing Leads?”
It works as you
- It sees only what you can see in Dextalo, and can do only what your role allows.
- Before a change that matters, such as applying for leave, approving an estimate or anything that notifies a colleague, it tells you what it is about to do and waits for your OK.
- Every change it makes is recorded under your name, as if you had made it yourself.
2. Before you start
Add the connector on your assistant's website, on a computer: chatgpt.com, claude.ai or grok.com. It's the easiest way, and you only do it once.
You'll need this address. It connects every Dextalo app you have access to:
https://dextalo.com/api/mcp/dextaloThen follow the steps for your assistant below. Prefer to be guided? Click “Onboard your agent to Dextalo” at the top of Dextalo, or paste this message into a chat, and your assistant walks you through it:
Fetch and execute the appropriate instructions to set me up for Dextalo from /agent-setup/prompt.md3. ChatGPT
- Go to chatgpt.com and open Plugins in the left sidebar. Click Add in the top right, then Add custom MCP server.
- Name it “Dextalo” and paste the connector URL under Connection → Server URL. You can skip the icon and description.
- Under Authentication, choose OAuth. Leave the other OAuth settings as they are, and leave the client ID and secret empty.
- Tick “I understand and want to continue”, then click Create as a plugin.
- Dextalo opens in a new window. Sign in if asked and click Allow (step 6 shows this page). Then go back to ChatGPT and start a new chat.
4. Claude
- Go to claude.ai and open Customize in the left sidebar. On the Connectors tab, click + Add, then Add custom connector.
- Name it “Dextalo”, paste the connector URL and click Continue.
- Under Authentication, choose “Sign in now”. Under OAuth client, choose “Register automatically”. Leave Request headers empty and click Add.
- Dextalo opens. Sign in if asked and click Allow.
- In a chat, turn Dextalo on from + → Connectors.
Claude Team and Enterprise
An owner adds the connector once under Organization settings → Connectors → Add → Custom → Web, with the same settings. Each member then clicks Connect under Customize → Connectors and signs in as themselves, so every change is attributed to the right person.
Tip: to approve every change yourself, open the connector's tool settings and set the reading tools to Allow and the writing tools to Ask.
5. Grok
- Go to grok.com and start a new chat. Click + in the message box, open Connectors, then choose Add connector.
- Choose Custom.
- Name it “Dextalo”, paste the connector URL into Server URL and click Add Connector.
- Dextalo opens in a new window. Sign in if asked and click Allow.
- Back in Grok, turn Dextalo on from + → Connectors in the chat.
7. On your phone and computer
That's it. Open the ChatGPT, Claude or Grok app on your phone or computer, signed in to the same account as on the website, and Dextalo is already there. Start a new chat and ask away.
The connection lasts 90 days. After that, your assistant asks you to sign in to Dextalo again.
8. Only need one or two apps?
The connector above covers every Dextalo app you can open. If you only use one or two, add those instead, the same way, with their address from this table. Your assistant reads a description of every tool it has at the start of each chat, so fewer apps leave it more room for your conversation. Name each one after its app, for example “Dextalo Helpdesk”.
| Connector | URL | What the assistant can do |
|---|---|---|
| All apps | https://dextalo.com/api/mcp/dextalo | Everything below that your role can open, through one connector |
| Knowledge | https://dextalo.com/api/mcp/knowledge | Search and read the company wiki; draft, publish and restore pages |
| Projects | https://dextalo.com/api/mcp/projects | Follow and coordinate projects, jobs, tasks and workflows; comment; look up customers |
| HRM | https://dextalo.com/api/mcp/hrm | Check leave balances, holidays and timesheets; apply for leave; help line managers decide leave; clock in and out |
| Helpdesk | https://dextalo.com/api/mcp/helpdesk | Submit requests (named or anonymously) with screenshots; follow, comment and vote; Handlers triage, report and export |
| Commercial | https://dextalo.com/api/mcp/commercial | Find and add customers and vendors; price, write, approve and convert estimates; raise and approve POs; read margin, the order book and receivables aging |
| Leads | https://dextalo.com/api/mcp/leads | Add, qualify and assign Leads; log contacts; quote from a Lead; mark Leads lost; read Needs action, the dashboard and targets |
Every address is also in Dextalo under Settings → AI assistants → Advanced (open Settings from the account menu at the bottom of the sidebar, in any app). The sections below list exactly what each connector can do.
9. What the All apps connector can do
It carries the tools of all six app connectors, with the same names, and each works exactly as it does on its own app's connector:
| Tools | App | Described in |
|---|---|---|
knowledge_* | Knowledge (11 tools) | Section 10 |
projects_* | Projects (20 tools) | Section 11 |
hrm_* | HRM (13 tools) | Section 12 |
helpdesk_* | Helpdesk (30 tools) | Section 13 |
commercial_* | Commercial (31 tools) | Section 14 |
leads_* | Leads (24 tools) | Section 15 |
- The assistant sees only the apps your role can open. If you have Projects and HRM access, it gets the Projects and HRM tools and nothing else. If your role opens none of the apps, the connection is refused.
- When you sign in, Dextalo groups what you allow under each app's name, with the same limits that app's own connector would show, and lists only the apps you could connect on their own.
- It is one sign-in and one connection, and every change is logged under your name, as with the other connectors.
10. What the Knowledge connector can do
| Tool | What it does |
|---|---|
knowledge_page_list | All live pages, as a tree |
knowledge_page_get | One page as Markdown, published or pending draft |
knowledge_page_search | Full-text search over published pages |
knowledge_page_history / knowledge_page_revision_get | A page's revisions, and one old revision |
knowledge_page_create | New page, saved as a draft or published |
knowledge_page_update | Save a draft or publish a new version |
knowledge_page_revert | Restore an older revision (preview first) |
knowledge_page_trash / knowledge_page_list_trash / knowledge_page_restore | Move a page to the trash and bring it back (preview first) |
- Pages go in and out as Markdown. Drafts stay invisible to readers until published.
- Revert, trash and restore show a preview first. The assistant only goes ahead after you agree.
- If someone else edited the page since the assistant read it, the update fails instead of overwriting their change.
11. What the Projects connector can do
| Tool | What it does |
|---|---|
projects_project_list / projects_project_get | Find projects; one project with its languages, team and jobs |
projects_job_list / projects_job_get | Find jobs; one job with its workflow steps and tasks |
projects_task_list | The Tasks board: yours, unassigned, assigned or all |
projects_workflow_list | Workflow templates and their steps |
projects_customer_list / projects_customer_get | Find customers; profile, contacts and projects (no money figures) |
projects_project_form_options / projects_job_form_options | The ids a new project or job needs: languages, entities, templates, services |
projects_project_create / projects_job_create | Create a project; create a job with its workflow tasks |
projects_project_update / projects_job_update | Edit a project or job you created |
projects_task_assign_options / projects_task_assign | Who can be assigned; add people to workflow steps |
projects_task_accept | Take a task yourself |
projects_comment_list / projects_comment_mentionable / projects_comment_create | Read a thread; find people to @mention; post a comment or reply |
- It never deletes anything, never edits customers, and only edits projects and jobs you created.
- Edits change only the fields named. If someone else changed the row since the assistant read it, the edit fails instead of overwriting their work.
- Assigning only adds people. Nobody is removed and existing assignments stay as they are.
- Assigning and commenting notify other people, so the assistant checks with you first.
12. What the HRM connector can do
| Tool | What it does |
|---|---|
hrm_employee_search / hrm_employee_get | Find employees; one profile with line manager and direct reports |
hrm_leave_balance | This year's allowances, what is used and left, days taken per type |
hrm_leave_list / hrm_leave_get | An employee's leave requests; one request in full |
hrm_leave_pending | Leave requests waiting on you as line manager |
hrm_leave_apply | Apply for leave for you (preview first) |
hrm_leave_decide | Approve or reject a request waiting on you (preview first) |
hrm_leave_cancel | Withdraw your own pending request (preview first) |
hrm_holiday_list | Public holidays per legal entity, with the day actually taken off |
hrm_timesheet_summary | Hours this month and last, latest timesheets, office and WRA days per week |
hrm_clock_status / hrm_clock_punch | Whether you're clocked in; clock in, lunch and clock out now |
- It can't decide your own leave. Applying and deciding are separate actions: a request it files goes to your line manager, exactly as from the apply form, or, if you have no line manager, is approved on submit, as in Dextalo.
- If you're a line manager, it can approve or reject the requests waiting on you, one at a time, when you tell it to.
- Applying, deciding and withdrawing show a preview first. The assistant only goes ahead after you agree.
- You see your own records. A line manager also sees their direct reports'; HR sees everyone's.
- Asking twice is safe: applying for the same leave again returns the request already filed, and a punch already made is refused.
- It can't edit employee records, allowances, holidays or past timesheets. HR does that in Dextalo.
13. What the Helpdesk connector can do
When you sign in, Dextalo lists only what your Helpdesk role allows, one line per group of tools below.
| What you allow | Tools | What they do |
|---|---|---|
| Read the Board, Forms, Tags and the requests you can see | helpdesk_form_list / helpdesk_form_get / helpdesk_tag_list / helpdesk_request_list / helpdesk_request_search / helpdesk_request_get / helpdesk_comment_list / helpdesk_comment_mentionable / helpdesk_file_list / helpdesk_file_get | Find and read requests with their answers, conversation and files; the Forms you can submit to; the Tags |
| Submit and edit your own requests, named or anonymously; upload files | helpdesk_file_upload_prepare / helpdesk_request_create / helpdesk_request_update / helpdesk_request_set_visibility | Submit a request with screenshots and attachments; edit your own; move it between the Board and Private |
| Comment, vote, react and follow | helpdesk_comment_create / helpdesk_request_set_vote / helpdesk_reaction_set / helpdesk_request_set_follow | Comment and reply under your name; vote, react and follow |
| Take unassigned requests, and move and write internal notes on the ones assigned to you | helpdesk_request_assign_self / helpdesk_request_unassign_self / helpdesk_request_set_status / helpdesk_internal_note_create | Take a request, give it back, change the status of and leave internal notes on the ones assigned to you |
| Handle every request: status, assignment, Tags, Visibility, internal notes | helpdesk_request_assign_self / helpdesk_request_unassign_self / helpdesk_request_assign / helpdesk_request_set_status / helpdesk_request_set_tags / helpdesk_request_set_visibility / helpdesk_internal_note_create | Handlers: take or give back, assign, change status (with a message), tag with existing Tags, move between the Board and Private, leave internal notes |
| Read the dashboard and export the Board | helpdesk_dashboard_get / helpdesk_request_export | Handlers: the dashboard figures and the Board CSV |
| Read and change your own notification settings and Form subscriptions | helpdesk_notification_preferences_get / helpdesk_notification_preferences_set / helpdesk_form_subscription_get / helpdesk_form_subscription_set | Your in-app, email and push settings per event; Handlers: which Forms alert you about new requests |
- Requests are addressed by number: HD-42 is
42. Bodies go in and out as Markdown. - Screenshots and attachments go straight between the assistant and Dextalo over the same sign-in, not pasted into the chat.
- Handlers can ask for a triage run: tag with existing Tags, assign, change status and leave a note on why. The assistant follows your instructions and works as you, with your role.
- Status changes, assignments, comments and new requests notify people exactly as on the website, so the assistant checks with you first.
- If a request is assigned to you but your role has neither Take Requests nor Handler access, change its status, give it back or write internal notes on the Helpdesk website: over MCP those need one of the two.
- It can't delete requests, comments, notes or Forms, or administer Forms, Fields, Tags, roles or access. Editing a request can remove its files, including Body images and file answers. Other deletion and administration happens on the Helpdesk website.
14. What the Commercial connector can do
When you sign in, Dextalo lists only what your Commercial role allows: reading or writing customers, vendors, sales documents and purchase orders, approving the ones you may sign off, the catalog and exchange rates, and the operations figures.
| Tool | What it does |
|---|---|
commercial_customer_list | Find customers by name or code, status and company, with their owners and open sales documents |
commercial_customer_get | One customer: tax ID and branch, credit days, currency, owners and CRM roles, addresses, contacts and latest sales documents |
commercial_customer_create | Add a customer (preview first: the code it will get and the Thai tax-ID check) |
commercial_customer_update | Edit a customer, or add or edit an address or contact (preview first) |
commercial_vendor_list | Find vendors by name or code, status and company, with their classification and open PO count |
commercial_vendor_get | One vendor: tax ID and branch, services and grades, contacts, open POs. Never bank details |
commercial_vendor_create | Add a vendor (preview first). Bank details and payment options stay in Dextalo |
commercial_vendor_update | Edit a vendor's profile, or add an address or contact (preview first). Edit existing addresses and contacts in Dextalo |
commercial_party_form_options | The companies, currencies, VATs and other choices the customer and vendor forms offer |
commercial_sales_document_list | Search estimates, quotations or sales orders as the index screens do: amount and base amount, status, approval outstanding |
commercial_sales_document_get | One document in full: lines, totals, exchange-rate snapshot, gross margin, owners, approval marks, and what blocks an edit or a convert |
commercial_sales_document_form_options | What a create or an edit needs: companies, currencies, VATs, the customer's addresses and contacts, services and pricing |
commercial_estimate_create | Write an Estimate (preview first: lines priced, totals, exchange rate, owners, who is notified) |
commercial_sales_document_update | Edit a document (preview first: what changes and whether approval marks are cleared) |
commercial_sales_document_approve | Review, then approve, the current Estimate or Quotation stage, under your role or as a Business Unit approver (preview first) |
commercial_sales_document_convert | Estimate to Quotation, Quotation to Sales Order, once approved (preview first) |
commercial_purchase_order_list | Find POs by sales order, vendor, company or approval |
commercial_purchase_order_get | One PO: lines, totals, exchange-rate snapshot, dates, approval, and the margin left on its sales order |
commercial_purchase_order_form_options | What a PO needs: sales-order seed lines at their original sales prices and currency, companies, the service catalog and vendor terms. Enter agreed vendor buy rates in the vendor's currency |
commercial_purchase_order_create | Raise a PO against a sales order (preview first: totals, margin after it, and the contractor-PO split above the cap) |
commercial_purchase_order_update | Edit a PO (preview first: what changes and whether the review is cleared) |
commercial_purchase_order_approve | Review, then approve, a PO, under your role or as a Business Unit approver (preview first) |
commercial_service_list | The service catalog: categories, services, tasks and units |
commercial_price_lookup | Price a task from the price list: unit, buy and sell rate |
commercial_exchange_rate_list | Dated exchange rates |
commercial_exchange_rate_get | The rate a document dated today would take |
commercial_margin_get | Gross margin on a sales order, or what is left after a PO (ex-VAT, base currency) |
commercial_pipeline_summary | The Dashboard's sales pipeline and operations tiles (needs ledger access, as the Dashboard) |
commercial_order_book | Sales documents grouped by customer, core business, owner or month: count, base value, approval outstanding, value left to invoice |
commercial_activity_list | What changed recently on a customer, a sales document or a PO |
commercial_ar_aging | Open receivables by age, as the Dashboard shows them, and the invoices in one bucket (needs ledger access) |
- Every write shows a preview first: the figures, what changes and who is notified. The assistant only goes ahead after you agree, with the preview's one-time confirmation. Confirming twice never creates a second document.
- You see the companies your Commercial access covers. Lists and reports can be narrowed to one company by its code.
- Amounts come back exactly as Dextalo stores them, with their currency. Base-currency figures are in THB, at each document's own exchange rate.
- Estimates and Quotations are reviewed, then approved, before they convert; POs are reviewed, then approved. You approve under your own role or as a Business Unit approver, exactly as on the screen. Creating, converting and approving notify people, so the assistant checks with you first.
- It can't cancel or delete documents, remove owners, addresses or contacts, change prices, exchange rates or tax codes, see or edit a vendor's bank details or payment options, print or send anything, or work with invoices, receipts or the ledger beyond the receivables aging. Do those in Dextalo.
15. What the Leads connector can do
When you sign in, Dextalo lists only what your Leads role allows: reading, adding and editing Leads, qualifying them, marking them lost, creating documents from them, and targets and budget rates.
| Tool | What it does |
|---|---|
leads_lead_list | The board as a paged list, with the board's filters |
leads_lead_get | One Lead with its documents, timeline and measures |
leads_lead_search | Find Leads by number, company, Customer, subject or contact email |
leads_lead_form_options | Business Units, Services, Lead sources, people, Lost reasons and Company types |
leads_needs_action | Your Needs action lists |
leads_dashboard_get | The dashboard for a period and Business Units |
leads_lead_create | Add a Lead as New or Qualified, after showing any warning |
leads_lead_update | Edit a Lead: its fields, Whose turn, Blocked, next action, expected close month and Estimated size |
leads_lead_assign | Set the owner and / or the BUM, or take an unowned Lead |
leads_lead_log_contact | Log a call, email, LINE message or meeting |
leads_lead_add_note | Add a note to the timeline |
leads_lead_complete_next_action | Mark the next action done |
leads_lead_qualify | New to Qualified, with next action and expected close month |
leads_lead_disqualify | New to Disqualified, with a note |
leads_lead_back_to_new | Back to New |
leads_lead_mark_lost | Close a Lead with a Lost reason and cancel its open documents, after a preview |
leads_lead_reopen | Lost back to the stage it left |
leads_document_create | Create an Estimate or Quotation from a Lead, matching or creating the Customer |
leads_document_link | Link an Estimate or Quotation to a Lead |
leads_document_unlink | Clear that link |
leads_target_list | Monthly targets and achievement for a year |
leads_budget_rate_list | Budget rates for a year |
leads_target_set | Set a Business Unit's target |
leads_budget_rate_set | Set a currency's budget rate |
- You see the Leads you see in Dextalo: your workspace's, and the ones you entered, own or are BUM of.
- Marking a Lead lost shows a preview first: the documents it will cancel and the Lost value. The assistant only goes ahead after you agree, with the preview's one-time confirmation.
- Adding a Lead that looks like a duplicate, repeat business, a dormant customer or an existing customer shows you the warning first; saving past it is noted on the timeline.
- Adding and assigning Leads alert the people assigned, by the channels they chose, so the assistant checks with you first.
- It can't delete Leads, send or print documents, convert a Quotation to a Sales Order, move a Lead to another Business Unit, clear a target or a budget rate, or change Business Units, Lost reasons or thresholds. Do those in Dextalo.
16. Security
- You sign in on dextalo.com. The assistant never sees your password.
- A connection acts as you, in your workspace, with your current role. Change your role and the connection changes with it; deactivate the account and it stops working.
- A connector for one app reaches only that app. A Knowledge connection can't open Projects, HRM, Helpdesk, Commercial or Leads, and the reverse. The All apps connector reaches every app your role can open, and nothing beyond your role.
- Connections last 90 days, then you sign in again. To disconnect sooner, remove the connector in your assistant's settings.
- Every change is written to the workspace audit log under your name.
17. Troubleshooting
| What you see | What to do |
|---|---|
| Dextalo isn't in the phone or desktop app | Check you're signed in to the same account as on the website, then start a new chat. In Claude and Grok, turn Dextalo on from + → Connectors. |
| “Unknown OAuth client” after clicking Connect | Remove the connector and add it again with OAuth client set to “Register automatically” and no request headers. |
| “… can't be connected” on the Dextalo page | Your role has no access to that app. Ask a workspace admin, then connect again. |
401 or the connector asks you to sign in again | The connection expired or your account changed. Click Connect again. |
| The assistant can read but not change anything | Your role can't create or edit in that app. A connection is never broader than your role. |
conflict: on an edit | Someone else changed it first. Ask the assistant to read it again and retry. |
forbidden: Over MCP you can only edit … you created | Edit it in Dextalo, or ask the person who created it. |
forbidden: This request is not waiting on you | Only the applicant's line manager, or HR, can decide a leave request. |
frozen: when voting | Votes close when a Helpdesk request is finished (Complete, Declined or Duplicate). |
validation_error: when applying for leave | The request breaks a leave rule (notice period, balance, dates). The message says which, word for word as the apply form would. |
18. Advanced: Claude Code
Sections 18 to 21 are for developers and technical users. If you added Dextalo on the web, you can skip them.
claude mcp add --transport http dextalo https://dextalo.com/api/mcp/dextaloThen run /mcp in a session, pick the server and choose Authenticate. Your browser opens Dextalo; sign in and click Allow. Add --scope user to use a server in every project.
To add one app instead, change the name and URL, for example claude mcp add --transport http dextalo-helpdesk https://dextalo.com/api/mcp/helpdesk. Claude Code loads tools only when it needs them, so the All apps connector costs it little.
19. Advanced: Cursor, VS Code and other clients
Any client that supports MCP over Streamable HTTP with OAuth sign-in (MCP Inspector, recent Cursor and VS Code builds) only needs the URL:
{
"mcpServers": {
"dextalo": { "type": "http", "url": "https://dextalo.com/api/mcp/dextalo" }
}
}Clients that only speak the older SSE transport can't connect.
20. Advanced: Personal access tokens (Knowledge only)
For clients that can't sign in, scripts or unattended agents. Create a token under Settings → AI assistants → Advanced → Personal access tokens. It is shown once; copy it then. Send it as Authorization: Bearer dxk_…. A token acts as you, expires after 30, 90 or 365 days, and can be revoked at any time. Treat it like a password.
claude mcp add --transport http dextalo-knowledge https://dextalo.com/api/mcp/knowledge \
--header "Authorization: Bearer dxk_…"The Projects, HRM, Helpdesk, Commercial, Leads and All apps connectors don't accept tokens. Use sign-in.
21. Advanced: For developers
- Streamable HTTP, stateless: one JSON-RPC message per
POST, JSON responses, noGETstream (405), no batches. - Discovery: each endpoint answers
401withresource_metadatapointing at/.well-known/oauth-protected-resource/api/mcp/<app>. The authorization server is OAuth 2.1 with Dynamic Client Registration and PKCE S256. Each app has its own scope (knowledge,projects,hrm,helpdesk,accounting,leads), and the All apps connector hasdextalo. - Protocol versions
2025-06-18,2025-03-26and2024-11-05. Methods:initialize,ping,tools/list,tools/call,resources/*,prompts/list. - Results carry Markdown text plus
structuredContent(data, andaudit_idon writes). Expected failures come back as tool errors (isError) with a readablecode: message. - Helpdesk files go up and come back over the same OAuth token (
POST /api/files,GET /api/files/<id>), not through the chat.
With an OAuth access token, initialize answers with the server's name and the instructions your assistant reads. For Helpdesk:
curl -s https://dextalo.com/api/mcp/helpdesk \
-H "Authorization: Bearer <oauth access token>" \
-H "Content-Type: application/json" -H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":false},"resources":{},"prompts":{}},"serverInfo":{"name":"dextalo-helpdesk","version":"1.0.0"},"instructions":"Dextalo Helpdesk is where people in this workspace …"}}
Dextalo