Quickstart
Get the Salesprompter CLI running, authenticate it against the app, and run a first lead workflow.
If you are working from this repository, use node ./dist/cli.js. If you install the package globally, replace node ./dist/cli.js with salesprompter.
If you are a human at a terminal, the fastest first step is the guided wizard:
npx -y salesprompter-cli@latest
npx -y salesprompter-cli@latest wizard
If you are discovering Salesprompter from Codex, Claude Code, or another shell agent, start from the raw command surface instead:
npx salesprompter-cli@latest --help
Prompt To Command
The most common discovery prompt is ambiguous:
"I need to determine the ICP of deel.com."
There are two different workflows behind that sentence.
Deel is the target account
Use account resolution and account-targeted lead generation:
node ./dist/cli.js account:resolve --domain deel.com --company-name Deel --out ./data/deel-account.json
node ./dist/cli.js leads:generate --icp ./data/icp.json --count 5 --domain deel.com --company-name Deel --out ./data/deel-leads.json
The caller is an LLM or agent
Add --json and keep file paths explicit:
node ./dist/cli.js --json icp:vendor --vendor deel --market dach
node ./dist/cli.js --json icp:vendor --vendor deel --market dach --out ./data/deel-icp.json
Prerequisites
- Node.js installed
npmavailable- Access to the Salesprompter app backend if you want to use real auth
Build the CLI
npm install
npm run build
node ./dist/cli.js --help
Authenticate against the Salesprompter app
Use browser/device login first:
node ./dist/cli.js auth:login
node ./dist/cli.js auth:whoami --verify
The CLI opens the browser automatically when possible. If your user belongs to multiple organizations, the browser flow asks which organization the CLI session should use before returning to the terminal.
If browser/device login is unavailable, create a CLI token from the app and log in directly:
node ./dist/cli.js auth:login --token "<token-from-app>" --api-url "https://salesprompter.ai"
Run the basic lead workflow
node ./dist/cli.js icp:define \
--name "EU SaaS RevOps" \
--description "RevOps and sales leaders in European growth-stage software companies" \
--industries "Software,Financial Services" \
--company-sizes "50-199,200-499" \
--regions "Europe" \
--countries "DE,NL,GB" \
--titles "Head of Revenue Operations,VP Sales" \
--required-signals "recent funding,growing outbound team" \
--keywords "revenue operations,outbound,sales tooling" \
--out ./data/icp.json
node ./dist/cli.js leads:generate \
--icp ./data/icp.json \
--count 5 \
--domain deel.com \
--company-name Deel \
--out ./data/leads.json
node ./dist/cli.js leads:enrich \
--in ./data/leads.json \
--out ./data/enriched.json
node ./dist/cli.js leads:score \
--icp ./data/icp.json \
--in ./data/enriched.json \
--out ./data/scored.json
Optional: preview an outreach sync
node ./dist/cli.js sync:outreach --target instantly --in ./data/scored.json --campaign-id "$INSTANTLY_CAMPAIGN_ID"
That command is dry-run by default. Add --apply only after you inspect the payload and the campaign target.
If you hit sign-in, connected-data, or workflow problems, go straight to Common Problems.