instantly

安装量: 67
排名: #11347

安装

npx skills add https://github.com/vm0-ai/vm0-skills --skill instantly

Instantly API

Use the Instantly API via direct curl calls to automate cold email outreach, manage campaigns, leads, and sending accounts.

Official docs: https://developer.instantly.ai/

When to Use

Use this skill when you need to:

Manage email campaigns - create, launch, pause campaigns Handle leads - add, update, list leads in campaigns Manage sending accounts - list and configure email accounts Automate outreach - schedule sends and manage lead lists Prerequisites Sign up at Instantly.ai (Growth plan or above required for API) Go to Settings > Integrations > API to create an API key Select appropriate scopes for your use case export INSTANTLY_API_KEY="your-api-key"

API Scopes

Create API keys with specific permissions:

campaigns:read, campaigns:create, campaigns:update leads:read, leads:create, leads:update, leads:delete lead_lists:read, lead_lists:create analytics:read all:all (full access)

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"' | jq '.items[] | {id, name}'

How to Use

All examples below assume you have INSTANTLY_API_KEY set.

The base URL for API V2 is:

https://api.instantly.ai/api/v2

Authentication uses Bearer token in the Authorization header.

  1. List Campaigns

Get all campaigns:

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name, status}'

With filters:

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?status=ACTIVE&limit=10" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'

Status values: ACTIVE, PAUSED, COMPLETED, DRAFTED

  1. Get Single Campaign

Get campaign details by ID. Replace with the actual campaign ID:

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns/" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '{id, name, status, daily_limit}'

  1. Create Campaign

Create a new campaign (requires campaign_schedule):

Write to /tmp/instantly_request.json:

{ "name": "My New Campaign", "daily_limit": 50, "campaign_schedule": { "schedules": [ { "name": "Weekday Schedule", "timezone": "America/Chicago", "days": { "monday": true, "tuesday": true, "wednesday": true, "thursday": true, "friday": true, "saturday": false, "sunday": false }, "timing": { "from": "09:00", "to": "17:00" } } ] } }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'

  1. Pause/Activate Campaign

Control campaign status. Replace with the actual campaign ID:

Pause campaign

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns//pause" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'

Activate campaign

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns//activate" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'

  1. List Leads

List leads (POST endpoint due to complex filters):

Write to /tmp/instantly_request.json:

{ "limit": 10 }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/list" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json' | jq '.items[] | {id, email, first_name, last_name}'

Filter by campaign:

Write to /tmp/instantly_request.json:

{ "campaign_id": "your-campaign-id", "limit": 20 }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/list" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json' | jq '.items[] | {email, status}'

  1. Create Lead

Add a single lead:

Write to /tmp/instantly_request.json:

{ "email": "john@example.com", "first_name": "John", "last_name": "Doe", "company_name": "Acme Corp", "campaign_id": "your-campaign-id" }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'

With custom variables:

Write to /tmp/instantly_request.json:

{ "email": "jane@example.com", "first_name": "Jane", "campaign_id": "your-campaign-id", "custom_variables": { "role": "CTO", "industry": "SaaS" } }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'

  1. Get Single Lead

Get lead by ID. Replace with the actual lead ID:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'

  1. Update Lead

Update lead information:

Write to /tmp/instantly_request.json:

{ "first_name": "Updated Name", "custom_variables": { "notes": "High priority" } }

Then run. Replace with the actual lead ID:

bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/" -X PATCH -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'

  1. List Lead Lists

Get all lead lists:

bash -c 'curl -s "https://api.instantly.ai/api/v2/lead-lists" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'

  1. Create Lead List

Create a new lead list:

Write to /tmp/instantly_request.json:

{ "name": "Q1 Prospects" }

Then run:

bash -c 'curl -s "https://api.instantly.ai/api/v2/lead-lists" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'

  1. List Email Accounts

Get connected sending accounts:

bash -c 'curl -s "https://api.instantly.ai/api/v2/accounts" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {email, status, warmup_status}'

  1. Test API Key

Verify your API key is valid:

bash -c 'curl -s "https://api.instantly.ai/api/v2/api-keys" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[0] | {name, scopes}'

Pagination

List endpoints support pagination:

First page

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?limit=10" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '{items: .items | length, next_starting_after: .next_starting_after}'

Next page (replace with the next_starting_after value from the previous response)

bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?limit=10&starting_after=" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'

Guidelines Use API V2: V1 is deprecated, use V2 endpoints only Bearer token auth: Always use Authorization: Bearer header Scope your keys: Create keys with minimal required permissions Custom variables: Values must be string, number, boolean, or null (no objects/arrays) Leads list is POST: Due to complex filters, listing leads uses POST not GET Rate limits: Respect rate limits based on your plan tier Growth plan required: API access requires Growth plan or above

返回排行榜