For developers, growth engineers, and technical sales leaders, web dashboards can sometimes slow down high-velocity workflows. When building automated lead pipelines, triggering outreach from internal tools, or integrating prospecting into CI/CD workflows, terminal-native utilities provide unmatched speed and flexibility.
Enter outflo-cli: the official Command-Line Interface for Outflo.
Built on top of Outflo's high-performance public API architecture and OAuth 2.0 PKCE authentication protocols, `outflo-cli` allows developers to programmatically control LinkedIn outreach campaigns, ingest enriched prospect lists, monitor smart inboxes, and manage multi-tenant workspaces directly from any bash, zsh, or PowerShell shell.
In this deep dive, we walk through the architecture, authentication security, and primary command sets of `outflo-cli`.
Architecture & Authentication: OAuth 2.0 PKCE Security
Command-line tools operating on sensitive sales data and social accounts require rock-solid security. Outflo CLI is engineered around modern OAuth 2.0 standards without relying on static client secrets.
Public Client with PKCE (Proof Key for Code Exchange)
Under the hood in Outflo's authentication service (`SeedCliOAuthClient1812000000000`), `outflo_cli` is configured as a PUBLIC OAuth client (`token_endpoint_auth_method: 'none'`).
When authenticating via the CLI:
- 1.Running `outflo login` triggers a PKCE code challenge and opens your web browser to `http://127.0.0.1/callback` or `http://localhost/callback`.
- 2.Upon successful authentication, Outflo issues short-lived access tokens and refresh tokens.
- 3.Access tokens carry granular scopes (such as `campaigns.read`, `campaigns.write`, `leads.write`, `inbox.read`, `accounts.connect`), enforcing principle-of-least-privilege access across your infrastructure.
Centralized Workspace Scoping
Just like Outflo's web dashboard, `outflo-cli` fully respects workspace boundaries. Requests automatically pass the target workspace via `x-workspace-id` headers or scoped API keys. You can seamlessly target client workspaces without risking cross-workspace data contamination.
Installation & Quickstart
Installing `outflo-cli` requires Node.js (v18+) and can be installed globally via `npm` or `yarn`:
npm install -g @outflo/cliVerify your installation and authenticate:
outflo --version
outflo loginExecuting `outflo login` initiates the browser SSO authorization flow. Once authenticated, your session tokens are stored securely in your system's keyring.
Core Command Reference & Workflows
`outflo-cli` is organized into intuitive command groups designed for scriptability and terminal efficiency.
Workspace & Organization Management
Switch between client environments or inspect active organization credentials:
# List all accessible workspaces in your organization
outflo workspace list
# Switch context to a specific client workspace
outflo workspace use <workspace-id>Campaign Operations & Sequence Control
Monitor and manipulate outreach cadences without opening a web browser:
# List all active campaigns and real-time reply metrics
outflo campaigns list
# Inspect detailed status of a specific campaign
outflo campaigns status --id <campaign-id>
# Pause or resume outreach cadences instantly
outflo campaigns pause --id <campaign-id>
outflo campaigns resume --id <campaign-id>Lead List Ingestion & Pipeline Feeding
Pipe prospect data directly from internal lead enrichment tools (such as Apollo, Clay, or custom Python scrapers) into active Outflo campaigns:
# Upload a local CSV lead list to a workspace
outflo leads upload --file ./prospects.csv --name "Q3 Enterprise SDRs"
# Add a lead directly to an active running campaign in real time
outflo campaigns add-lead --campaign-id <campaign-id> --email "prospect@company.com" --name "Jane Doe"Account Monitoring & Verification Checkpoints
Keep your connected LinkedIn accounts healthy and resolve verification challenges directly from the command line:
# Check status and daily warm-up limits across connected profiles
outflo accounts status
# Submit a two-factor verification or OTP checkpoint code
outflo accounts checkpoint solve --account-id <account-id> --code 123456Building Automated Pipelines: CI/CD & Shell Scripting
Because `outflo-cli` outputs clean JSON responses when passed the `--json` flag, it integrates seamlessly into bash scripts, GitHub Actions, and cron jobs.
Example: Automated Nightly Lead Injection Script
#!/bin/bash
# Nightly script to sync enriched leads from a local pipeline into Outflo
echo "Syncing new leads to Outflo..."
NEW_LEADS=$(python3 fetch_enriched_leads.py)
for lead in $NEW_LEADS; do
outflo campaigns add-lead --campaign-id "cmp_987654321" --json "$lead"
done
echo "Outreach pipeline updated successfully."Summary
The `outflo-cli` tool puts the full power of Outflo's enterprise LinkedIn automation backend into your shell terminal. By leveraging PKCE security, workspace scoping, and JSON scriptability, growth engineers can build powerful, seamless outreach automation.
Get started today by installing `@outflo/cli` or checking out our Developer API documentation.

