Give Your AI Agent Full Outbound Superpowers
Agents live in the terminal, not dashboards. This CLI gives them every Instantly.ai capability — 156 commands, skill-based tool definitions, zero context bloat.
Your agent can now run campaigns, manage leads, handle replies, and monitor deliverability — completely autonomously. No GUI needed.


Agents Don’t Live in Dashboards. They Live in the Terminal.
We went from the terminal → to GUIs → to chat interfaces → and now back to the terminal. The circle is complete.
The terminal is the native environment of compute. Before visual interfaces made software accessible for humans, this was it. The command line. Now AI is taking us back. Autonomous agents don’t click buttons. They don’t navigate UIs. They don’t need visual interfaces at all.
Instantly.ai has a beautiful web dashboard. Great for humans. Completely invisible to agents. There’s no way for agent-native, fully autonomous agents like OpenClaw to manage your entire outbound operation through a GUI — where you sit back, manage the agent, and let it run.
“If your agent can’t access the tool, the tool doesn’t exist in the agent’s world.”
Every Instantly Capability, Agent-Ready
156 commands across 31 API groups. Every single thing you can do in the Instantly dashboard, your agent can now do from the terminal — no GUI, no browser, just the command line.
Campaign Management
11 cmdsCreate, activate, pause, duplicate, and monitor campaigns. Full lifecycle control from a single command.
Lead Operations
12 cmdsBulk import up to 1,000 leads, move between campaigns, merge duplicates, assign, and update interest status.
Reply Handling
8 cmdsRead unified inbox, reply to threads, forward messages, mark as read. Your agent handles conversations autonomously.
Analytics & Reporting
6 cmdsCampaign stats, daily metrics, step-level performance, account-level data, and warmup analytics.
Infrastructure Health
12 cmdsTest DNS, SMTP, and IMAP vitals. Enable/disable warmup across accounts. Monitor deliverability in real time.
Deliverability Testing
13 cmdsRun inbox placement tests, analyze ESP results, track deliverability insights across providers.
Webhooks & Automation
12 cmdsCreate, test, and manage webhooks. Event-driven workflows that trigger on opens, replies, bounces, and more.
Templates & Sequences
23 cmdsManage email templates, custom prompt templates, subsequences, and sales flows programmatically.
One Definition. Two Interfaces. Zero Duplication.
The secret sauce is the CommandDefinition pattern. Every API endpoint is defined once as a single TypeScript object. That single definition automatically generates both a CLI command and an MCP tool — with shared validation, shared descriptions, and shared error handling.
Write one file, get both interfaces:
export const campaignsActivateCommand = {
name: 'campaigns_activate',
group: 'campaigns',
subcommand: 'activate',
description: 'Activate a campaign to start sending.',
inputSchema: z.object({
id: z.string().describe('Campaign ID to activate'),
}),
endpoint: { method: 'POST', path: '/campaigns/{id}/activate' },
fieldMappings: { id: 'path' },
};$ instantly campaigns activate abc123campaigns_activate({ id: "abc123" })Adding a new API endpoint means creating one file. The CLI command, MCP tool, input validation, help text, and error handling all generate automatically.
Accurate Tool Calls. Clean Context Window.
The problem with dumping 156 tools into an agent’s context? It chokes. Too many options, too much noise, worse decisions. Agents need focus, not a firehose.
Without Skills
Context overloadLoad all 156 tools into the agent’s context at once.
The agent sees campaign tools, lead tools, analytics tools, webhook tools, deliverability tools — all at the same time.
Result: confused tool selection, hallucinated parameters, bloated context window, slower inference.
With Skills
Precise contextTools are organized into skills — grouped by what the agent is actually trying to do.
Campaign management. Lead operations. Reply handling. Infrastructure health. The agent loads the skill it needs, when it needs it.
Result: precise tool calls, clean context, faster inference, better decisions.
Why This Matters for Agent Performance
Every token in the context window is a decision the model has to weigh. Loading 156 tool definitions means the agent spends compute parsing options instead of executing the task. Skills eliminate that overhead.
An agent handling replies loads the reply handling skill — 8 focused tools. An agent launching a campaign loads the campaign management skill — 11 targeted commands. The right tools, at the right time, with zero bloat.
How This Differs from the Remote MCP Connector
We built both. The instantly-cli is a stdio-based MCP for developers and agents. The official Instantly MCP connector is a remote HTTP MCP for the platform. They’re complementary — here’s how.
instantly-cli
stdio MCPnpm i -g instantly-cliinstantly campaigns list)mcp.instantly.ai
Remote HTTP MCPSide-by-Side Comparison
| stdio MCP (this) | Remote HTTP MCP | |
|---|---|---|
| Setup | User installs locally | Zero install, connect to URL |
| Offline | Works offline | Requires network |
| Multi-tenant | Single user | Many users |
| Distribution | npm registry | Hosted endpoint |
| Agent discovery | npm install → immediate use | URL/registry discovery |
They’re Complementary, Not Competing
The stdio MCP is the developer/agent-first path — an agent finds it on npm, installs it, and has 160+ tools immediately via stdio. The remote connector is the platform-first path — no install, centralized, with MCP-UI for visual interaction.
The CLI also doubles as a plain shell tool (instantly campaigns list) which the remote MCP doesn’t do. That’s the main bonus — it’s three interfaces from one codebase: CLI, stdio MCP, and the commands can be reused by your remote MCP if you wanted to share the definitions.
What Your Agent Can Actually Do
These aren’t theoretical. These are real multi-step workflows that an MCP-connected agent can execute autonomously, start to finish.
Launch a Campaign from Scratch
Your agent creates a full campaign end-to-end: builds the campaign, imports a lead list, writes sequences, activates sending, and monitors delivery — all in one autonomous run.
“Launch a new cold email campaign targeting SaaS CTOs in the US. Import my lead list, set up weekday sending in EST, and activate it. Let me know when it's live.”
instantly campaigns create --name "Q2 SaaS Outreach"instantly campaigns set-schedule $ID --timezone "America/New_York" --days "1,2,3,4,5"instantly leads bulk-add --campaign-id $ID --file leads.csvinstantly campaigns set-sequences $ID --sequences '[...]'instantly campaigns activate $IDinstantly campaigns sending-status $IDinstantly analytics campaign-summary --campaign-id $IDHandle Replies Automatically
Agent monitors the inbox, reads new replies, classifies intent (interested, not interested, out of office), responds contextually, and updates lead status — no human in the loop.
“Check my Instantly inbox for any new replies. For interested prospects, send a follow-up and mark them as interested. For out-of-office replies, just mark them read.”
instantly email unread-countinstantly email list --campaign-id $ID --is-read falseinstantly email read $THREAD_IDinstantly email reply --reply-to-uuid $UUID --body-text "..."instantly email mark-read $THREAD_IDinstantly leads update-status --lead-email $EMAIL --interest-status "Interested"Morning Infrastructure Check
Daily autonomous health check: inventory all sending accounts, test SMTP/IMAP vitals, enable warmup on cold accounts, verify DNS records, and report deliverability insights.
“Run a full health check on all my sending accounts. Test SMTP/IMAP, verify DNS records, enable warmup on any cold accounts, and give me a deliverability report.”
instantly accounts listinstantly accounts test-vitals $ACCOUNT_IDinstantly accounts check-dns $ACCOUNT_IDinstantly accounts warmup-enable --account-ids "id1,id2"instantly analytics warmup --emails "sender@domain.com"instantly inbox-placement test-create --email "test@domain.com"Duplicate & Scale a Winning Campaign
Agent identifies the top-performing campaign, duplicates it with all settings intact, swaps the lead list, and launches — scaling what works without starting from zero.
“My "Q1 Fintech" campaign has a 4.2% reply rate. Duplicate it, swap in my new lead list for Q2, and launch the copy. Keep the same sequences and schedule.”
instantly analytics campaign-summary --campaign-id $IDinstantly campaigns duplicate $IDinstantly campaigns update $NEW_ID --name "Q2 Fintech Scale"instantly leads delete --campaign-id $NEW_ID --delete-allinstantly leads bulk-add --campaign-id $NEW_ID --file q2-fintech-leads.csvinstantly campaigns activate $NEW_IDEnd-of-Week Analytics Report
Agent pulls analytics across every active campaign, compiles open/reply/bounce rates, identifies top performers, and delivers a summary — your weekly outbound report, fully automated.
“Every Friday at 4pm, pull a full analytics report for all active campaigns. I want open rates, reply rates, bounce rates, and top-performing subject lines. Summarize everything and send it to me.”
instantly campaigns list --status activeinstantly analytics campaign-summary --campaign-id $ID1instantly analytics campaign-summary --campaign-id $ID2instantly analytics campaign-steps --campaign-id $ID1instantly analytics campaign-steps --campaign-id $ID2instantly analytics daily-stats --start-date 2026-02-24 --end-date 2026-03-03Lead List Cleanup & Dedup
Agent scans the lead list for duplicates, merges them, removes hard bounces, and moves flagged leads to the blocklist — keeping your sender reputation clean.
“I just imported 5,000 new leads into my main campaign. Find and merge any duplicates, remove bounced emails, and move any leads with a "Do Not Contact" tag to the blocklist.”
instantly leads list --campaign-id $ID --limit 100instantly leads search --email "duplicate@company.com"instantly leads merge --winner $LEAD_ID1 --loser $LEAD_ID2instantly leads list --campaign-id $ID --interest-status "Not Interested"instantly leads delete --lead-ids "$BOUNCED_IDS"instantly blocklist add --entries '[{"email":"dnc@company.com"}]'Spin Up New Sending Accounts
Agent onboards new sending infrastructure: connects accounts, enables warmup, validates DNS records, and runs vitals checks to ensure everything is healthy before sending.
“I just added 3 new sending accounts. Connect them, enable warmup on all of them, verify DNS is set up correctly, and let me know which ones pass the vitals test.”
instantly accounts listinstantly accounts test-vitals $ACCT_1instantly accounts test-vitals $ACCT_2instantly accounts test-vitals $ACCT_3instantly accounts check-dns $ACCT_1instantly accounts warmup-enable --account-ids "$ACCT_1,$ACCT_2,$ACCT_3"instantly analytics warmup --emails "new1@domain.com,new2@domain.com"TAM Surveillance
Automated daily surveillance of your total addressable market: monitors campaign health, catches performance dips before they hurt deliverability, and gives you a bird's-eye view of your outbound coverage.
“Every morning, check all my active campaigns for reply rate drops. If any campaign dips below 1% reply rate, pause it and notify me. Also pull a snapshot of my total addressable leads across all campaigns.”
instantly campaigns list --status activeinstantly analytics campaign-summary --campaign-id $IDinstantly campaigns pause $UNDERPERFORMING_IDinstantly leads count --campaign-id $ID1instantly leads count --campaign-id $ID2instantly analytics daily-stats --start-date $YESTERDAYWhy This Changes Everything for Outbound
Agents Become Full Outbound Operators
An agent connected via MCP can create a campaign, import 1,000 leads, write personalized sequences, activate sending, monitor replies, and respond to interested prospects — all from the terminal, no dashboard required.
JSON-First, Agent-Native Design
Every command returns structured JSON. No HTML parsing, no screen scraping, no brittle selectors. Agents get clean, typed data they can reason about and act on immediately.
Self-Correcting Error Messages
When an agent calls the wrong command, the CLI responds with available subcommands. The agent self-corrects in real time without human intervention. Structured errors with codes, not stack traces.
Skill-Based Tools, Not Context Overload
Dumping 156 tools into an agent’s context window degrades performance. Tools are organized into skills — the agent loads only what it needs for the current task. Precise tool calls, clean context, better decisions.
Up and Running in 60 Seconds
Two prerequisites, then you’re live. If you already have an Instantly account and OpenClaw running, skip straight to Step 3.
Get an Instantly.ai Account
You’ll need an Instantly.ai account with API access to use the CLI. If you don’t have one yet, sign up below — you’ll need at least one sending account connected to start running campaigns.
Sign Up for Instantly.aiOnce you have your account, grab your API key from Settings → Integrations → API.
Set Up OpenClaw (Your AI Agent)
OpenClaw is the AI agent that will use this CLI to run your outbound autonomously. If you haven’t set it up yet, follow our step-by-step setup guide — it covers installation, configuration, and connecting to your tools.
OpenClaw Setup GuideInstall the CLI
npm install -g instantly-clinpx instantly-cli campaigns listAuthenticate
instantly loginexport INSTANTLY_API_KEY=your-api-key-hereConnect as MCP Server
Add this to your Claude Desktop, Cursor, or VS Code MCP config:
{
"mcpServers": {
"instantly": {
"command": "npx",
"args": ["instantly-cli", "mcp"],
"env": {
"INSTANTLY_API_KEY": "your-api-key"
}
}
}
}Verify It Works
instantly campaigns list --prettyReady to Supercharge Your Agent’s Outbound?
Clone the repo, connect via MCP, and let your agent run your entire cold email operation. Or let us build an agent-powered outbound system for you.