Skip to main content

Global flags

Command groups

The CLI registry is committed at data/cli-commands.json and is used to keep docs aligned with implementation. Launch groups include:
  • whoami, doctor
  • orgs, organizations, workspaces
  • campaigns
  • contacts, contact-lists, contact-tags, contact-imports, contact-exports, contact-fields
  • deals, pipelines
  • companies
  • activities
  • inbox
  • connectors
  • kb
  • offerings
  • tracking-domains
  • email-auth
  • sequences
  • learning
  • alerts
  • warmup
  • billing
  • members, invitations, groups, domains
  • api-keys
  • teams, usage, dashboard
  • copilot

Dry run

--dry-run works on named commands and on the raw api command. The CLI prints the request and exits without making any network call. No API key is needed for a dry run.
The authorization header keeps only the public fs-key- prefix of the key. Any other key value shows [redacted], and a missing key shows [missing]. The raw key is never printed.

Headless data commands

Available in 0.1.8:
  • --include-list and --sender repeat. Mixing them with --data fails with ambiguous_body.
  • A path value of . or .. fails with invalid_flag_value (exit code 2).
The routes, scopes and error codes for these commands are on Headless operations. connectors create cal-com reads the Cal.com key only from FIRSTSALES_CAL_COM_API_KEY; passing it as a flag fails.

Examples

Campaign activation

Version 0.1.10 adds the following campaign controls. They require the accompanying public API deployment; publishing the CLI alone does not make these routes available. Each command requires --org, --workspace, and --campaign. The three preparation/send commands require a JSON body. Use --data-file to preserve the exact server-issued versions and confirmation instead of reconstructing them.
Test preparation requires connectorId, savedCampaignVersion, and readinessVersion, with an optional recipientMemberId. The recipient must be a verified workspace member; arbitrary recipient email addresses are not accepted. Test sending also requires a body idempotencyKey and the exact confirmation returned by preparation. The global idempotency header does not replace that body field. Launch preparation requires savedVersionId and readinessVersion. Preparation does not launch the campaign: the existing campaigns start command consumes the server-issued confirmation. Readiness, sender eligibility, audience, schedule and durable receipt checks remain authoritative on the server. The canonical CLI release contract owns the complete command registry. These API/CLI additions do not imply new Product MCP activation tools. CLI account acquisition through GitHub, Google or email remains pending; existing CLI profiles use Developer API keys. Account login is separate from connecting an email sender or another Connector.

Testimonials and inbox assistance

Version 0.1.11 adds five commands, bringing the CLI to 159 commands. All require --org and --workspace; the API deployment controls route availability. Use --data-file for JSON bodies. Scoring and drafting do not send an email. Inspect requests without making network calls:
Install the published version with npm install -g @firstsales.io/cli@0.1.15.

Signals, changelog and inbox templates

Version 0.1.12 adds 18 commands, bringing the CLI to 177 commands. All require --org and --workspace; the API deployment controls route availability. alerts list also accepts --category, --severity, --status, --limit and --skip. Inspect requests without making network calls:

Meetings

Version 0.1.15 adds 26 meetings commands, bringing the CLI to 203 commands. All require --org and --workspace; the API deployment controls route availability. Write commands take --data or --data-file.
Meetings is in early access. For an account without it, these commands return 403 with the message Meetings is coming soon.
Inspect requests without making network calls: