The Instantly connector lets your AI agent act in each user's Instantly account. Each user connects their own Instantly access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 94 tools.
- Tools
- 94
- What they doRead · write · destructive
- 40 · 43 · 1140 read43 write11 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Instantly connection
In AgentKit > Connections, create an Instantly connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'instantly'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Instantly:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'instantly_accounts_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "instantly"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Instantly:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="instantly_accounts_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Instantly credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolinstantly_account_campaigns_listList the campaigns that use a given sending account.Read-onlyList Campaigns for Account
List the campaigns that use a given sending account. Returns campaign IDs, names and statuses, plus next_starting_after. Use instantly_account_campaigns_list before pausing or deleting an account.
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
limitnumber- Number of campaigns to return per page. Example: 25.
starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_account_getGet one sending account by its email address.Read-onlyGet Sending Account
Get one sending account by its email address. Returns the account's name, status, provider, warmup settings and score, daily limit, sending gap, signature and tracking domain. Use instantly_account_get for one account's settings. Use instantly_accounts_list to list accounts.
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
instantly_account_tracking_domain_status_getCheck whether a custom tracking domain is set up correctly.Read-onlyGet Tracking Domain Status
Check whether a custom tracking domain is set up correctly. Returns success plus the domain's CNAME and SSL check results. Use instantly_account_tracking_domain_status_get before assigning a tracking domain with instantly_account_update.
Inputs
hoststringrequired- Custom tracking domain host to check. Example: "track.acme-mail.com".
instantly_accounts_analytics_daily_getGet the number of emails sent per day by each sending account over a date range of up to 31 days.Read-onlyGet Daily Account Analytics
Get the number of emails sent per day by each sending account over a date range of up to 31 days. Returns one row per account and date with sent, bounced, contacted, opened, replied and clicked counts. Use instantly_accounts_analytics_daily_get to track sending volume. Use instantly_accounts_warmup_analytics_get for warmup health.
Inputs
emailsarrayrequired- Sending accounts to include (up to 200). Instantly requires this filter. Example: ["john@acme-mail.com"].
end_datestring- End of the period. Defaults to today. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
start_datestring- Start of the period. Defaults to 30 days before end_date; the range can be up to 31 days. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_accounts_listList the email sending accounts connected to the workspace, optionally filtered by status, provider, tag or text.Read-onlyList Sending Accounts
List the email sending accounts connected to the workspace, optionally filtered by status, provider, tag or text. Returns accounts with email, name, status, provider, warmup status and score, daily limit and tracking domain, plus next_starting_after. Use instantly_accounts_list to find sending accounts for campaigns. Use instantly_account_get for one account.
Inputs
include_tagsboolean- Set true to include each account's tags in the response. Example: true.
limitinteger- Number of accounts to return per page, from 1 to 100. Example: 25.
provider_codenumber- Only accounts on this provider: 1 = Custom IMAP/SMTP, 2 = Google, 3 = Microsoft, 4 = AWS, 8 = AirMail, 11 = Airmail Instant. Example: 2.one of
1234811 searchstring- Search text matched against account email addresses. Example: "Q4 outreach".
sort_bystring- Sort by timestamp_created, email, stat_warmup_score or status. Example: "stat_warmup_score".one of
timestamp_createdemailstat_warmup_scorestatus sort_orderstring- asc or desc (desc by default when sort_by is set). Example: "desc".one of
ascdesc starting_afterstring- Pagination cursor: the next_starting_after value from the previous response. Leave empty for the first page. Example: "2026-01-15T10:00:00.000Z&john@acme-mail.com".
statusnumber- Only accounts with this status: 1 = Active, 2 = Paused, 3 = Temporarily paused for maintenance, -1 = Connection Error, -2 = Soft Bounce Error, -3 = Sending Error. Example: 1.one of
123-1-2-3 tag_idsstring- Comma-separated tag IDs; returns accounts with any of these tags. Example: "0199a4b2-b16d-7f8c-8e75-901234567890".
instantly_accounts_vitals_testRun Instantly's vitals check (DNS records such as SPF, DKIM, DMARC and MX) on sending accounts.Read-onlyTest Account Vitals
Run Instantly's vitals check (DNS records such as SPF, DKIM, DMARC and MX) on sending accounts. Returns success and failure lists with each domain's MX, SPF, DKIM and DMARC results. Use instantly_accounts_vitals_test to diagnose deliverability setup.
Inputs
accountsarray- Sending account email addresses to test. Example: ["john@acme-mail.com"].
instantly_accounts_warmup_analytics_getGet warmup analytics for sending accounts.Read-onlyGet Warmup Analytics
Get warmup analytics for sending accounts. Returns per-account, per-day warmup counts (sent, received, landed in inbox, landed in spam) and per-account totals with a health score. Use instantly_accounts_warmup_analytics_get to check deliverability health. Use instantly_accounts_analytics_daily_get for campaign sending volume.
Inputs
emailsarrayrequired- Sending account email addresses to get warmup analytics for. Example: ["john@acme-mail.com"].
instantly_background_job_getGet the status and progress of a background job, such as a lead move or warmup change.Read-onlyGet Background Job
Get the status and progress of a background job, such as a lead move or warmup change. Returns the job's type, status (pending, in-progress, success, failed and so on), progress and result data. Use instantly_background_job_get to poll a job returned by instantly_leads_move or the warmup tools.
Inputs
idstringrequired- Background job ID, from the id field of the job returned by the tool that started it. Example: "0199a4b2-f5ab-7dc0-8cb9-345678901234".
data_fieldsstring- Comma-separated fields to include from the job's data object. Example: "success_count,failed_count".
instantly_background_jobs_listList background jobs, filtered by type, entity or status.Read-onlyList Background Jobs
List background jobs, filtered by type, entity or status. Returns jobs with id, type, status, progress and timestamps, plus next_starting_after. Use instantly_background_jobs_list to find recent jobs. Use instantly_background_job_get to poll one.
Inputs
entity_idstring- Comma-separated entity IDs. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
entity_typestring- Only jobs on this kind of entity, for example list or campaign. Example: "campaign".one of
listcampaignworkspacebroadcastsubscriber-group-syncsubscriber-groupjourney limitinteger- Number of jobs to return per page, from 1 to 100. Example: 25.
sort_columnstring- Sort by created_at or updated_at. Example: "created_at".one of
created_atupdated_at sort_orderstring- asc or desc. Example: "desc".one of
ascdesc starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
statusstring- Comma-separated statuses: pending, in-progress, success, failed, draining, paused, cancelled. Example: "in-progress".
typestring- Only jobs of this type, for example move-leads, import-leads, export-leads or update-warmup-accounts. Example: "move-leads".one of
move-leadsimport-leadsexport-leadsupdate-warmup-accountsrename-variablebroadcast-ai-generatebroadcast-website-scrapeimport-subscribers-from-crmresync-subscriber-crm-tagsjourney-ai-build
instantly_block_list_entries_listList the emails and domains on the workspace block list.Read-onlyList Block List Entries
List the emails and domains on the workspace block list. Returns entries with id, bl_value and is_domain, plus next_starting_after. Use instantly_block_list_entries_list to check whether an address is blocked. Use instantly_block_list_entry_create to block one.
Inputs
domains_onlyboolean- Set true to return only domain entries. Example: false.
limitinteger- Number of entries to return per page, from 1 to 100. Example: 25.
searchstring- Text to search entries by. Example: "acme.com".
starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_block_list_entry_getGet one block list entry by ID.Read-onlyGet Block List Entry
Get one block list entry by ID. Returns the blocked email or domain. Use instantly_block_list_entry_get for one entry. Use instantly_block_list_entries_list to search.
Inputs
idstringrequired- ID (UUID) of the block list entry. Get it from the id field returned by instantly_block_list_entries_list. Example: "0199a4b2-d38f-7bae-8a97-123456789012".
instantly_campaign_analytics_daily_getGet day-by-day campaign analytics for one campaign or all campaigns.Read-onlyGet Daily Campaign Analytics
Get day-by-day campaign analytics for one campaign or all campaigns. Returns one row per date with sent, opened, replied, clicked and opportunity counts. Use instantly_campaign_analytics_daily_get for trends over time. Use instantly_campaign_analytics_get for totals.
Inputs
campaign_idstring- Campaign ID. Leave empty for all campaigns. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
campaign_statusnumber- Only include campaigns with this status: 0 = Draft, 1 = Active, 2 = Paused, 3 = Completed, 4 = Running Subsequences, -1 = Accounts Unhealthy, -2 = Bounce Protect, -99 = Account Suspended. Example: 1.one of
01234-1-2-99 end_datestring- End of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
start_datestring- Start of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_campaign_analytics_getGet per-campaign analytics for one campaign, several campaigns or all campaigns, optionally within a date range.Read-onlyGet Campaign Analytics
Get per-campaign analytics for one campaign, several campaigns or all campaigns, optionally within a date range. Returns one row per campaign with leads count, contacted, emails sent, opens, replies, link clicks, bounces, unsubscribes and opportunities. Use instantly_campaign_analytics_get for per-campaign totals. Use instantly_campaign_analytics_overview_get for combined totals and instantly_campaign_analytics_daily_get for a day-by-day series.
Inputs
end_datestring- End of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
exclude_total_leads_countboolean- Set true to leave out the total leads count, which makes the response much faster. Example: true.
idstring- One campaign ID to get analytics for. Leave empty (and ids empty) for all campaigns. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
idsarray- Several campaign IDs to get analytics for. Example: ["0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90"].
start_datestring- Start of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_campaign_analytics_overview_getGet combined analytics totals for one campaign, several campaigns or all campaigns.Read-onlyGet Campaign Analytics Overview
Get combined analytics totals for one campaign, several campaigns or all campaigns. Returns totals for emails sent, opens, replies, clicks, bounces and opportunities, plus interest outcomes (interested, meeting booked, meeting completed, closed). Use instantly_campaign_analytics_overview_get for headline numbers. Use instantly_campaign_analytics_get for a per-campaign breakdown.
Inputs
campaign_statusnumber- Only include campaigns with this status: 0 = Draft, 1 = Active, 2 = Paused, 3 = Completed, 4 = Running Subsequences, -1 = Accounts Unhealthy, -2 = Bounce Protect, -99 = Account Suspended. Example: 1.one of
01234-1-2-99 end_datestring- End of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
expand_crm_eventsboolean- Set true to count every interest status change event instead of only the first per contact. Example: false.
idstring- One campaign ID. Leave empty (and ids empty) for all campaigns. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
idsarray- Several campaign IDs. Example: ["0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90"].
start_datestring- Start of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_campaign_analytics_steps_getGet analytics broken down by sequence step and variant for one campaign or all campaigns.Read-onlyGet Campaign Step Analytics
Get analytics broken down by sequence step and variant for one campaign or all campaigns. Returns sent, opened, replied and clicked counts per step and variant, and optionally opportunities. Use instantly_campaign_analytics_steps_get to compare A/B variants or find the step that gets replies.
Inputs
campaign_idstring- Campaign ID. Leave empty for all campaigns. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
end_datestring- End of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
include_opportunities_countboolean- Set true to add opportunities, unique opportunities, meetings booked and won counts per step. Example: true.
start_datestring- Start of the analytics range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_campaign_getGet one campaign by ID.Read-onlyGet Campaign
Get one campaign by ID. Returns the campaign's name, status, schedule, email sequences, sending accounts and settings. Use instantly_campaign_get to read a campaign before changing it. Use instantly_campaigns_list to find the ID and instantly_campaign_analytics_get for its numbers.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_campaign_sending_status_getExplain why a campaign is not sending or is sending slower than expected.Read-onlyGet Campaign Sending Status
Explain why a campaign is not sending or is sending slower than expected. Returns diagnostics (status, accounts, daily and new-lead limits, schedule, tracked issues) and a summary, with an optional AI-written summary. Use instantly_campaign_sending_status_get to troubleshoot delivery. Use instantly_campaign_get for the campaign's configuration.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
with_ai_summaryboolean- Set true to include an AI-generated summary of the issues. Example: true.
instantly_campaigns_launched_countCount the campaigns that have been launched in the workspace.Read-onlyCount Launched Campaigns
Count the campaigns that have been launched in the workspace. Returns the launched campaign count. Use instantly_campaigns_launched_count for a quick total. Use instantly_campaigns_list to see the campaigns.
Inputs
This tool takes no inputs.
instantly_campaigns_listList campaigns in the Instantly workspace, optionally filtered by name, status or tag.Read-onlyList Campaigns
List campaigns in the Instantly workspace, optionally filtered by name, status or tag. Returns campaigns with id, name, status, schedule and settings, plus next_starting_after for the next page. Use instantly_campaigns_list to find a campaign ID. Use instantly_campaign_get for one campaign's full details and instantly_campaigns_search_by_lead to find campaigns that contain a given lead.
Inputs
limitinteger- Number of campaigns to return per page, from 1 to 100. Example: 25.
searchstring- Search text matched against campaign names. Example: "Q4 outreach".
starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
statusnumber- Only return campaigns with this status: 0 = Draft, 1 = Active, 2 = Paused, 3 = Completed, 4 = Running Subsequences, -1 = Accounts Unhealthy, -2 = Bounce Protect, -99 = Account Suspended. Example: 1.one of
01234-1-2-99 tag_idsstring- Comma-separated custom tag IDs; returns campaigns with any of these tags. Example: "0199a4b2-b16d-7f8c-8e75-901234567890".
instantly_campaigns_search_by_leadFind the campaigns that contain a lead with a given email address.Read-onlySearch Campaigns by Lead Email
Find the campaigns that contain a lead with a given email address. Returns the matching campaigns. Use instantly_campaigns_search_by_lead to see where a contact is enrolled. Use instantly_campaigns_list to filter campaigns by name or status.
Inputs
searchstring- Lead email address to look up. Example: "jane@acme.com".
instantly_custom_tag_getGet one custom tag by ID.Read-onlyGet Custom Tag
Get one custom tag by ID. Returns the tag's label and description. Use instantly_custom_tag_get for one tag. Use instantly_custom_tags_list to find the ID.
Inputs
idstringrequired- ID (UUID) of the custom tag. Get it from the id field returned by instantly_custom_tags_list. Example: "0199a4b2-b16d-7f8c-8e75-901234567890".
instantly_custom_tag_mappings_listList which custom tags are attached to which sending accounts and campaigns.Read-onlyList Custom Tag Assignments
List which custom tags are attached to which sending accounts and campaigns. Returns mappings with tag_id, resource_id and resource type, plus next_starting_after. Use instantly_custom_tag_mappings_list to audit tag assignments. Use instantly_custom_tags_list for the tags themselves.
Inputs
limitinteger- Number of mappings to return per page, from 1 to 100. Example: 25.
resource_idsstring- Comma-separated account or campaign IDs to filter by. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_email_getGet one Unibox email by ID.Read-onlyGet Email
Get one Unibox email by ID. Returns the email's sender, recipients, subject, HTML and text body, thread_id, campaign, lead and timestamps. Use instantly_email_get to read a full message. Use instantly_emails_list to find the ID.
Inputs
idstringrequired- ID (UUID) of the email. Get it from the id field returned by instantly_emails_list. Example: "0199a4b2-9f4b-7d6a-8c53-7e8f90123456".
instantly_email_verification_getGet the status and result of an email verification.Read-onlyGet Email Verification Status
Get the status and result of an email verification. Returns the email, verification_status (pending, verified or invalid), catch_all and credits used. Use instantly_email_verification_get after instantly_email_verification_create returns pending.
Inputs
emailstringrequired- Email address that was submitted for verification. Example: "jane@acme.com".
instantly_emails_listList emails in the Instantly Unibox (sent and received), filtered by campaign, list, lead, sending account, thread, read state or date.Read-onlyList Emails
List emails in the Instantly Unibox (sent and received), filtered by campaign, list, lead, sending account, thread, read state or date. Returns emails with id, thread_id, from, to, subject, body, timestamps and lead details, plus next_starting_after. This endpoint allows 20 requests per minute. Use instantly_emails_list to read conversations and find an email ID to reply to. Use instantly_email_get for one email.
Inputs
assigned_tostring- Only emails whose lead is assigned to this user ID. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
campaign_idstring- Only emails from this campaign. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
company_domainstring- Only emails with leads at this company domain. Example: "acme.com".
eaccountstring- Only emails sent or received by these sending accounts (comma-separated). Example: "john@acme-mail.com".
email_typestring- Only this type of email: received, sent or manual. Example: "received".one of
receivedsentmanual has_reminderboolean- Set true for only emails with a reminder. Example: false.
is_unreadboolean- Set true for only unread emails. Example: true.
latest_of_threadboolean- Set true to return only the latest email in each thread. Example: true.
leadstring- Only emails with this lead email address. Example: "jane@acme.com".
limitinteger- Number of emails to return per page, from 1 to 100. Example: 25.
list_idstring- Only emails for leads in this lead list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
marked_as_doneboolean- Set true for only emails marked as done. Example: false.
max_timestamp_createdstring- Only emails created before this ISO 8601 time. Example: "2026-01-31T23:59:59Z".
min_timestamp_createdstring- Only emails created after this ISO 8601 time. Example: "2026-01-01T00:00:00Z".
modestring- Unibox view: emode_focused (primary), emode_others or emode_all. Example: "emode_all".one of
emode_focusedemode_othersemode_all preview_onlyboolean- Set true to return a short preview instead of the full body. Example: true.
scheduled_onlyboolean- Set true for only scheduled emails. Example: false.
searchstring- A lead email address, or "thread:" followed by a thread ID to get one thread. Example: "thread:0199a4b3-06bc-7ed1-9dca-456789012345".
sort_orderstring- Sort by creation time: asc or desc (default desc). Example: "desc".one of
ascdesc starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_emails_unread_countCount unread emails in the Unibox.Read-onlyCount Unread Emails
Count unread emails in the Unibox. Returns the unread count. Use instantly_emails_unread_count to check for new replies. Use instantly_emails_list with is_unread true to read them.
Inputs
This tool takes no inputs.
instantly_lead_getGet one lead by ID.Read-onlyGet Lead
Get one lead by ID. Returns the lead's email, name, company, campaign or list, status, interest status, engagement counts and custom variables. Use instantly_lead_get for a lead's details. Use instantly_leads_list to find the lead ID.
Inputs
idstringrequired- ID (UUID) of the lead. Get it from the id field returned by instantly_leads_list. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
instantly_lead_label_getGet one custom lead label by ID.Read-onlyGet Lead Label
Get one custom lead label by ID. Returns the label text, sentiment, description and interest status value. Use instantly_lead_label_get for one label. Use instantly_lead_labels_list to find the ID.
Inputs
idstringrequired- ID (UUID) of the lead label. Get it from the id field returned by instantly_lead_labels_list. Example: "0199a4b2-c27e-7a9d-9f86-012345678901".
instantly_lead_labels_listList the custom lead labels (custom interest statuses) in the workspace.Read-onlyList Lead Labels
List the custom lead labels (custom interest statuses) in the workspace. Returns labels with id, label text, sentiment (positive, neutral or negative) and interest status value, plus next_starting_after. Use instantly_lead_labels_list to find custom interest status values for instantly_lead_interest_status_update.
Inputs
interest_statusstring- Only labels with this sentiment: positive, neutral or negative. Example: "positive".one of
positiveneutralnegative limitinteger- Number of lead labels to return per page, from 1 to 100. Example: 25.
searchstring- Search text matched against lead label names. Example: "Q4 outreach".
starting_afterstring- Pagination cursor: the next_starting_after value from the previous response. Example: "2026-01-15T10:00:00.000Z".
instantly_lead_list_getGet one lead list by ID.Read-onlyGet Lead List
Get one lead list by ID. Returns the list's name, owner, enrichment setting and creation time. Use instantly_lead_list_get for list details. Use instantly_lead_lists_list to find the ID.
Inputs
idstringrequired- ID (UUID) of the lead list. Get it from the id field returned by instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
instantly_lead_list_verification_stats_getGet email verification statistics for the leads in a lead list.Read-onlyGet Lead List Verification Stats
Get email verification statistics for the leads in a lead list. Returns total_leads and counts of leads by verification result: verified, invalid, risky, catch-all, job change and pending. Use instantly_lead_list_verification_stats_get to check list quality before sending.
Inputs
idstringrequired- ID (UUID) of the lead list. Get it from the id field returned by instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
instantly_lead_lists_listList the lead lists in the workspace, optionally filtered by name.Read-onlyList Lead Lists
List the lead lists in the workspace, optionally filtered by name. Returns lists with id, name, owner, enrichment setting and creation time, plus next_starting_after for the next page. Use instantly_lead_lists_list to find a list ID. Use instantly_leads_list with list_id to see the leads in a list.
Inputs
has_enrichment_taskboolean- Set true for only lists that enrich every added lead, false for only lists that do not. Example: false.
limitinteger- Number of lead lists to return per page, from 1 to 100. Example: 25.
searchstring- Search text matched against lead list names. Example: "Q4 outreach".
starting_afterstring- Pagination cursor: the next_starting_after value from the previous response. Leave empty for the first page. Example: "2026-01-15T10:00:00.000Z".
instantly_leads_listList or search leads, filtered by campaign, lead list, state, IDs or email addresses.Read-onlyList Leads
List or search leads, filtered by campaign, lead list, state, IDs or email addresses. Returns leads with id, email, name, company, status, interest status and custom variables, plus next_starting_after for the next page. Use instantly_leads_list to find leads. Use instantly_lead_get for one lead and instantly_campaigns_search_by_lead to find a lead's campaigns.
Inputs
campaign_idstring- Only return leads in this campaign. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
contactsarray- Only return leads with these email addresses. Example: ["jane@acme.com"].
distinct_contactsboolean- Set true to return each contact (email) once even if it is in several campaigns or lists. Paginate with the email as the cursor. Example: false.
excluded_idsarray- Leave out these lead IDs. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
filterstring- Only return leads in this state, for example FILTER_VAL_CONTACTED, FILTER_VAL_NOT_CONTACTED, FILTER_LEAD_INTERESTED, FILTER_LEAD_MEETING_BOOKED, FILTER_VAL_BOUNCED or FILTER_VAL_REPLIED. Example: "FILTER_VAL_REPLIED".one of
FILTER_VAL_CONTACTEDFILTER_VAL_NOT_CONTACTEDFILTER_VAL_COMPLETEDFILTER_VAL_UNSUBSCRIBEDFILTER_VAL_ACTIVEFILTER_LEAD_INTERESTEDFILTER_LEAD_NOT_INTERESTEDFILTER_LEAD_MEETING_BOOKEDFILTER_LEAD_MEETING_COMPLETEDFILTER_LEAD_CLOSEDFILTER_LEAD_OUT_OF_OFFICEFILTER_LEAD_WRONG_PERSONFILTER_LEAD_LOSTFILTER_LEAD_NO_SHOWFILTER_LEAD_CUSTOM_LABEL_POSITIVEFILTER_LEAD_CUSTOM_LABEL_NEGATIVEFILTER_VAL_BOUNCEDFILTER_VAL_SKIPPEDFILTER_VAL_RISKYFILTER_VAL_INVALIDFILTER_VAL_VALIDFILTER_VAL_CATCH_ALLFILTER_VAL_NOT_VERIFIEDFILTER_VAL_IN_SUBSEQUENCEFILTER_VAL_OPENED_NO_REPLYFILTER_VAL_COMPLETED_NO_REPLYFILTER_VAL_NO_OPENSFILTER_VAL_REPLIEDFILTER_VAL_LINK_CLICKED idsarray- Only return these lead IDs. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
in_campaignboolean- Set true to return only leads that are in a campaign, false for only leads that are not. Example: true.
in_listboolean- Set true to return only leads that are in a lead list, false for only leads that are not. Example: false.
limitinteger- Number of leads to return per page, from 1 to 100. Example: 25.
list_idstring- Only return leads in this lead list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
searchstring- Text matched against the lead's email and profile fields (name, company, job title). Matches whole words or the start of a value. Example: "jane@acme.com".
starting_afterstring- Pagination cursor: the next_starting_after value from the previous response (a lead ID, or an email when distinct_contacts is true). Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
instantly_subsequence_analytics_steps_getGet engagement metrics by step and variant for one subsequence, excluding its parent campaign.Read-onlyGet Subsequence Step Analytics
Get engagement metrics by step and variant for one subsequence, excluding its parent campaign. Returns per step and variant sent, opened, replied and clicked counts. Use instantly_subsequence_analytics_steps_get to compare subsequence variants.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
end_datestring- Inclusive end of the range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-31".
start_datestring- Inclusive start of the range. Accepts a date (YYYY-MM-DD, read as UTC midnight) or a full ISO 8601 timestamp. Example: "2026-01-01".
instantly_subsequence_getGet one subsequence by ID.Read-onlyGet Subsequence
Get one subsequence by ID. Returns its name, parent campaign, trigger conditions, schedule, email steps and limits. Use instantly_subsequence_get before editing a subsequence.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
instantly_subsequence_sending_status_getExplain why a subsequence is not sending or is sending slower than expected.Read-onlyGet Subsequence Sending Status
Explain why a subsequence is not sending or is sending slower than expected. Returns diagnostics (status, accounts, limits, schedule, tracked issues) and a summary, with an optional AI-written summary. Use instantly_subsequence_sending_status_get to troubleshoot a subsequence.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
with_ai_summaryboolean- Set true to include an AI-generated summary. Example: true.
instantly_subsequences_analytics_getGet engagement totals for each subsequence of a campaign.Read-onlyGet Subsequence Analytics
Get engagement totals for each subsequence of a campaign. Returns per-subsequence emails sent, unique opens and unique replies. Use instantly_subsequences_analytics_get to compare subsequences. Use instantly_subsequence_analytics_steps_get for one subsequence by step.
Inputs
campaign_idstringrequired- Campaign whose subsequences to report on. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_subsequences_listList campaign subsequences (follow-up sequences triggered by lead status or activity), optionally for one campaign.Read-onlyList Subsequences
List campaign subsequences (follow-up sequences triggered by lead status or activity), optionally for one campaign. Returns subsequences with id, name, parent_campaign, status and conditions, plus next_starting_after. Use instantly_subsequences_list to find a subsequence ID. Use instantly_subsequence_get for its full sequence.
Inputs
limitinteger- Number of subsequences to return per page, from 1 to 100. Example: 25.
parent_campaignstring- Only subsequences of this campaign. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
searchstring- Search text matched against subsequence names. Example: "Q4 outreach".
starting_afterstring- Pagination cursor. Pass the next_starting_after value from the previous response to get the next page. Leave empty for the first page. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_workspace_getGet the workspace that the connected API key belongs to.Read-onlyGet Workspace
Get the workspace that the connected API key belongs to. Returns the workspace id, name, owner, plan IDs and settings. Use instantly_workspace_get to confirm which workspace the connection uses.
Inputs
This tool takes no inputs.
instantly_account_mark_fixedSet a sending account back to active and clear leftover error details after you fix its connection problem.WriteMark Account as Fixed
Set a sending account back to active and clear leftover error details after you fix its connection problem. Returns the updated account. Use instantly_account_mark_fixed after fixing a connection or sending error. Use instantly_account_resume for an account you paused.
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
instantly_account_pausePause one sending account so it stops sending.WritePause Sending Account
Pause one sending account so it stops sending. Returns the updated account. Use instantly_account_pause for one account, instantly_accounts_pause for up to 100, and instantly_account_resume to restart it.
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
instantly_account_resumeResume a paused sending account.WriteResume Sending Account
Resume a paused sending account. Returns the updated account. Use instantly_account_resume after instantly_account_pause. Use instantly_account_mark_fixed for an account in an error state.
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
instantly_account_updateUpdate a sending account's name, daily limit, sending gap, signature, reply-to, tracking domain or warmup settings.WriteUpdate Sending Account
Update a sending account's name, daily limit, sending gap, signature, reply-to, tracking domain or warmup settings. Only the fields you provide change. Returns the updated account. Use instantly_account_update to tune an account. Use instantly_accounts_warmup_enable or instantly_accounts_warmup_disable to switch warmup on or off.
- Idempotent
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
daily_limitnumber- Maximum emails this account sends per day. Example: 40.
enable_slow_rampboolean- Set true to ramp the sending limit up gradually. Example: true.
first_namestring- Sender first name. Example: "John".
inbox_placement_test_limitnumber- Limit for inbox placement tests on this account. Example: 5.
last_namestring- Sender last name. Example: "Smith".
reply_tostring- Custom reply-to address for this account. Example: "sales@acme.com".
sending_gapnumber- Minimum minutes between emails from this account across campaigns. Example: 10.
signaturestring- Email signature (HTML allowed). Example: "John Smith<br/>Acme Inc".
tracking_domain_namestring- Custom tracking domain for open and click tracking. Example: "track.acme-mail.com".
warmupobject- Warmup settings: limit (warmup emails per day), increment ("disabled" or "0"-"4", daily ramp toward the limit), reply_rate (percent), warmup_custom_ftag (custom tag), and advanced options such as weekday_only, read_emulation, open_rate and spam_save_rate. Example: {"limit": 20, "increment": "1", "reply_rate": 30, "advanced": {"weekday_only": true}}.
instantly_accounts_pausePause up to 100 sending accounts at once.WritePause Sending Accounts
Pause up to 100 sending accounts at once. Returns paused_emails and failed_emails lists. Use instantly_accounts_pause for several accounts. Use instantly_account_pause for one.
Inputs
emailsarrayrequired- Account email addresses to pause (up to 100). Example: ["john@acme-mail.com", "jane@acme-mail.com"].
instantly_accounts_warmup_disableTurn off warmup for the listed sending accounts, or for all accounts.WriteDisable Warmup
Turn off warmup for the listed sending accounts, or for all accounts. Returns a background job; poll instantly_background_job_get with its id. Use instantly_accounts_warmup_disable to stop warming accounts. Use instantly_accounts_warmup_enable to start.
Inputs
emailsarray- Sending account email addresses to change. Example: ["john@acme-mail.com"].
excluded_emailsarray- Accounts to leave out when include_all_emails is true. Example: ["jane@acme-mail.com"].
include_all_emailsboolean- Set true to apply to every account in the workspace instead of the emails list. Example: false.
searchstring- When include_all_emails is true, only apply to accounts matching this text. Example: "acme-mail.com".
instantly_accounts_warmup_enableTurn on warmup for the listed sending accounts, or for all accounts.WriteEnable Warmup
Turn on warmup for the listed sending accounts, or for all accounts. Returns a background job; poll instantly_background_job_get with its id. Use instantly_accounts_warmup_enable to start warming accounts. Use instantly_accounts_warmup_disable to stop.
Inputs
emailsarray- Sending account email addresses to change. Example: ["john@acme-mail.com"].
excluded_emailsarray- Accounts to leave out when include_all_emails is true. Example: ["jane@acme-mail.com"].
include_all_emailsboolean- Set true to apply to every account in the workspace instead of the emails list. Example: false.
searchstring- When include_all_emails is true, only apply to accounts matching this text. Example: "acme-mail.com".
instantly_block_list_entries_createAdd many email addresses or domains to the block list at once.WriteBlock Emails or Domains in Bulk
Add many email addresses or domains to the block list at once. Returns the created entries with valid and invalid counts. Use instantly_block_list_entries_create for bulk blocking. Use instantly_block_list_entry_create for one.
Inputs
bl_valuesarrayrequired- Emails or domains to block. Example: ["competitor.com", "noreply@acme.com"].
instantly_block_list_entry_createAdd an email address or a whole domain to the workspace block list so Instantly never emails it.WriteBlock Email or Domain
Add an email address or a whole domain to the workspace block list so Instantly never emails it. Returns the created entry. Use instantly_block_list_entry_create for one value. Use instantly_block_list_entries_create for many.
Inputs
bl_valuestringrequired- Email address or domain to block. Example: "competitor.com".
instantly_block_list_entry_updateChange the email or domain of a block list entry.WriteUpdate Block List Entry
Change the email or domain of a block list entry. Returns the updated entry. Use instantly_block_list_entry_update to correct an entry.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the block list entry. Get it from the id field returned by instantly_block_list_entries_list. Example: "0199a4b2-d38f-7bae-8a97-123456789012".
bl_valuestring- New email or domain to block. Example: "competitor.io".
instantly_campaign_activateStart a draft campaign or resume a paused one, so it begins sending on its schedule.WriteActivate Campaign
Start a draft campaign or resume a paused one, so it begins sending on its schedule. Returns the campaign with its updated status. Use instantly_campaign_activate once the campaign has leads, sending accounts and a sequence. Use instantly_campaign_pause to stop it.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_campaign_createCreate a new email campaign with a sending schedule, optional email sequence and sending settings.WriteCreate Campaign
Create a new email campaign with a sending schedule, optional email sequence and sending settings. Returns the created campaign with its id and status 0 (Draft). Use instantly_campaign_create to set up outreach, then add leads with instantly_leads_add and start it with instantly_campaign_activate.
Inputs
campaign_scheduleobjectrequired- When the campaign may send. Give a schedules array with one or more windows; each window has a name, timing.from and timing.to in 24-hour HH:MM, a days object whose keys "0" to "6" are days of the week set to true or false, and a timezone. Instantly accepts only its own list of timezone names (for example America/Chicago, America/Detroit, Europe/Helsinki, Asia/Kolkata, Australia/Melbourne); America/New_York and UTC are not on that list. Optional start_date and end_date are YYYY-MM-DD in the campaign's timezone. Example: {"schedules": [{"name": "Weekdays", "timing": {"from": "09:00", "to": "17:00"}, "days": {"0": true, "1": true, "2": true, "3": true, "4": true, "5": false, "6": false}, "timezone": "America/Chicago"}], "start_date": "2026-11-01"}.
namestringrequired- Name of the campaign. Example: "Q4 SaaS founders".
allow_risky_contactsboolean- Set true to send to leads whose email verified as risky. Example: false.
bcc_listarray- Email addresses to BCC on every campaign email. Example: ["crm@acme.com"].
cc_listarray- Email addresses to CC on every campaign email. Example: ["manager@acme.com"].
daily_limitnumber- Maximum emails the campaign sends per day across all accounts. Example: 50.
daily_max_leadsinteger- Maximum new leads the campaign contacts per day. Example: 20.
disable_bounce_protectboolean- Set true to turn off Instantly's bounce protection for this campaign. Example: false.
email_gapnumber- Minutes to wait between emails sent by the campaign. Example: 10.
email_listarray- Sending account email addresses to send this campaign from. They must be accounts connected to the workspace (see instantly_accounts_list). Example: ["john@acme-mail.com", "jane@acme-mail.com"].
email_tag_listarray- Account tag IDs; every sending account with one of these tags is used. Get tag IDs from instantly_custom_tags_list. Example: ["0199a4b2-b16d-7f8c-8e75-901234567890"].
first_email_text_onlyboolean- Set true to send only the first email of the sequence as plain text. Example: true.
insert_unsubscribe_headerboolean- Set true to add a List-Unsubscribe header to emails. Example: true.
is_evergreenboolean- Set true to make the campaign evergreen so it keeps accepting and sending to new leads. Example: false.
link_trackingboolean- Set true to track link clicks. Example: false.
match_lead_espboolean- Set true to match each lead with a sending account on the same email provider (Google to Google, Microsoft to Microsoft). Example: false.
open_trackingboolean- Set true to track email opens. Example: false.
owned_bystring- User ID of the campaign owner. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
pl_valuenumber- Value assigned to each positive lead, used in analytics. Example: 500.
prioritize_new_leadsboolean- Set true to contact new leads before follow-ups. Example: false.
random_wait_maxnumber- Upper bound, in minutes, of a random extra wait added between emails. Example: 5.
sequencesarray- The email copy, as an array with exactly one sequence object (Instantly uses only the first). The sequence has a steps array; each step has type "email", a delay before the next step (delay_unit minutes, hours or days; days by default) and a variants array of one or more {subject, body} emails for A/B testing. Bodies are HTML; use <br/> for line breaks and {{firstName}}-style variables for personalization. Set v_disabled true on a variant to switch it off. Example: [{"steps": [{"type": "email", "delay": 2, "delay_unit": "days", "variants": [{"subject": "Quick question, {{firstName}}", "body": "Hi {{firstName}},<br/><br/>Are you the right person to talk to about outbound?"}]}, {"type": "email", "delay": 3, "variants": [{"subject": "Re: Quick question", "body": "Just following up."}]}]}].
stop_for_companyboolean- Set true to stop the campaign for every lead at the same company domain when one lead replies. Example: false.
stop_on_auto_replyboolean- Set true to also stop when the reply is an automatic reply such as out of office. Example: false.
stop_on_replyboolean- Set true to stop sending to a lead once they reply. Example: true.
text_onlyboolean- Set true to send every email as plain text. Example: false.
instantly_campaign_duplicateMake a copy of a campaign with its sequence and settings.WriteDuplicate Campaign
Make a copy of a campaign with its sequence and settings. Returns the new campaign. Use instantly_campaign_duplicate to reuse a working campaign as a template. Use instantly_campaign_create to start from scratch.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
namestring- Name for the copy. Defaults to the original name followed by (copy). Example: "Q4 SaaS founders - EU".
instantly_campaign_pausePause (stop) a running campaign so it sends no more emails until it is activated again.WritePause Campaign
Pause (stop) a running campaign so it sends no more emails until it is activated again. Returns the campaign with its updated status. Use instantly_campaign_pause to halt sending. Use instantly_campaign_activate to resume.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_campaign_updateUpdate a campaign's name, schedule, email sequence or sending settings.WriteUpdate Campaign
Update a campaign's name, schedule, email sequence or sending settings. Only the fields you provide change. Returns the updated campaign. Use instantly_campaign_update to edit a campaign. Use instantly_campaign_activate or instantly_campaign_pause to start or stop sending.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
allow_risky_contactsboolean- Set true to send to leads whose email verified as risky. Example: false.
bcc_listarray- Email addresses to BCC on every campaign email. Example: ["crm@acme.com"].
campaign_scheduleobject- When the campaign may send. Give a schedules array with one or more windows; each window has a name, timing.from and timing.to in 24-hour HH:MM, a days object whose keys "0" to "6" are days of the week set to true or false, and a timezone. Instantly accepts only its own list of timezone names (for example America/Chicago, America/Detroit, Europe/Helsinki, Asia/Kolkata, Australia/Melbourne); America/New_York and UTC are not on that list. Optional start_date and end_date are YYYY-MM-DD in the campaign's timezone. Example: {"schedules": [{"name": "Weekdays", "timing": {"from": "09:00", "to": "17:00"}, "days": {"0": true, "1": true, "2": true, "3": true, "4": true, "5": false, "6": false}, "timezone": "America/Chicago"}], "start_date": "2026-11-01"}. Sending this replaces the whole schedule.
cc_listarray- Email addresses to CC on every campaign email. Example: ["manager@acme.com"].
daily_limitnumber- Maximum emails the campaign sends per day across all accounts. Example: 50.
daily_max_leadsinteger- Maximum new leads the campaign contacts per day. Example: 20.
disable_bounce_protectboolean- Set true to turn off Instantly's bounce protection for this campaign. Example: false.
email_gapnumber- Minutes to wait between emails sent by the campaign. Example: 10.
email_listarray- Sending account email addresses to send this campaign from. They must be accounts connected to the workspace (see instantly_accounts_list). Example: ["john@acme-mail.com", "jane@acme-mail.com"].
email_tag_listarray- Account tag IDs; every sending account with one of these tags is used. Get tag IDs from instantly_custom_tags_list. Example: ["0199a4b2-b16d-7f8c-8e75-901234567890"].
first_email_text_onlyboolean- Set true to send only the first email of the sequence as plain text. Example: true.
insert_unsubscribe_headerboolean- Set true to add a List-Unsubscribe header to emails. Example: true.
is_evergreenboolean- Set true to make the campaign evergreen so it keeps accepting and sending to new leads. Example: false.
link_trackingboolean- Set true to track link clicks. Example: false.
match_lead_espboolean- Set true to match each lead with a sending account on the same email provider (Google to Google, Microsoft to Microsoft). Example: false.
namestring- New name of the campaign. Example: "Q4 SaaS founders v2".
open_trackingboolean- Set true to track email opens. Example: false.
owned_bystring- User ID of the campaign owner. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
pl_valuenumber- Value assigned to each positive lead, used in analytics. Example: 500.
prioritize_new_leadsboolean- Set true to contact new leads before follow-ups. Example: false.
random_wait_maxnumber- Upper bound, in minutes, of a random extra wait added between emails. Example: 5.
sequencesarray- The email copy, as an array with exactly one sequence object (Instantly uses only the first). The sequence has a steps array; each step has type "email", a delay before the next step (delay_unit minutes, hours or days; days by default) and a variants array of one or more {subject, body} emails for A/B testing. Bodies are HTML; use <br/> for line breaks and {{firstName}}-style variables for personalization. Set v_disabled true on a variant to switch it off. Example: [{"steps": [{"type": "email", "delay": 2, "delay_unit": "days", "variants": [{"subject": "Quick question, {{firstName}}", "body": "Hi {{firstName}},<br/><br/>Are you the right person to talk to about outbound?"}]}, {"type": "email", "delay": 3, "variants": [{"subject": "Re: Quick question", "body": "Just following up."}]}]}]. Sending this replaces the whole sequence.
stop_for_companyboolean- Set true to stop the campaign for every lead at the same company domain when one lead replies. Example: false.
stop_on_auto_replyboolean- Set true to also stop when the reply is an automatic reply such as out of office. Example: false.
stop_on_replyboolean- Set true to stop sending to a lead once they reply. Example: true.
text_onlyboolean- Set true to send every email as plain text. Example: false.
instantly_campaign_variables_addAdd custom variable names to a campaign so they can be used as {{variable}} in its emails and filled per lead.WriteAdd Campaign Variables
Add custom variable names to a campaign so they can be used as {{variable}} in its emails and filled per lead. Returns the updated campaign. Use instantly_campaign_variables_add before writing emails that use new variables. Set the values per lead with instantly_lead_update custom_variables.
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
variablesarrayrequired- Variable names to add. Example: ["industry", "pain_point"].
instantly_custom_tag_createCreate a custom tag for grouping sending accounts and campaigns.WriteCreate Custom Tag
Create a custom tag for grouping sending accounts and campaigns. Returns the created tag with its id. Use instantly_custom_tag_create, then attach it with instantly_custom_tags_assign.
Inputs
labelstringrequired- Tag label, unique in the workspace. Example: "EU senders".
descriptionstring- What the tag is for. Example: "Accounts on EU domains.".
instantly_custom_tag_updateRename a custom tag or change its description.WriteUpdate Custom Tag
Rename a custom tag or change its description. Returns the updated tag. Use instantly_custom_tag_update to edit a tag.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the custom tag. Get it from the id field returned by instantly_custom_tags_list. Example: "0199a4b2-b16d-7f8c-8e75-901234567890".
descriptionstring- New description. Example: "Accounts on EU domains.".
labelstring- New tag label, unique in the workspace. Example: "EU senders 2026".
instantly_email_forwardForward an existing email to other recipients from a connected sending account, optionally with the original message appended.WriteForward Email
Forward an existing email to other recipients from a connected sending account, optionally with the original message appended. Returns the sent email. Use instantly_email_forward to share a conversation. Use instantly_email_reply to answer the lead.
Inputs
eaccountstringrequired- Sending account email address to send from. It must be an account connected to the workspace (see instantly_accounts_list). Example: "john@acme-mail.com".
reply_to_uuidstringrequired- ID of the existing email, from the id field of instantly_emails_list or instantly_email_get. Example: "0199a4b2-9f4b-7d6a-8c53-7e8f90123456".
subjectstringrequired- Subject line of the forwarded email. Example: "Fwd: Quick question".
to_address_email_liststringrequired- Comma-separated recipient email addresses. Example: "ae@acme.com".
assigned_tostring- User ID to assign the lead to. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
bcc_address_email_liststring- Comma-separated email addresses to BCC. Example: "crm@acme.com".
body_htmlstring- Optional HTML note to send; it goes above the original email when include_original_body is true. Use <br/> for line breaks. Example: "FYI - warm lead below.".
body_textstring- Optional plain-text note to send. Example: "FYI - warm lead below.".
cc_address_email_liststring- Comma-separated email addresses to CC. Example: "manager@acme.com,ops@acme.com".
include_original_bodyboolean- Set true to append the original email's headers and content after your note. Defaults to false. Example: true.
reply_tostring- Reply-to address recipients should answer to. Example: "sales@acme.com".
instantly_email_replySend a reply in an existing email thread from a connected sending account.WriteReply to Email
Send a reply in an existing email thread from a connected sending account. Returns the sent email. Use instantly_email_reply to answer a lead. Use instantly_email_forward to send the email to someone else and instantly_email_test_send for a preview that is not tied to a thread.
Inputs
eaccountstringrequired- Sending account email address to send from. It must be an account connected to the workspace (see instantly_accounts_list). Example: "john@acme-mail.com".
reply_to_uuidstringrequired- ID of the existing email, from the id field of instantly_emails_list or instantly_email_get. Example: "0199a4b2-9f4b-7d6a-8c53-7e8f90123456".
subjectstringrequired- Subject line of the reply. Example: "Re: Quick question".
additional_recipientsarray- Extra recipient email addresses besides the original sender. Example: ["cto@acme.com"].
assigned_tostring- User ID to assign the lead to. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
bcc_address_email_liststring- Comma-separated email addresses to BCC. Example: "crm@acme.com".
body_htmlstring- HTML body of the email. Use <br/> for line breaks. Example: "Hi Jane,<br/><br/>Thanks for getting back to me.". Provide body_html, body_text or both.
body_textstring- Plain-text body of the email. Example: "Hi Jane, thanks for getting back to me.". Provide body_html, body_text or both.
cc_address_email_liststring- Comma-separated email addresses to CC. Example: "manager@acme.com,ops@acme.com".
reminder_tsstring- ISO 8601 time to show a reminder for this email in the Unibox. Example: "2026-02-01T09:00:00Z".
instantly_email_test_sendSend a preview or test email from a connected sending account without creating a Unibox email.WriteSend Test Email
Send a preview or test email from a connected sending account without creating a Unibox email. Limited to 10 requests per minute per workspace. Returns an empty success response. Use instantly_email_test_send to check how an email renders. Use instantly_email_reply to answer a real thread.
Inputs
body_htmlstringrequired- HTML body of the test email. Use <br/> for line breaks. Example: "Hi {{firstName}},<br/><br/>Testing the copy.".
eaccountstringrequired- Sending account email address to send from. It must be an account connected to the workspace (see instantly_accounts_list). Example: "john@acme-mail.com".
subjectstringrequired- Subject line of the test email. Example: "Test: Quick question".
to_address_email_liststringrequired- Comma-separated recipients of the test email. Example: "me@acme.com".
instantly_email_thread_mark_readMark every email in a Unibox thread as read.WriteMark Thread as Read
Mark every email in a Unibox thread as read. Returns a success flag. Use instantly_email_thread_mark_read after handling a conversation. Use instantly_email_update for one email.
Inputs
thread_idstringrequired- Thread ID, from the thread_id field of instantly_emails_list. Example: "0199a4b3-06bc-7ed1-9dca-456789012345".
instantly_email_updateMark a Unibox email as read or unread, or set its reminder.WriteUpdate Email
Mark a Unibox email as read or unread, or set its reminder. Returns the updated email. Use instantly_email_update for one email. Use instantly_email_thread_mark_read to mark a whole thread read.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the email. Get it from the id field returned by instantly_emails_list. Example: "0199a4b2-9f4b-7d6a-8c53-7e8f90123456".
is_unreadnumber- 1 marks the email unread, 0 marks it read. Example: 0.one of
01 reminder_tsstring- ISO 8601 time for a Unibox reminder on this email. Example: "2026-02-01T09:00:00Z".
instantly_email_verification_createVerify whether an email address is deliverable.WriteVerify Email Address
Verify whether an email address is deliverable. Results that take over 10 seconds come back as pending. Returns the email, verification_status (pending, verified or invalid), catch_all and credits used. Use instantly_email_verification_create to start a check. Use instantly_email_verification_get to fetch a pending result.
Inputs
emailstringrequired- Email address to verify. Example: "jane@acme.com".
webhook_urlstring- URL that receives the result if verification takes longer than 10 seconds. Example: "https://example.com/hooks/verify".
instantly_lead_createCreate a single lead and optionally add it to a campaign or lead list.WriteCreate Lead
Create a single lead and optionally add it to a campaign or lead list. Returns the created lead with its id. Use instantly_lead_create for one lead. Use instantly_leads_add to import up to 1000 leads at once.
Inputs
assigned_tostring- User ID to assign the lead to. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
blocklist_idstring- Block list ID to check the lead against. Leave empty to use the workspace default block list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
campaign_idstring- Campaign to add the lead to. Use campaign_id or list_id. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
company_namestring- Lead's company name. Example: "Acme Inc".
custom_variablesobject- Custom fields for the lead as key-value pairs, usable as {{variable}} in emails. Values should be strings, numbers, booleans or null. The campaign gains these variables for all its leads. Example: {"industry": "SaaS", "seats": 40}.
emailstring- Lead's email address. Required when adding to a campaign. Example: "jane@acme.com".
first_namestring- Lead's first name. Example: "Jane".
job_titlestring- Lead's job title. Example: "Head of Sales".
last_namestring- Lead's last name. Example: "Doe".
list_idstring- Lead list to add the lead to. Use campaign_id or list_id. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
lt_interest_statusnumber- Lead interest status: 1 = Interested, 2 = Meeting Booked, 3 = Meeting Completed, 4 = Won, 0 = Out of Office, -1 = Not Interested, -2 = Wrong Person, -3 = Lost, -4 = No Show. A custom lead label's interest status value also works. Example: 1.
personalizationstring- Personalized opening line for the lead, available as the {{personalization}} variable in emails. Example: "Loved your talk at SaaStr."
phonestring- Lead's phone number. Example: "+14155550123".
pl_value_leadstring- Potential deal value of the lead. Example: "1500".
skip_if_in_campaignboolean- Set true to skip the lead if it already exists in any campaign. Example: false.
skip_if_in_listboolean- Set true to skip the lead if it already exists in any lead list. Example: false.
skip_if_in_workspaceboolean- Set true to skip the lead if it already exists anywhere in the workspace. Overrides the other skip flags. Example: true.
verify_leads_on_importboolean- Set true to verify the email address in a background job after import. Example: false.
websitestring- Lead's website. Example: "https://acme.com".
instantly_lead_interest_status_updateSet or reset a lead's interest status (for example Interested, Meeting Booked or Not Interested) by the lead's email address.WriteUpdate Lead Interest Status
Set or reset a lead's interest status (for example Interested, Meeting Booked or Not Interested) by the lead's email address. Returns a message confirming the update was accepted (HTTP 202). Use instantly_lead_interest_status_update to mark outcomes from a conversation. Use instantly_lead_update to edit other lead fields.
Inputs
interest_valuenumberrequired- New interest status: 1 = Interested, 2 = Meeting Booked, 3 = Meeting Completed, 4 = Won, 0 = Out of Office, -1 = Not Interested, -2 = Wrong Person, -3 = Lost, -4 = No Show. A custom lead label's interest status value also works. Send null to reset the lead to the plain Lead status. Example: 2.
lead_emailstringrequired- Email address of the lead. Example: "jane@acme.com".
ai_interest_valuenumber- AI-suggested interest value to record for the lead. Example: 1.
campaign_idstring- Limit the update to the lead in this campaign. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
disable_auto_interestboolean- Set true together with ai_interest_value to suppress Instantly's automatic handling of AI interest changes. Example: false.
list_idstring- Limit the update to the lead in this lead list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
instantly_lead_label_createCreate a custom lead label (a custom interest status) with a sentiment.WriteCreate Lead Label
Create a custom lead label (a custom interest status) with a sentiment. Returns the created label with its id and interest status value. Use instantly_lead_label_create to track outcomes beyond the built-in statuses.
Inputs
interest_status_labelstringrequired- Sentiment of the label: positive, negative or neutral. Example: "positive".one of
positivenegativeneutral labelstringrequired- Display text of the label. Example: "Asked for pricing".
descriptionstring- What the label means. Example: "Lead asked about pricing or plans.".
use_with_aiboolean- Set true to let Instantly's AI apply this label. Example: true.
instantly_lead_label_updateUpdate a custom lead label's text, sentiment, description or AI setting.WriteUpdate Lead Label
Update a custom lead label's text, sentiment, description or AI setting. Only the fields you provide change. Returns the updated label. Use instantly_lead_label_update to edit a label.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead label. Get it from the id field returned by instantly_lead_labels_list. Example: "0199a4b2-c27e-7a9d-9f86-012345678901".
descriptionstring- What the label means. Example: "Lead asked about pricing.".
interest_status_labelstring- Sentiment: positive, negative or neutral. Example: "neutral".one of
positivenegativeneutral labelstring- New display text. Example: "Pricing question".
use_with_aiboolean- Set true to let Instantly's AI apply this label. Example: false.
instantly_lead_list_createCreate a new lead list.WriteCreate Lead List
Create a new lead list. Returns the created list with its id. Use instantly_lead_list_create to hold leads outside a campaign, then add leads with instantly_leads_add.
Inputs
namestringrequired- Name of the lead list. Example: "Conference leads 2026".
has_enrichment_taskboolean- Set true to run enrichment on every lead added to the list. Example: false.
owned_bystring- User ID of the list owner. Defaults to the user who creates it. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
instantly_lead_list_updateRename a lead list or change its owner or enrichment setting.WriteUpdate Lead List
Rename a lead list or change its owner or enrichment setting. Only the fields you provide change. Returns the updated list. Use instantly_lead_list_update to edit a list.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead list. Get it from the id field returned by instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
has_enrichment_taskboolean- Set true to run enrichment on every added lead. Example: false.
namestring- New name of the lead list. Example: "Conference leads 2026 - EU".
owned_bystring- User ID of the new owner. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
instantly_lead_subsequence_moveMove a lead into a campaign subsequence so it receives that follow-up sequence.WriteMove Lead to Subsequence
Move a lead into a campaign subsequence so it receives that follow-up sequence. Returns the updated lead. Use instantly_lead_subsequence_move to route a lead manually. Use instantly_lead_subsequence_remove to take it out.
Inputs
lead_idstringrequired- ID of the lead. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
subsequence_idstringrequired- ID of the subsequence. Get it from instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
instantly_lead_subsequence_removeRemove a lead from the subsequence it is in.WriteRemove Lead from Subsequence
Remove a lead from the subsequence it is in. Returns the updated lead. Use instantly_lead_subsequence_remove to stop a lead's subsequence emails. Use instantly_lead_subsequence_move to add a lead to one.
Inputs
lead_idstringrequired- ID of the lead. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
instantly_lead_updateUpdate a lead's profile fields, interest status, owner or custom variables.WriteUpdate Lead
Update a lead's profile fields, interest status, owner or custom variables. Only the fields you provide change. Returns the updated lead. Use instantly_lead_update to edit a lead. Use instantly_lead_interest_status_update to change interest status by email address.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead. Get it from the id field returned by instantly_leads_list. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
assigned_tostring- User ID to assign the lead to. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
company_namestring- Lead's company name. Example: "Acme Inc".
custom_variablesobject- Custom fields for the lead as key-value pairs, usable as {{variable}} in emails. Values should be strings, numbers, booleans or null. The campaign gains these variables for all its leads. Example: {"industry": "SaaS", "seats": 40}.
first_namestring- Lead's first name. Example: "Jane".
job_titlestring- Lead's job title. Example: "Head of Sales".
last_namestring- Lead's last name. Example: "Doe".
lt_interest_statusnumber- Lead interest status: 1 = Interested, 2 = Meeting Booked, 3 = Meeting Completed, 4 = Won, 0 = Out of Office, -1 = Not Interested, -2 = Wrong Person, -3 = Lost, -4 = No Show. A custom lead label's interest status value also works. Example: 1.
personalizationstring- Personalized opening line for the lead, available as the {{personalization}} variable in emails. Example: "Loved your talk at SaaStr."
phonestring- Lead's phone number. Example: "+14155550123".
pl_value_leadstring- Potential deal value of the lead. Example: "1500".
websitestring- Lead's website. Example: "https://acme.com".
instantly_leads_addAdd up to 1000 leads to a campaign or a lead list in one call, with email validation and block list and duplicate checks.WriteAdd Leads in Bulk
Add up to 1000 leads to a campaign or a lead list in one call, with email validation and block list and duplicate checks. Returns counts of leads uploaded, skipped and invalid, with the created leads. Use instantly_leads_add to import many leads. Use instantly_lead_create for a single lead.
Inputs
leadsarrayrequired- Lead objects to add (up to 1000). With campaign_id every lead needs an email; with list_id each lead needs an email, or a first name or last name together with a company name or website. Lead objects take the same profile fields as instantly_lead_create, such as email, first_name, last_name, company_name, job_title, website, personalization and custom_variables. Example: [{"email": "jane@acme.com", "first_name": "Jane", "company_name": "Acme Inc"}].
assigned_tostring- User ID to assign every imported lead to. Defaults to the campaign owner, or the requesting user for a list. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
blocklist_idstring- Block list ID to check the lead against. Leave empty to use the workspace default block list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
campaign_idstring- Campaign to add the leads to. Provide campaign_id or list_id, not both. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
list_idstring- Lead list to add the leads to. Provide campaign_id or list_id, not both. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
skip_if_in_campaignboolean- Set true to skip the lead if it already exists in any campaign. Example: false.
skip_if_in_listboolean- Set true to skip the lead if it already exists in any lead list. Example: false.
skip_if_in_workspaceboolean- Set true to skip the lead if it already exists anywhere in the workspace. Overrides the other skip flags. Example: true.
verify_leads_on_importboolean- Set true to verify the email address in a background job after import. Example: false.
instantly_leads_assignAssign leads, selected by campaign, list, IDs, search or filter, to one or more workspace users.WriteAssign Leads to Users
Assign leads, selected by campaign, list, IDs, search or filter, to one or more workspace users. Returns a status and message confirming the assignment was accepted (HTTP 202). Use instantly_leads_assign to hand leads to sales reps. Use instantly_lead_update to change one lead's owner.
Inputs
organization_user_idsarrayrequired- User IDs to assign the leads to; leads are spread across them. Example: ["0199a4b2-e49a-7cbf-9ba8-234567890123"].
campaign_idstring- Only select leads in this campaign. Get the ID from instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
filterstring- Only select leads in this state, for example FILTER_VAL_CONTACTED, FILTER_LEAD_INTERESTED, FILTER_VAL_BOUNCED or FILTER_VAL_REPLIED. Example: "FILTER_LEAD_INTERESTED".one of
FILTER_VAL_CONTACTEDFILTER_VAL_NOT_CONTACTEDFILTER_VAL_COMPLETEDFILTER_VAL_UNSUBSCRIBEDFILTER_VAL_ACTIVEFILTER_LEAD_INTERESTEDFILTER_LEAD_NOT_INTERESTEDFILTER_LEAD_MEETING_BOOKEDFILTER_LEAD_MEETING_COMPLETEDFILTER_LEAD_CLOSEDFILTER_LEAD_OUT_OF_OFFICEFILTER_LEAD_WRONG_PERSONFILTER_LEAD_LOSTFILTER_LEAD_NO_SHOWFILTER_LEAD_CUSTOM_LABEL_POSITIVEFILTER_LEAD_CUSTOM_LABEL_NEGATIVEFILTER_VAL_BOUNCEDFILTER_VAL_SKIPPEDFILTER_VAL_RISKYFILTER_VAL_INVALIDFILTER_VAL_VALIDFILTER_VAL_CATCH_ALLFILTER_VAL_NOT_VERIFIEDFILTER_VAL_IN_SUBSEQUENCEFILTER_VAL_OPENED_NO_REPLYFILTER_VAL_COMPLETED_NO_REPLYFILTER_VAL_NO_OPENSFILTER_VAL_REPLIEDFILTER_VAL_LINK_CLICKED idsarray- Specific lead IDs to select. Provide campaign_id or list_id together with this. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
limitinteger- Maximum number of leads to assign. Example: 100.
list_idstring- Only select leads in this lead list. Get the ID from instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
searchstring- Only select leads whose name or email matches this text. Example: "acme.com".
instantly_leads_mergeMerge one lead into another, so the destination lead keeps the combined record.WriteMerge Leads
Merge one lead into another, so the destination lead keeps the combined record. Returns the merged lead. Use instantly_leads_merge to clean up duplicate leads.
Inputs
destination_lead_idstringrequired- ID of the lead that remains after the merge. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9013".
lead_idstringrequired- ID of the lead to merge away. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
instantly_leads_moveMove or copy leads from a campaign or list to another campaign or list, selected by IDs, search or filter.WriteMove Leads
Move or copy leads from a campaign or list to another campaign or list, selected by IDs, search or filter. Returns a background job; poll instantly_background_job_get with its id for progress. Use instantly_leads_move to reorganize leads. Use instantly_leads_add to import new leads.
Inputs
assigned_tostring- User ID to assign the moved leads to. Example: "0199a4b2-e49a-7cbf-9ba8-234567890123".
campaign_idstring- Only select leads in this campaign. Get the ID from instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
check_duplicatesboolean- Set true to skip leads that already exist in the destination. Example: true.
check_duplicates_in_campaignsboolean- Set true to also skip leads that exist in other campaigns. Example: false.
contactsarray- Only move leads with these email addresses. Example: ["jane@acme.com"].
copy_leadsboolean- Set true to copy the leads instead of moving them. Example: false.
excluded_idsarray- Lead IDs to leave out. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
filterstring- Only select leads in this state, for example FILTER_VAL_CONTACTED, FILTER_LEAD_INTERESTED, FILTER_VAL_BOUNCED or FILTER_VAL_REPLIED. Example: "FILTER_LEAD_INTERESTED".one of
FILTER_VAL_CONTACTEDFILTER_VAL_NOT_CONTACTEDFILTER_VAL_COMPLETEDFILTER_VAL_UNSUBSCRIBEDFILTER_VAL_ACTIVEFILTER_LEAD_INTERESTEDFILTER_LEAD_NOT_INTERESTEDFILTER_LEAD_MEETING_BOOKEDFILTER_LEAD_MEETING_COMPLETEDFILTER_LEAD_CLOSEDFILTER_LEAD_OUT_OF_OFFICEFILTER_LEAD_WRONG_PERSONFILTER_LEAD_LOSTFILTER_LEAD_NO_SHOWFILTER_LEAD_CUSTOM_LABEL_POSITIVEFILTER_LEAD_CUSTOM_LABEL_NEGATIVEFILTER_VAL_BOUNCEDFILTER_VAL_SKIPPEDFILTER_VAL_RISKYFILTER_VAL_INVALIDFILTER_VAL_VALIDFILTER_VAL_CATCH_ALLFILTER_VAL_NOT_VERIFIEDFILTER_VAL_IN_SUBSEQUENCEFILTER_VAL_OPENED_NO_REPLYFILTER_VAL_COMPLETED_NO_REPLYFILTER_VAL_NO_OPENSFILTER_VAL_REPLIEDFILTER_VAL_LINK_CLICKED idsarray- Specific lead IDs to select. Provide campaign_id or list_id together with this. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
limitnumber- Maximum number of leads to move. Example: 100.
list_idstring- Only select leads in this lead list. Get the ID from instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
reset_interest_statusboolean- Set true to reset the leads' interest status in the destination; false keeps it. Example: false.
searchstring- Only select leads whose name or email matches this text. Example: "acme.com".
skip_invalid_emailsboolean- Set true to leave behind leads whose email verified as invalid or risky. Example: true.
skip_leads_in_verificationboolean- Set true to leave behind leads whose email verification is still running. Example: false.
to_campaign_idstring- Destination campaign. Provide to_campaign_id or to_list_id. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f91".
to_list_idstring- Destination lead list. Provide to_campaign_id or to_list_id. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901235".
instantly_subsequence_createCreate a subsequence on a campaign: a follow-up email sequence that leads enter when they reach a status, take an action, or reply with given text.WriteCreate Subsequence
Create a subsequence on a campaign: a follow-up email sequence that leads enter when they reach a status, take an action, or reply with given text. Returns the created subsequence with its id. Use instantly_subsequence_create to automate follow-ups by outcome. Use instantly_lead_subsequence_move to add a lead by hand.
Inputs
conditionsobjectrequired- What moves a lead into the subsequence. crm_status is a list of interest status values (1 = Interested, 2 = Meeting Booked, 3 = Meeting Completed, 4 = Won, 0 = Out of Office, -1 = Not Interested, -2 = Wrong Person, -3 = Lost, -4 = No Show, or a custom lead label's value); lead_activity is a list of 2 = email opened, 4 = link clicked, 91 = campaign completed without reply; reply_contains is text to look for in the lead's reply. Example: {"crm_status": [1, 2], "lead_activity": [91], "reply_contains": "pricing"}.
namestringrequired- Name of the subsequence. Example: "Interested - book a call".
parent_campaignstringrequired- Campaign the subsequence belongs to. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
daily_limitnumber- Daily email limit for the subsequence. Only used when daily_limit_mode is custom. Example: 30.
daily_limit_modestring- How the subsequence's daily limit works: inherit uses the parent campaign's limit, custom uses daily_limit, unlimited bypasses the campaign limit. Example: "inherit".one of
inheritcustomunlimited ignore_account_daily_limitboolean- Set true to keep sending even when the sending accounts have hit their own daily limits. Example: false.
sequencesarray- The email copy, as an array with exactly one sequence object (Instantly uses only the first). The sequence has a steps array; each step has type "email", a delay before the next step (delay_unit minutes, hours or days; days by default) and a variants array of one or more {subject, body} emails for A/B testing. Bodies are HTML; use <br/> for line breaks and {{firstName}}-style variables for personalization. Set v_disabled true on a variant to switch it off. Example: [{"steps": [{"type": "email", "delay": 2, "delay_unit": "days", "variants": [{"subject": "Quick question, {{firstName}}", "body": "Hi {{firstName}},<br/><br/>Are you the right person to talk to about outbound?"}]}, {"type": "email", "delay": 3, "variants": [{"subject": "Re: Quick question", "body": "Just following up."}]}]}]. Steps may also take pre_delay and pre_delay_unit for the wait before the first subsequence email.
subsequence_scheduleobject- When the subsequence may send. Give a schedules array with one or more windows; each window has a name, timing.from and timing.to in 24-hour HH:MM, a days object whose keys "0" to "6" are days of the week set to true or false, and a timezone. Instantly accepts only its own list of timezone names (for example America/Chicago, America/Detroit, Europe/Helsinki, Asia/Kolkata, Australia/Melbourne); America/New_York and UTC are not on that list. Optional start_date and end_date are YYYY-MM-DD in the campaign's timezone. Example: {"schedules": [{"name": "Weekdays", "timing": {"from": "09:00", "to": "17:00"}, "days": {"0": true, "1": true, "2": true, "3": true, "4": true, "5": false, "6": false}, "timezone": "America/Chicago"}], "start_date": "2026-11-01"}. Leave empty to use the parent campaign's schedule.
instantly_subsequence_duplicateCopy a subsequence, with the same trigger conditions, into a campaign.WriteDuplicate Subsequence
Copy a subsequence, with the same trigger conditions, into a campaign. Returns the new subsequence. Use instantly_subsequence_duplicate to reuse a subsequence in another campaign.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
parent_campaignstringrequired- Campaign to copy the subsequence into. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
namestring- Name of the copy. Defaults to the original name. Example: "Interested - book a call (EU)".
instantly_subsequence_pausePause a subsequence so it sends no more emails.WritePause Subsequence
Pause a subsequence so it sends no more emails. Returns the updated subsequence. Use instantly_subsequence_pause to halt it. Use instantly_subsequence_resume to restart.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
instantly_subsequence_resumeResume a paused subsequence.WriteResume Subsequence
Resume a paused subsequence. Returns the updated subsequence. Use instantly_subsequence_resume after instantly_subsequence_pause.
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
instantly_subsequence_updateUpdate a subsequence's name, trigger conditions, schedule, email steps or limits.WriteUpdate Subsequence
Update a subsequence's name, trigger conditions, schedule, email steps or limits. Only the fields you provide change. Returns the updated subsequence. Use instantly_subsequence_update to edit a subsequence. Use instantly_subsequence_pause to stop it.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
conditionsobject- What moves a lead into the subsequence. crm_status is a list of interest status values (1 = Interested, 2 = Meeting Booked, 3 = Meeting Completed, 4 = Won, 0 = Out of Office, -1 = Not Interested, -2 = Wrong Person, -3 = Lost, -4 = No Show, or a custom lead label's value); lead_activity is a list of 2 = email opened, 4 = link clicked, 91 = campaign completed without reply; reply_contains is text to look for in the lead's reply. Example: {"crm_status": [1, 2], "lead_activity": [91], "reply_contains": "pricing"}.
daily_limitnumber- Daily email limit for the subsequence. Only used when daily_limit_mode is custom. Example: 30.
daily_limit_modestring- How the subsequence's daily limit works: inherit uses the parent campaign's limit, custom uses daily_limit, unlimited bypasses the campaign limit. Example: "inherit".one of
inheritcustomunlimited ignore_account_daily_limitboolean- Set true to keep sending even when the sending accounts have hit their own daily limits. Example: false.
namestring- New name. Example: "Interested - book a call v2".
sequencesarray- The email copy, as an array with exactly one sequence object (Instantly uses only the first). The sequence has a steps array; each step has type "email", a delay before the next step (delay_unit minutes, hours or days; days by default) and a variants array of one or more {subject, body} emails for A/B testing. Bodies are HTML; use <br/> for line breaks and {{firstName}}-style variables for personalization. Set v_disabled true on a variant to switch it off. Example: [{"steps": [{"type": "email", "delay": 2, "delay_unit": "days", "variants": [{"subject": "Quick question, {{firstName}}", "body": "Hi {{firstName}},<br/><br/>Are you the right person to talk to about outbound?"}]}, {"type": "email", "delay": 3, "variants": [{"subject": "Re: Quick question", "body": "Just following up."}]}]}]. Steps may also take pre_delay and pre_delay_unit for the wait before the first subsequence email.
subsequence_scheduleobject- When the subsequence may send. Give a schedules array with one or more windows; each window has a name, timing.from and timing.to in 24-hour HH:MM, a days object whose keys "0" to "6" are days of the week set to true or false, and a timezone. Instantly accepts only its own list of timezone names (for example America/Chicago, America/Detroit, Europe/Helsinki, Asia/Kolkata, Australia/Melbourne); America/New_York and UTC are not on that list. Optional start_date and end_date are YYYY-MM-DD in the campaign's timezone. Example: {"schedules": [{"name": "Weekdays", "timing": {"from": "09:00", "to": "17:00"}, "days": {"0": true, "1": true, "2": true, "3": true, "4": true, "5": false, "6": false}, "timezone": "America/Chicago"}], "start_date": "2026-11-01"}. Leave empty to use the parent campaign's schedule.
instantly_account_deleteRemove a sending account from the workspace.DestructiveDelete Sending Account
Remove a sending account from the workspace. Returns the deleted account. Use instantly_account_delete to disconnect a mailbox for good. Use instantly_account_pause to stop it temporarily.
- Idempotent
Inputs
emailstringrequired- Email address of the sending account, as listed by instantly_accounts_list. Example: "john@acme-mail.com".
instantly_block_list_entries_deleteRemove several block list entries by ID.DestructiveDelete Block List Entries in Bulk
Remove several block list entries by ID. Returns the deleted entries. Use instantly_block_list_entries_delete for bulk removal. Use instantly_block_list_entry_delete for one.
Inputs
idsarrayrequired- Block list entry IDs to delete. Example: ["0199a4b2-d38f-7bae-8a97-123456789012"].
instantly_block_list_entry_deleteRemove one entry from the block list so the email or domain can be contacted again.DestructiveDelete Block List Entry
Remove one entry from the block list so the email or domain can be contacted again. Returns the deleted entry. Use instantly_block_list_entry_delete for one entry. Use instantly_block_list_entries_delete for several.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the block list entry. Get it from the id field returned by instantly_block_list_entries_list. Example: "0199a4b2-d38f-7bae-8a97-123456789012".
instantly_campaign_deletePermanently delete a campaign.DestructiveDelete Campaign
Permanently delete a campaign. Returns the deleted campaign. Use instantly_campaign_delete to remove a campaign for good. Use instantly_campaign_pause to stop it without deleting.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the campaign. Get it from the id field returned by instantly_campaigns_list. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
instantly_custom_tag_deleteDelete a custom tag.DestructiveDelete Custom Tag
Delete a custom tag. Returns the deleted tag. Use instantly_custom_tag_delete to remove a tag. Use instantly_custom_tags_assign with assign false to only detach it.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the custom tag. Get it from the id field returned by instantly_custom_tags_list. Example: "0199a4b2-b16d-7f8c-8e75-901234567890".
instantly_email_deleteDelete one email from the Unibox.DestructiveDelete Email
Delete one email from the Unibox. Returns the deleted email. Use instantly_email_delete to remove an email record.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the email. Get it from the id field returned by instantly_emails_list. Example: "0199a4b2-9f4b-7d6a-8c53-7e8f90123456".
instantly_lead_deletePermanently delete one lead.DestructiveDelete Lead
Permanently delete one lead. Returns the deleted lead. Use instantly_lead_delete for a single lead. Use instantly_leads_delete for many leads in a campaign or list.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead. Get it from the id field returned by instantly_leads_list. Example: "0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012".
instantly_lead_label_deleteDelete a custom lead label, optionally moving its leads and emails to another interest status.DestructiveDelete Lead Label
Delete a custom lead label, optionally moving its leads and emails to another interest status. Returns the deleted label. Use instantly_lead_label_delete to retire a label.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead label. Get it from the id field returned by instantly_lead_labels_list. Example: "0199a4b2-c27e-7a9d-9f86-012345678901".
reassigned_statusnumber- Interest status to move the label's leads and emails to, for example 1 = Interested or -1 = Not Interested. Example: 1.
instantly_lead_list_deletePermanently delete a lead list.DestructiveDelete Lead List
Permanently delete a lead list. Returns the deleted list. Use instantly_lead_list_delete to remove a list you no longer need.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the lead list. Get it from the id field returned by instantly_lead_lists_list. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
instantly_leads_deleteDelete many leads from a campaign or lead list, optionally only those with a given status or ID.DestructiveDelete Leads in Bulk
Delete many leads from a campaign or lead list, optionally only those with a given status or ID. Returns the number of leads deleted. Use instantly_leads_delete for bulk cleanup. Use instantly_lead_delete for one lead.
- Idempotent
Inputs
campaign_idstring- Campaign to delete leads from. Required unless list_id is set. Example: "0199a4b2-6c1e-7a3d-9f20-4b5c6d7e8f90".
idsarray- Only delete these lead IDs from the campaign or list. Example: ["0199a4b2-7d2f-7b4e-8a31-5c6d7e8f9012"].
limitinteger- Maximum number of leads to delete, from 1 to 10000. Leave empty to delete every matching lead. Example: 100.
list_idstring- Lead list to delete leads from. Required unless campaign_id is set. Example: "0199a4b2-8e3a-7c5f-9b42-6d7e8f901234".
statusnumber- Only delete leads with this status: 1 = Active, 2 = Paused, 3 = Completed, -1 = Bounced, -2 = Unsubscribed, -3 = Skipped. Example: -1.one of
123-1-2-3
instantly_subsequence_deletePermanently delete a subsequence.DestructiveDelete Subsequence
Permanently delete a subsequence. Returns the deleted subsequence. Use instantly_subsequence_delete to remove it. Use instantly_subsequence_pause to stop it without deleting.
- Idempotent
Inputs
idstringrequired- ID (UUID) of the subsequence. Get it from the id field returned by instantly_subsequences_list. Example: "0199a4b2-a05c-7e7b-9d64-8f9012345678".
No tools match.