salesprompter-cli
v0.1.66
Published
Sales workflow CLI for guided lead generation, enrichment, scoring, and sync.
Maintainers
Readme
salesprompter-cli
Salesprompter CLI is a terminal workflow for lead generation, enrichment, scoring, and sync.
It helps operators and agents go from company, market, or product input to qualified outbound-ready leads with a product-facing command surface and machine-readable output.
Install
curl -fsSL https://docs.salesprompter.ai/install.sh | bashor run directly:
npx -y salesprompter-cli@latestQuickstart
# Run first-time setup
salesprompter setup
# Run a local health check
salesprompter doctor
# Sign in from the CLI
salesprompter auth:login
# Verify your session
salesprompter auth:whoamiNew here? Create your account at https://salesprompter.ai/sign-up, then run salesprompter auth:login.
For headless or automation use, generate a CLI token in the app and run salesprompter auth:login --token <token>.
What it does
- guided setup and auth
- product and market discovery
- Sales Navigator search orchestration
- affiliate audience campaigns from affiliate links and LinkedIn searches
- contact and company enrichment
- email-enrichment batch preparation
- scored-lead sync into downstream systems
Common commands
# Start the guided workflow
salesprompter wizard
# Show machine-readable output
salesprompter --json auth:whoami
# Resolve profile URLs for a pasted contact list
salesprompter contacts:find-linkedin-urls --in ./contacts.tsv --out ./contacts.enriched.json
# Resolve LinkedIn company URLs for a pasted company list
salesprompter companies:resolve-linkedin-urls --in ./companies.txt --out ./companies.enriched.json
# Build and start email enrichment from pasted company/contact rows
# When authenticated, Salesprompter first enriches company domains in the app, then the CLI builds the email batch.
salesprompter contacts:resolve-emails --in ./contacts.tsv --out-dir ./email-run --dry-run
# Collect a Sales Navigator people search into the active workspace
# Normal people searches use 2,500-result slices; Connections-of searches use 1,000.
# Oversized searches split by company headcount and deduplicate by canonical profile URL.
# LinkedIn headline drift is retained as metadata after the complete partition is proven.
# Exhaustive runs resume completed slices automatically after interruptions or rate limits.
salesprompter leads:collect \
--linkedin-url "$SALES_NAV_PEOPLE_URL"
# For large discovery runs, store the leads now and enrich selected imports later
salesprompter leads:collect \
--linkedin-url "$SALES_NAV_PEOPLE_URL" \
--defer-email-enrichment
# Enrich one or more stored imports: Sales Navigator company -> official domain -> Hunter email
# This updates workspace data only. It does not create or start outreach.
# Stale ids and raw legal-name misses use conservative exact-name recovery.
# Hunter prefers official domains and can fall back to the exact company name.
salesprompter leads:enrich-import \
--run-id "$CLI_IMPORT_RUN_ID"
salesprompter affiliate:launch \
--affiliate-link "https://example.com/?ref=you" \
--linkedin-url "https://www.linkedin.com/sales/search/people?query=..." \
--max-results 100 \
--dry-run
# Collect a Sales Navigator people audience locally and create its campaign page
salesprompter affiliate:launch \
--affiliate-link "https://example.com/?ref=you" \
--linkedin-url "https://www.linkedin.com/sales/search/people?query=..." \
--max-results 100
# End to end: collect, enrich emails, write a sequence, and create a draft Instantly campaign
salesprompter affiliate:run \
--affiliate-link "https://example.com/?ref=you" \
--linkedin-url "https://www.linkedin.com/sales/search/people?query=..." \
--max-results 100 \
--steps 3 \
--timing-mode custom \
--daily-limit 25 \
--send-from 09:00 \
--send-to 16:00
# Review the persisted sequence and enrichment summary, then activate explicitly
salesprompter affiliate:list
salesprompter affiliate:status "$AFFILIATE_RUN_ID"
salesprompter affiliate:analytics "$AFFILIATE_RUN_ID"
salesprompter affiliate:regenerate-sequence "$AFFILIATE_RUN_ID"
salesprompter affiliate:enrich "$AFFILIATE_RUN_ID"
salesprompter affiliate:enrich "$AFFILIATE_RUN_ID" \
--source-audience-run-id "$NEW_AUDIENCE_RUN_ID"
salesprompter affiliate:activate "$AFFILIATE_RUN_ID"
# See included capability packs
salesprompter packs:list
# Explore the full command surface
salesprompter --helpDownload stored workspace leads without starting a new Sales Navigator scrape:
salesprompter leads:download --out ./salesprompter-leads.csv
salesprompter leads:download --run-id <uuid> --emails-only --out ./run-leads.csvUse --search <value> to match a person, title, or company. The command uses the
active Salesprompter workspace and downloads the same filtered data available in
the app's CLI imports view.
Output modes
--jsonfor machine-readable output--quietto suppress successful payload output
Notes
- Use your own authorized data access and workspace credentials.
- Respect provider terms and customer data boundaries.
affiliate:runuses direct email enrichment first, then Phantombuster Email Finder for unresolved people before creating a draft Instantly campaign.- Affiliate preparation uses exactly three emails with three observable variants per step;
affiliate:regenerate-sequencerebuilds and syncs them through the Salesprompter app. affiliate:listshows safe workspace summaries.affiliate:analyticsshows aggregate and step/variant outcomes without exposing lead data; unsupported per-step meeting and won fields render asn/a.affiliate:rundefaults to--timing-mode custom, so its daily limit and weekday sending window are honored. Use--timing-mode autoonly when capacity-derived scheduling is intended.affiliate:enrichstarts durable email recovery and adds only newly found addresses to an existing campaign. It returns a background-processing status for large audiences instead of blocking the terminal. Pass--source-audience-run-idto merge a newer compatible audience into that campaign without creating a duplicate campaign.- A draft campaign does not send until
affiliate:activateis run. - The CLI is designed for interactive users and agent-assisted workflows.
- A repo-local Chrome extension compatibility copy is available in
chrome-extension/for local LinkedIn session sync and popup copy/debug flows.
Development
npm install
npm run build
npm testFor contribution and security processes, see:
Links
- Docs: https://salesprompter.ai/docs
- App: https://salesprompter.ai
- Repository: https://github.com/danielsinewe/salesprompter-cli
