Skip to main content
neetodesk is the command-line interface for NeetoDesk. It talks to the same external v2 API the docs on this site describe, so anything you can do over HTTP you can do from a shell, without writing a request by hand.

Work without leaving the terminal

List and triage tickets, post replies, save drafts and pull reports from the same window you already have open.

Script your workflows

Every command emits JSON, so results pipe straight into jq, a shell script or a CI job.

Sign in through the browser

neetodesk login authenticates against your workspace in a browser. There is no API key to copy or rotate.

Hand it to an AI assistant

neetodesk setup installs a NeetoDesk skill into Claude, Cursor, Codex, Copilot, Gemini or Windsurf.

CLI vs MCP: which should I use?

NeetoDesk’s MCP server reaches the same resources the CLI does - tickets, comments and drafts, customers, forms, team members and reports. It adds one thing the CLI has no equivalent for: searching tickets by subject and by the text of their comments. Past that, neither can do more than the other, so choose on how the work reaches NeetoDesk.

Reach for the CLI when

  • No AI assistant should be in the loop. A nightly cron entry that sweeps the pending queue runs neetodesk with nothing but the binary and the session you already signed in with - no assistant open, no model account, no tokens spent per run. Over MCP, something with model access has to be running before any call happens at all.
  • The output feeds another program. --quiet prints the bare ticket id, so ticket_id=$(neetodesk tickets create ... --quiet) hands it straight to the next command. --json returns a data envelope for jq, a spreadsheet or your own dashboard - neetodesk reports agents --range-type last_30_days --json is a month of response times you can chart rather than read. An assistant replies in prose you would have to copy out by hand.
  • You are working through thousands of tickets. Over MCP every page is a separate tool call, and a queue that long crowds out the assistant’s context. The CLI pages on your terms instead: --page-size 100 is the maximum, and --json returns current_page_number, total_pages, total_records and page_size alongside the tickets, so a loop knows how many are left and walks the whole queue unattended. Each page lands in a file or goes straight into jq, so nothing has to be held in memory and the size of the queue stops mattering.
  • The run has to be repeatable and reviewable. The command is the artifact. neetodesk tickets update 1042 --status resolved in a runbook, or neetodesk team-members delete <id> in an offboarding checklist, says exactly what it will do before anyone runs it and makes the identical call next time. Ask twice over MCP and the assistant may take a different route.

Reach for MCP instead when

  • The details live in your chat, not in your head. A forwarded email thread, or a complaint pasted out of Slack, turns into a ticket with the customer, subject and description already filled in. neetodesk tickets create needs you to type --email, --subject and --description yourself, because the CLI cannot see any of it.
  • You have not decided the steps yet. “The refund queue is a mess - sort it out” means reading a thirty-comment thread, judging whether the customer is still waiting, and only then picking a status. A command can only carry out a decision you have already made.
  • One request should cover several steps. Find the open tickets about failed card payments, summarize what each customer is asking for, and draft a holding reply on the oldest one, with no glue between commands.
  • The person doing it does not use a terminal. A support lead who works in the web app all day can connect their assistant and start asking. NeetoDesk hosts the server, so there is nothing to install or keep updated.
You can have both. Run neetodesk setup claude and your AI assistant drives the CLI itself, so a plain-language request still ends in an exact command you can read, repeat and paste into a script.

Prerequisites

  • A NeetoDesk workspace and your workspace subdomain. See Workspace subdomain if you are not sure what yours is.
  • An account on that workspace. The CLI acts as you, so it can reach exactly the tickets your role allows.

Next steps

Installation

Install the CLI on macOS, Linux or Windows.

Authentication

Sign in, switch between workspaces and sign out.

Commands overview

Every command grouped by resource.

Output formats

Tables, JSON, TOON and the quiet mode.