AI agent skill
Instantly Automation
Automate Instantly cold email outreach -- manage campaigns, sending accounts, lead lists, bulk lead imports, and campaign analytics -- using natural language through the Composio MCP integration.
·
When to use this skill
Use Instantly Automation when an AI agent needs a reusable SKILL.md workflow for this job: Automate Instantly cold email outreach -- manage campaigns, sending accounts, lead lists, bulk lead imports, and campaign analytics -- using natural language through the Composio MCP integration.
When not to use it
Skip Instantly Automation when the task is outside the coding category, or when a more specific skill in this directory already covers the same workflow with clearer triggers.
How to install
- Claude Code personal install: place the skill and its bundled files at ~/.claude/skills/instantly-automation/SKILL.md. For a shared project, commit the folder at .claude/skills/instantly-automation/ instead.
- Current Claude Code detects SKILL.md changes in watched directories during the session. If you just created a top-level skills directory, run /reload-skills. Check that the skill is listed before testing its trigger.
- For Claude chat or Cowork in the Desktop app, manage uploaded skills in Customize > Skills; copying files into a local Claude Code folder is not a Desktop install. Other agents may use different install locations.
What this skill does
# Instantly Automation
Automate your cold email outreach with Instantly -- create and manage campaigns with multi-step sequences, configure sending schedules, import leads in bulk, manage sending accounts, and track campaign performance -- all through natural language commands.
**Toolkit docs:** [composio.dev/toolkits/instantly](https://composio.dev/toolkits/instantly)
---
## Setup
1. Add the Composio MCP server to your client configuration: ``` https://rube.app/mcp ``` 2. Connect your Instantly account when prompted (API key authentication). 3. Start issuing natural language commands to manage your outreach campaigns.
---
## Core Workflows
### 1. List Sending Accounts Retrieve all email accounts configured in your Instantly workspace, with filtering by status and provider.
**Tool:** `INSTANTLY_LIST_ACCOUNTS`
**Example prompt:** > "Show all active sending accounts in my Instantly workspace"
**Key parameters:** - `status` -- Filter by status: `1` (Active), `2` (Paused), `-1` (Connection Error), `-2` (Soft Bounce Error), `-3` (Sending Error) - `provider_code` -- Filter by provider: `1` (Custom IMAP/SMTP), `2` (Google), `3` (Microsoft), `4` (AWS) - `search` -- Search by email substring or domain - `limit` -- Max items (1-100) - `starting_after` -- Pagination cursor from previous response - `tag_ids` -- Comma-separated tag UUIDs
---
### 2. Create a Campaign Launch a new outreach campaign with scheduling, email sequences, A/B testing variants, and sending configuration.
**Tool:** `INSTANTLY_CREATE_CAMPAIGN`
**Example prompt:** > "Create an Instantly campaign called 'Q1 Outreach' that sends Monday-Friday 9am-5pm Central time with a 3-step email sequence"
**Key parameters:** - `name` (required) -- Campaign name - `campaign_schedule` (required) -- Schedule configuration: - `schedules` (required) -- Array of schedule objects, each with: - `name` -- Schedule name - `timing` -- `{from: "09:00", to: "17:00"}` (HH:mm format) - `days` -- Map of day index strings "0" (Sun) to "6" (Sat) to booleans - `timezone` -- Supported values include "America/Chicago", "America/Detroit", "America/Boise", "America/Anchorage" - `start_date` / `end_date` -- ISO 8601 dates - `email_list` -- Array of sending account email addresses (must be pre-configured accounts; use `INSTANTLY_LIST_ACCOUNTS` to discover valid addresses) - `sequences` -- Array (only first element used) containing: - `steps` -- Array of step objects with: - `type` -- Must be "email" - `delay` -- Days before NEXT email (integer, min 0) - `variants` -- Array of `{subject, body}` objects for A/B testing - `daily_limit` -- Daily sending cap - `email_gap` -- Minutes between emails - `stop_on_reply` -- Stop campaign when lead replies (boolean) - `stop_on_auto_reply` -- Stop on auto-replies (boolean) - `open_tracking` / `link_tracking` -- Enable tracking (booleans)
**Timezone notes:** - Verified working: "America/Chicago" (Central), "America/Detroit" (Eastern), "America/Boise" (Mountain) - Auto-mapped: "America/New_York" maps to "America/Detroit", "America/Denver" maps to "America/Boise" - NOT supported: "America/Los_Angeles", "US/Pacific" -- use "America/Anchorage" or "America/Dawson" as alternatives
---
### 3. Update Campaign Settings Modify an existing campaign's schedule, sending limits, sequences, or tracking settings.
**Tool:** `INSTANTLY_UPDATE_CAMPAIGN`
**Example prompt:** > "Update my Instantly campaign to increase the daily limit to 100 and enable open tracking"
**Key parameters:** - `id` (required) -- Campaign UUID - Any combination of: `name`, `campaign_schedule`, `email_list`, `sequences`, `daily_limit`, `email_gap`, `stop_on_reply`, `open_tracking`, `link_tracking`, etc. - Set any parameter to `null` to unset it
---
### 4. Manage Lead Lists and Bulk Import Create dedicated lead lists and import prospects in bulk for campaign targeting.
**Tools:** `INSTANTLY_CREATE_LEAD_LIST`, `INSTANTLY_ADD_LEADS_BULK`
**Example prompt:** > "Create a lead list called 'Q1 Prospects' and add 50 leads to my Instantly campaign"
**Key parameters for creating lead lists:** - List name and configuration
**Key parameters for bulk lead import:** - Campaign or list ID to import into - Array of lead objects with email and metadata - Duplicate handling options - Lead verification settings
---
### 5. Review Campaign Details Retrieve full campaign configuration to verify settings, inspect sequences, or prepare for updates.
**Tool:** `INSTANTLY_GET_CAMPAIGN`
**Example prompt:** > "Show me the full details of my Instantly campaign"
**Key parameters:** - `id` (required) -- Campaign UUID
---
### 6. List All Campaigns Enumerate all campaigns in your workspace with optional filters and pagination.
**Tool:** `INSTANTLY_LIST_CAMPAIGNS`
**Example prompt:** > "List all my Instantly campaigns"
**Key parameters:** - Optional filters and pagination parameters
---
## Known Pitfalls
- **Timezone support is limited**: The Instantly API accepts a restricted set of timezone strings. Pacific Time ("America/Los_Angeles") is NOT supported. Use "America/Anchorage" (UTC-9/UTC-8) or "America/Dawson" (UTC-7 year-round) as alternatives. - **Invalid schedule payloads cause 400 errors**: A malformed `campaign_schedule` (missing `days`, `from`, `to`, or `schedules`) triggers HTTP 400. Repeated 400s indicate payload issues, not transient failures. - **Sequences must be complete**: Each sequence step requires a valid `type` ("email"), `delay`, and at least one variant with both `subject` and `body`. Incomplete variants block campaign creation. - **Only first sequence element is used**: The API only processes `sequences[0]`. Additional sequences are ignored. - **email_list must reference existing accounts**: The `email_list` field requires email addresses of pre-configured sending accounts in your Instantly workspace, not arbitrary recipient addresses. Always use `INSTANTLY_LIST_ACCOUNTS` to discover valid sending addresses. - **401 scope errors on campaign creation**: Campaign creation can fail with "Invalid scope. Required: campaigns:create". Update your API key permissions before retrying writes. - **Read-back fields may differ**: Field names in `INSTANTLY_GET_CAMPAIGN` responses may differ from create payloads (e.g., `timing.from_` vs `timing.from`). Parse defensively.
---
## Quick Reference
| Action | Tool Slug | Required Params | |---|---|---| | List sending accounts | `INSTANTLY_LIST_ACCOUNTS` | None (optional filters) | | Create campaign | `INSTANTLY_CREATE_CAMPAIGN` | `name`, `campaign_schedule` | | Update campaign | `INSTANTLY_UPDATE_CAMPAIGN` | `id` | | Get campaign details | `INSTANTLY_GET_CAMPAIGN` | `id` | | List campaigns | `INSTANTLY_LIST_CAMPAIGNS` | None (optional filters) | | Create lead list | `INSTANTLY_CREATE_LEAD_LIST` | List name | | Bulk import leads | `INSTANTLY_ADD_LEADS_BULK` | Campaign/list ID, leads |
---
*Powered by [Composio](https://composio.dev)*
Intended uses
- Use Instantly Automation when this documented workflow matches the task.
Related skills
Related skills in this directory, for comparison before you install another skill.
coding
A Half-Built Pyramid and the Leader Who Turned Labor Into Legacy
A reusable prompt for asking an AI assistant to work as A Half-Built Pyramid and the Leader Who Turned Labor Into Legacy.
coding
Act as a Patient, Non-Technical Android Studio Guide
A reusable prompt for asking an AI assistant to work as Act as a Patient, Non-Technical Android Studio Guide.
coding
Add Ave Record
The main workflow for this repo. Adds one new AVE record end to end.
coding
Add Backend
Guide for adding a backend (Rust or Python) to the agent-sec-core security middleware. Use when creating new backends, integrating Rust or Python code into the security middleware, or extending with new backend actions.