Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Instantly

  • 134 installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

Use instantly for development tasks

About

instantly: A skill skill for development. This skill provides functionality for development workflows.

  • instantly

Instantly by the numbers

  • 134 all-time installs (skills.sh)
  • Ranked #2,696 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill instantly

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs134
repo stars76
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

What it does

Use instantly for development tasks

Files

SKILL.mdMarkdownGitHub ↗

Troubleshooting

If requests fail, run zero doctor check-connector --env-name INSTANTLY_API_KEY or zero doctor check-connector --url https://api.instantly.ai/api/v2/campaigns --method GET

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:

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

With filters:

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

2. Get Single Campaign

Get campaign details by ID. Replace <your-campaign-id> with the actual campaign ID:

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

3. 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:

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

4. Pause/Activate Campaign

Control campaign status. Replace <your-campaign-id> with the actual campaign ID:

# Pause campaign
curl -s "https://api.instantly.ai/api/v2/campaigns/<your-campaign-id>/pause" -X POST -H "Authorization: Bearer $INSTANTLY_API_KEY"

# Activate campaign
curl -s "https://api.instantly.ai/api/v2/campaigns/<your-campaign-id>/activate" -X POST -H "Authorization: Bearer $INSTANTLY_API_KEY"

5. List Leads

List leads (POST endpoint due to complex filters):

Write to /tmp/instantly_request.json:

{
  "limit": 10
}

Then run:

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:

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}'

6. 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:

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:

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

7. Get Single Lead

Get lead by ID. Replace <your-lead-id> with the actual lead ID:

curl -s "https://api.instantly.ai/api/v2/leads/<your-lead-id>" -H "Authorization: Bearer $INSTANTLY_API_KEY"

8. Update Lead

Update lead information:

Write to /tmp/instantly_request.json:

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

Then run. Replace <your-lead-id> with the actual lead ID:

curl -s "https://api.instantly.ai/api/v2/leads/<your-lead-id>" -X PATCH -H "Authorization: Bearer $INSTANTLY_API_KEY" -H "Content-Type: application/json" -d @/tmp/instantly_request.json

9. List Lead Lists

Get all lead lists:

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

10. Create Lead List

Create a new lead list:

Write to /tmp/instantly_request.json:

{
  "name": "Q1 Prospects"
}

Then run:

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

11. List Email Accounts

Get connected sending accounts:

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

12. Test API Key

Verify your API key is valid:

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
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 <your-cursor> with the next_starting_after value from the previous response)
curl -s "https://api.instantly.ai/api/v2/campaigns?limit=10&starting_after=<your-cursor>" -H "Authorization: Bearer $INSTANTLY_API_KEY" | jq '.items[] | {id, name}'

Guidelines

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

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.