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.
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.
With hyreflow connected, you ask for the outcome in plain language and the assistant runs Instantly for you. For example:
In a hyreflow run, Instantly is most often paired with Enrichley, Apollo, Recruit CRM and Fathom.
validate first, the sending reputation is yours
the list that fills the campaign
turn a reply into a record instead of a screenshot
the call that follows a positive reply
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 action | What it does | Cost through hyreflow |
|---|---|---|
| Add leads bulk | Creates or changes a record | no hyreflow credits |
| Create campaign | Creates or changes a record | no hyreflow credits |
| Create lead | Creates or changes a record | no hyreflow credits |
| Create lead list | Creates or changes a record | no hyreflow credits |
| Create webhook | Creates or changes a record | no hyreflow credits |
| Activate campaign | Creates or changes a record | no hyreflow credits |
| Delete campaign | Creates or changes a record | no hyreflow credits |
| Delete webhook | Creates or changes a record | no hyreflow credits |
| Move leads | Creates or changes a record | no hyreflow credits |
| Patch campaign | Creates or changes a record | no hyreflow credits |
| Instantly action | What it does | Cost through hyreflow |
|---|---|---|
| Patch lead | Creates or changes a record | no hyreflow credits |
| Pause campaign | Creates or changes a record | no hyreflow credits |
| Update lead interest status | Creates or changes a record | no hyreflow credits |
| List campaigns | Looks something up | no hyreflow credits |
| List lead lists | Looks something up | no hyreflow credits |
| List leads | Looks something up | no hyreflow credits |
| List webhook event types | Looks something up | no hyreflow credits |
| List webhooks | Looks something up | no hyreflow credits |
| Get campaign | Looks something up | no hyreflow credits |
| Get campaign analytics | Looks something up | no hyreflow credits |
| Get campaign analytics overview | Looks something up | no hyreflow credits |
| Get daily campaign analytics | Looks something up | no hyreflow credits |
| Get lead | Looks something up | no hyreflow credits |
One credit is priced on the pricing page. The full price list for every tool is in the pricing tables.
5 hyreflow skills call Instantly as part of the run. A skill is a whole pipeline your agent already knows, end to end.
use whenyou have an excellent candidate on the bench and no live role to put them into
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
use whenyou have the list and now you need a cadence built, loaded and ready, with nothing going out until you say so
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
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
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 →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.
https://api.instantly.ai (all v2 paths under /api/v2/...)Authorization: Bearer <API_KEY> — v2 key from Instantly → Settings → API.INSTANTLY_API_KEY; never hardcode. Client raises if missing.reference/endpoints.md from it when the API changes.list_leads is POST /api/v2/leads/list with a filter body — not a GET.POST /api/v2/leads/add; move is POST /api/v2/leads/move.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).PATCH /…/{id}. Activate/pause are POST /campaigns/{id}/activate|pause.campaigns:create, all:all) — your key must have them.Instantly sends cold email. Treat these as irreversible, approval-gated actions:
activate_campaign starts/resumes sending immediately.add_leads_bulk into an active campaign feeds people into live sending.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.
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-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).
list_campaigns before any add.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."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.)lib/instantly.pyImport: 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) -> dictcreate_lead_list(payload: dict) -> dictcreate_webhook(payload: dict) -> dictdelete_campaign(campaign_id: str) -> dictdelete_webhook(webhook_id: str) -> dictget_campaign(campaign_id: str) -> dictget_campaign_analytics(**params) -> Anyget_campaign_analytics_overview(**params) -> Anyget_daily_campaign_analytics(**params) -> Anyget_lead(lead_id: str) -> dictlist_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() -> Anylist_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) -> dictpatch_lead(lead_id: str, payload: dict) -> dictpause_campaign(campaign_id: str) -> dictupdate_lead_interest_status(payload: dict) -> dictYes. 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.
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.
Instantly runs on your own Instantly account: hyreflow charges no credits for it, and Instantly bills you as before.
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 Claude or ChatGPT and ask for the outcome. It reads the playbook above before it makes a single call.