← all tools
Sequencers

Instantly

Send the outreach, then tell you who replied.

Instantly is an outreach sequencer, and one of the 52 tools hyreflow connects to Claude, ChatGPT and other AI assistants. Through hyreflow, an AI agent can run 23 actions: 10 that look something up and 13 that create or change records. Instantly runs on your own Instantly account: hyreflow charges no credits for it, and Instantly bills you as before.

Cost per callBYOK · vendor billed
Your own keyrequired
CategorySequencers

Instantly is where sequences actually go out. Your agent builds the list, loads it into a campaign, and stops. Nothing sends until you approve it.

Instantly is the last step. Sourcing and enrichment feed it a finished list; it sends, and reports back.

What can you ask Claude or ChatGPT to do with Instantly?

With hyreflow connected, you ask for the outcome in plain language and the assistant runs Instantly for you. For example:

  • “Load these 60 into a new campaign, paused, once Enrichley has cleared the addresses”
  • “What is the reply rate on the Berlin campaign?”
  • “Pause everything going to that client's employees”
  • “Anyone who replies positively, create them in Recruit CRM and tell me”

Which tools work well with Instantly?

In a hyreflow run, Instantly is most often paired with Enrichley, Apollo, Recruit CRM and Fathom.

  • Enrichley

    validate first, the sending reputation is yours

  • Apollo

    the list that fills the campaign

  • Recruit CRM

    turn a reply into a record instead of a screenshot

  • Fathom

    the call that follows a positive reply

Which Instantly actions can an AI agent run through hyreflow?

Through hyreflow, an AI agent can run 23 Instantly actions: 10 that look something up and 13 that create or change records. Instantly runs on your own Instantly account: hyreflow charges no credits for it, and Instantly bills you as before.

Instantly actionWhat it doesCost through hyreflow
Add leads bulkCreates or changes a recordno hyreflow credits
Create campaignCreates or changes a recordno hyreflow credits
Create leadCreates or changes a recordno hyreflow credits
Create lead listCreates or changes a recordno hyreflow credits
Create webhookCreates or changes a recordno hyreflow credits
Activate campaignCreates or changes a recordno hyreflow credits
Delete campaignCreates or changes a recordno hyreflow credits
Delete webhookCreates or changes a recordno hyreflow credits
Move leadsCreates or changes a recordno hyreflow credits
Patch campaignCreates or changes a recordno hyreflow credits
Show all 23 Instantly actions →
Instantly actionWhat it doesCost through hyreflow
Patch leadCreates or changes a recordno hyreflow credits
Pause campaignCreates or changes a recordno hyreflow credits
Update lead interest statusCreates or changes a recordno hyreflow credits
List campaignsLooks something upno hyreflow credits
List lead listsLooks something upno hyreflow credits
List leadsLooks something upno hyreflow credits
List webhook event typesLooks something upno hyreflow credits
List webhooksLooks something upno hyreflow credits
Get campaignLooks something upno hyreflow credits
Get campaign analyticsLooks something upno hyreflow credits
Get campaign analytics overviewLooks something upno hyreflow credits
Get daily campaign analyticsLooks something upno hyreflow credits
Get leadLooks something upno hyreflow credits

One credit is priced on the pricing page. The full price list for every tool is in the pricing tables.

Which hyreflow skills use Instantly?

5 hyreflow skills call Instantly as part of the run. A skill is a whole pipeline your agent already knows, end to end.

Business development

Spec one strong candidate out to fifteen companies

use whenyou have an excellent candidate on the bench and no live role to put them into

hyreflow NativeProspeoLushaPredictLeadsExaRecruit CRMBullhornLemlistInstantly
starts from a candidate · 8 stepsget the prompt →
Contact data

Check an old email list before it touches your sending domain

use whenyou are about to email a list you did not build this month, such as an old export, a bought list or last year's campaign

EnrichleyLeadMagicIcypeasInstantlyLemlistSendKit
starts from a list · 7 stepsget the prompt →
Outreach

Build an outreach sequence without losing control of the send

use whenyou have the list and now you need a cadence built, loaded and ready, with nothing going out until you say so

LemlistInstantlySmartLeadSendKitReply.ioHeyReachSourceWhaleEnrichley
starts from a list · 6 stepsget the prompt →
Outreach

Check your sending mailboxes and domain before a campaign goes out

use whena campaign is loaded and ready, and you want to know the mailboxes and the domain behind it are fit to send before you press start

SendKitSmartLeadReply.ioInstantlyLemlist
starts from a list · 7 stepsget the prompt →
Outreach

Review what your campaigns are doing and what to change next

use whencampaigns are running or finished across one or more sequencers and nobody has looked at which ones earn replies and which only use up the list

InstantlyLemlistSmartLeadReply.ioSendKitHeyReachSourceWhalehyreflow Agent
starts from a list · 8 stepsget the prompt →

How does an AI agent know how to use Instantly?

hyreflow ships a written playbook for Instantly, and the agent loads it before the first call. Auth, rate limits, what each call costs, which actions need your approval, and the mistakes worth avoiding. It is the difference between an agent that knows the tool and one that guesses at it.

Read the Instantly docs →
Show the raw playbookwritten for the agent

Routing layer for Instantly v2 API work. WHAT/guardrails here; HOW in reference/endpoints.md (all 167 ops, generated from the OpenAPI spec) and the Python client lib/instantly.py.

1) Auth & config

  • Base URL: https://api.instantly.ai (all v2 paths under /api/v2/...)
  • Auth: Authorization: Bearer <API_KEY> — v2 key from Instantly → Settings → API.
  • Secret: read from env INSTANTLY_API_KEY; never hardcode. Client raises if missing.
  • Spec of record: https://api.instantly.ai/openapi/api_v2.json (167 ops, 30 schemas). Regenerate reference/endpoints.md from it when the API changes.

2) Conventions the spec revealed (don't trip on these)

  • list_leads is POST /api/v2/leads/list with a filter body — not a GET.
  • Bulk add is POST /api/v2/leads/add; move is POST /api/v2/leads/move.
  • Cursor pagination: limit + starting_after; responses carry next_starting_after. The client's _paginate follows it (cursor in query for GET lists, in body for leads/list).
  • Editing is PATCH /…/{id}. Activate/pause are POST /campaigns/{id}/activate|pause.
  • Endpoints require scopes (e.g. campaigns:create, all:all) — your key must have them.

3) Approval gates (sending is real)

Instantly sends cold email. Treat these as irreversible, approval-gated actions:

  1. activate_campaign starts/resumes sending immediately.
  2. add_leads_bulk into an active campaign feeds people into live sending.
  3. Bulk writes: pilot ONE lead/record first, show the user the request + response, get explicit go-ahead before the full batch. Default to building in a paused campaign or a lead-list, then activating only on confirmation.

4) Operations covered by the client

Typed methods for the recruiting/outreach core: campaigns (list/get/create/patch/delete/ activate/pause), campaign analytics (analytics / overview / daily), leads (create/list/get/patch/ add_bulk/move/update_interest_status), lead-lists (list/create), webhooks (list/create/delete/ event-types). For anything else in the 167-op surface, use the generic request(method, path, …) passthrough and consult reference/endpoints.md.

5) Handoff with the GTM/enrichment layer

Canonical flow: source + enrich leads (your sourcing/enrichment adapters) into a CSV → map rows to Instantly lead fields → create_lead_list → add_leads_bulk(list_id=…) → review → add_leads_bulk into a campaign (or move) → activate_campaign only after approval. Never read large CSVs into context.

Field notes (production experience)

Field-shape note: these are vendor-native operational notes. The client returns the raw vendor JSON and uses the method names in this file — read field shapes accordingly (no normalized-wrapper / result.data. prefix).

  • Resolve campaign IDs from list_campaigns before any add.
  • Timezone on create_campaign: don't brute-force guesses; reuse a known-good timezone from an existing campaign (get_campaign). Literal UTC is unsupported - map to a supported equivalent; e.g. use America/Detroit where the user asks for America/New_York if the exact value is rejected.
  • Schedule days: numeric keys "0".."6" (sunday..saturday); out-of-range rejected.
  • list_leads filters: accepts campaign/campaign_id (alias), plus list_id, in_campaign, in_list, search; omit all to list globally. (Our adapter: list_leads is POST /api/v2/leads/list.)
  • Insert in controlled batches; re-check stats after writes; keep activation behind verification gates.

Callable surface — lib/instantly.py

Import: from lib.instantly import Instantly → instantiate Instantly() (reads key from env). Base: https://api.instantly.ai. Generic passthrough: request(method, path, *, params, json).

  • activate_campaign(campaign_id: str) -> dict — POST /api/v2/campaigns/{id}/activate — starts/resumes sending (outreach!).
  • add_leads_bulk(leads: list[dict], campaign_id: str | None = None, list_id: str | None = None, **extra) -> dict — POST /api/v2/leads/add — add leads in bulk to a campaign OR list.
  • create_campaign(payload: dict) -> dict — POST /api/v2/campaigns. See reference/endpoints.md + schemas/campaign for body.
  • create_lead(payload: dict) -> dict
  • create_lead_list(payload: dict) -> dict
  • create_webhook(payload: dict) -> dict
  • delete_campaign(campaign_id: str) -> dict
  • delete_webhook(webhook_id: str) -> dict
  • get_campaign(campaign_id: str) -> dict
  • get_campaign_analytics(**params) -> Any
  • get_campaign_analytics_overview(**params) -> Any
  • get_daily_campaign_analytics(**params) -> Any
  • get_lead(lead_id: str) -> dict
  • list_campaigns(**filters) -> Iterator[dict] — GET /api/v2/campaigns (cursor-paginated).
  • list_lead_lists(**filters) -> Iterator[dict]
  • list_leads(filters: dict | None = None) -> Iterator[dict] — POST /api/v2/leads/list — NOTE: list is a POST with a filter body (cursor-paginated).
  • list_webhook_event_types() -> Any
  • list_webhooks(**filters) -> Iterator[dict]
  • move_leads(payload: dict) -> dict — POST /api/v2/leads/move — move leads to a campaign or list.
  • patch_campaign(campaign_id: str, payload: dict) -> dict
  • patch_lead(lead_id: str, payload: dict) -> dict
  • pause_campaign(campaign_id: str) -> dict
  • update_lead_interest_status(payload: dict) -> dict

Questions about Instantly and hyreflow

Can I use Instantly inside Claude or ChatGPT?

Yes. hyreflow is a connector for Claude, ChatGPT and other AI assistants. Once hyreflow is connected, you ask for the outcome in plain language and the assistant calls Instantly for you. hyreflow exposes 23 Instantly actions this way.

Do I need my own Instantly account to use it with hyreflow?

Yes. Instantly runs on your own Instantly account. You connect it to hyreflow once, hyreflow charges no credits for the calls, and Instantly bills you as before.

What does Instantly cost through hyreflow?

Instantly runs on your own Instantly account: hyreflow charges no credits for it, and Instantly bills you as before.

How do I connect Instantly to an AI agent over MCP?

Add the hyreflow MCP server to your assistant and sign in. hyreflow calls the Instantly API directly and exposes its actions as tools the assistant can run, so there is no separate Instantly server to install.

Connect hyreflow to your assistant →

Put Instantly to work from one prompt

Connect hyreflow to Claude or ChatGPT and ask for the outcome. It reads the playbook above before it makes a single call.