NeetoChat CLI

Work with your conversations from your terminal, your scripts, and your coding agent. Runs on macOS, Linux and Windows.

Install the NeetoChat CLI

macOS with Homebrew:

brew install neetozone/tap/neetochat

macOS or Linux:

curl -fsSL https://neetochat.com/cli/install.sh | sh

Windows (PowerShell):

irm https://neetochat.com/cli/install.ps1 | iex

Next, sign in using your browser. No API key is required:

neetochat login --subdomain your-workspace

To configure your AI coding assistant to use the CLI, run the appropriate command from your project folder:

neetochat setup claude      # Claude Code
neetochat setup cursor      # Cursor
neetochat setup codex       # Codex
neetochat setup copilot     # GitHub Copilot
neetochat setup gemini      # Antigravity CLI and Gemini CLI
neetochat setup windsurf    # Devin (formerly Windsurf)

Every command supports --json for scripting and --toon for compact, token-efficient output when working with AI assistants.

Automate with the CLI

Why use a CLI when MCP exists? Because some tasks don't need AI. You can run them on a schedule using the NeetoChat CLI and familiar tools like jq, curl, and your cloud CLI. No AI subscription, no model usage costs, and consistent results every time.

Post the open queue every morning

Save this as ~/open-queue.sh and make it executable:

#!/bin/sh
neetochat conversations list --status open --page-size 1 --json \
  | jq '{text:
      "Open conversations this morning: \(.pagination.total_records)"}' \
  | curl -s -X POST -H "Content-Type: application/json" \
      -d @- "$SLACK_WEBHOOK_URL"

Then add it to your crontab to run every weekday at 9am:

0 9 * * 1-5 ~/open-queue.sh

Alert on conversations waiting over an hour

Every hour, post a list of open conversations that haven't been replied to.

page=1
while :; do
  out=$(neetochat conversations list --status open \
    --page "$page" --page-size 100 --json) || exit 1
  echo "$out" | jq -r '.data[]
    | select(.last_reply_at == null
        or (.last_reply_at | fromdate) < (now - 3600))
    | "#\(.id) \(.title)"'
  total=$(echo "$out" | jq '.pagination.total_pages')
  [ "$total" -le "$page" ] && break
  page=$((page + 1))
done | while read -r line; do
  curl -s -X POST -H "Content-Type: application/json" \
    -d "$(jq -n --arg text "Waiting: $line" '{text: $text}')" \
    "$SLACK_WEBHOOK_URL"
done

Back up every conversation nightly

page=1
while :; do
  out=$(neetochat conversations list \
    --page "$page" --page-size 100 --json) || exit 1
  echo "$out" | jq -c '.data[]'
  total=$(echo "$out" | jq '.pagination.total_pages')
  [ "$total" -le "$page" ] && break
  page=$((page + 1))
done > conversations.jsonl

aws s3 cp conversations.jsonl \
  "s3://your-backup-bucket/neetochat/$(date +%F).jsonl"

Export conversations to a spreadsheet

page=1
while :; do
  out=$(neetochat conversations list \
    --page "$page" --page-size 100 --json) || exit 1
  echo "$out" | jq -r '.data[]
    | [.id, .title, .status, .priority,
       .visitor.email, .assignee.email, .created_at]
    | @csv'
  total=$(echo "$out" | jq '.pagination.total_pages')
  [ "$total" -le "$page" ] && break
  page=$((page + 1))
done > conversations.csv

Save the weekly report

Every Monday, save last week's conversation report and compare it with the previous week.

neetochat reports conversations --range-type last_week --json \
  > "conversation-report-$(date +%F).json"

Set up a new agent

neetochat team-members create --email priya@example.com \
  --role Agent --send-invitation-email

Let a coding agent build it for you

You don't have to write these scripts yourself. Claude Code, Codex, and other coding agents can create automations using the NeetoChat CLI. Run neetochat setup claude (or setup codex, setup cursor) once, then ask:

Every weekday at 9 AM, use the NeetoChat CLI to post a summary of open conversations to our Slack channel. Write the script, test it, and set up the cron job.

Using the NeetoChat CLI, write a script that exports last month's conversations to CSV with the visitor and assignee for each one.

You describe what you need in plain language and get a script you can review, run, and commit.

Screen recording placeholderClaude Code building the 9 AM summary

Terminal recording of Claude Code reading open conversations with the neetochat CLI, writing a script that posts a Slack summary, testing it, and adding a 9 AM weekday cron job.

When to use the CLI and when to use MCP

Both work with the same conversations, contacts, and reports. The right choice depends on how you want to work.

Use MCP when:

  • The context is already in your conversation. Turn a forwarded complaint or a pasted thread into a reply without retyping anything.
  • The work needs reading and judgment. Summarizing a conversation or drafting a reply means understanding what was said.
  • You need answers from your support data. Ask questions like "Which group has the most open conversations?" and get an explanation.
  • You don't use a terminal. NeetoChat hosts the server. There's nothing to install.

Use the CLI when:

  • You don't need AI. Run commands from cron jobs or CI pipelines without an AI model or model usage costs.
  • The output feeds another program. The CLI prints raw JSON for jq, a spreadsheet, a Slack webhook, or your own script.
  • You're working through thousands of conversations. The CLI pages through everything unattended.
  • You need repeatable results. Run the same commands consistently, without relying on an AI model to interpret instructions.

You can also use both. Run neetochat setup claude to let your AI assistant use the CLI. You can then describe what you need in plain language and get commands you can review and reuse.

Frequently asked questions

Can I automate NeetoChat without using AI?

Yes. The NeetoChat CLI works directly from your terminal, shell scripts, cron jobs, and CI workflows. You don't need Claude, ChatGPT, or any other AI service to automate tasks.

Is the NeetoChat CLI open source?

No, the NeetoChat CLI isn't open source today.

¿Listo para comenzar?

Comencemos ahora.