Developer documentation

Claude plugin, public API, and public CLI. One documentation hub for the full setup.

SalesTouch now works as a local-first and programmable platform. You can use it inside Claude, from your terminal, or from your backend, with the same API key.

SalesTouch v1
Claude plugin, public CLI, and public API are now documented in one place.
  • One API key for the Claude plugin, public CLI, and public API
  • Claude workflows run locally on the user machine
  • Canonical endpoints are `/api/v1/commands/*` and `/api/v1/resources*`
Start here
Start without getting lost
No matter which surface you choose, the base setup is the same. Complete these three steps once, then decide whether you want plugin, CLI, or direct API usage.

1. Create your SalesTouch API key

The same key works in Claude, in the `salestouch` CLI, and in direct HTTP requests. It is created from your SalesTouch dashboard.

2. Connect your LinkedIn account or accounts

LinkedIn accounts are managed inside SalesTouch. The Claude plugin and automation commands then reuse those exact connected accounts.

3. Choose the surface you want to use

Use the Claude plugin for guided AI workflows, the CLI for terminal and scripts, and the public API for backend integrations.

Claude plugin
Install the Claude plugin
The plugin is the recommended surface if you want to use SalesTouch directly inside Claude Code or Cowork. The MCP server runs locally on the user machine and calls the SalesTouch API with that user's key.
  • The Claude plugin is the primary entry point for AI workflows.
  • The local MCP server talks to the public `/api/v1/commands` and `/api/v1/resources` endpoints.
  • Plugin skills orchestrate workflows; MCP tools execute typed actions.

1. Terminal: prepare the plugin locally

Replace only `PASTE_YOUR_KEY_HERE` before running the command.

mkdir -p "$HOME/Applications/SalesTouch" && \
unzip -oq "$HOME/Downloads/salestouch-marketplace.zip" -d "$HOME/Applications/SalesTouch" && \
SALES_TOUCH_API_BASE_URL="https://salestouch.io" SALES_TOUCH_API_KEY="PASTE_YOUR_KEY_HERE" claude

2. In Claude Code: install the plugin

Then paste these lines inside Claude Code to register the marketplace and install SalesTouch.

/plugin marketplace add ~/Applications/SalesTouch/salestouch-marketplace
/plugin install salestouch@salestouch-marketplace
Public CLI
Install the public CLI
The public `salestouch` CLI is useful for scripts, CI, diagnostics, manual operations, and developer workflows. It talks to the same public endpoints as the Claude plugin.
  • The CLI supports `auth set-key`, `doctor`, `catalog`, `schema`, `run`, `resources list`, and `resources read`.
  • Auth resolution follows `--api-key` > `SALES_TOUCH_API_KEY` > local config.
  • All output commands support `--json`.

npm install

npm install -g @salestouch/cli

Authentication

salestouch auth set-key PASTE_YOUR_KEY_HERE --base-url "https://salestouch.io"

Verification

salestouch doctor && salestouch catalog

If you do not want a global install, you can also use `pnpm dlx @salestouch/cli@latest`.

Public API
Use the public API
The public API now exposes two surfaces in parallel: a business REST API for standard integrations, and a generic automation API by `command_id`, shared with the Claude plugin and the CLI.

Canonical automation endpoints

  • GET /api/v1/commands
  • GET /api/v1/commands/{commandId}/schema
  • POST /api/v1/commands/{commandId}
  • GET /api/v1/resources
  • GET /api/v1/resources/read?uri=salestouch://status

Business REST surface

  • GET /api/v1/agents
  • GET /api/v1/missions
  • GET /api/v1/offers
  • POST /api/v1/agents/{agentHandle}/actions/send-email

Authentication

  • Header `Authorization: Bearer <api_key>`
  • or header `X-API-Key: <api_key>`
  • The same key should work for plugin, CLI, and direct API access

Automation catalog

curl -s "https://salestouch.io/api/v1/commands" \
  -H "Authorization: Bearer PASTE_YOUR_KEY_HERE"

Run a command

curl -s "https://salestouch.io/api/v1/commands/mission.get" \
  -H "Authorization: Bearer PASTE_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"input":{"mission_id":"mission_123"}}'

Read a resource

curl -s "https://salestouch.io/api/v1/resources/read?uri=salestouch%3A%2F%2Fstatus" \
  -H "X-API-Key: PASTE_YOUR_KEY_HERE"
Auth and permissions
Auth and permissions
New API keys created in SalesTouch now receive the full public v1 bundle by default. Access control is enforced on both REST and automation endpoints.
  • Base permission: `salestouch.use`.
  • Public v1 domains: `agents`, `missions`, `offers`, `leads`, `imports`, `linkedin`, `scoring`, `email`.
  • Each domain exposes at least `read` and `write`.
  • Legacy compatibility: `plugin.use` is still interpreted as `salestouch.use`.
Compatibility
Compatibility and legacy endpoints
The canonical surface is now generic and no longer tied to the word plugin. Legacy plugin endpoints remain available during the transition.
  • Preferred endpoints: `/api/v1/commands/*` and `/api/v1/resources*`.
  • Temporary compatibility: `/api/v1/plugin/*` remains an alias.
  • Commands with `approval` risk can respond with `approval_required: true` and an `approval_request_id`.
  • For Claude workflows, final approval is handled locally inside the Claude runtime.
FAQ
FAQ