Instantly integrationInstantly logo

Instantly integration for AI agents.

Instantly integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Instantly tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Instantly actions, managed and audited.

Your user connects Instantly once; your agent can then manage Instantly outbound campaigns, leads, accounts, emails, analytics, tags, and webhooks — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Instantly access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Instantly tools.

170 tools are generated from the published Instantly catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 170 tools. All published catalog entries are included in this page's server-rendered HTML.

Activate(start), or resume a campaign
Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all`
Campaign
Add campaign variables
Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all`
Campaign
Set the agency domain for the workspace
Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all`
Workspace
Add leads in bulk to a campaign or list
Adds up to 1000 leads to either a campaign or a list. You must provide a `campaign_id` or a `list_id`, but not both. The endpoint validates emails, checks against blocklists and existing leads. Requires one of the following scopes: `leads:create`, `leads:all`, `all:create`, `all:all`
Lead
Bulk assign leads to organization users
Bulk assign leads to organization users
Lead
Delete leads in bulk
Delete multiple leads from a campaign or list based on filters. You must provide either `campaign_id` or `list_id`. Optionally filter by status or specific IDs. Requires one of the following scopes: `leads:delete`, `leads:all`, `all:delete`, `all:all`
Lead
Cancel Current Workspace Removal
Requires one of the following scopes: `workspaces:delete`, `workspaces:all`, `all:delete`, `all:all`
Workspace
Cancel dfy email accounts
This endpoint will cancel the DFY email accounts based on the provided email addresses. Cancelling permanently deletes all Unibox emails and conversations associated with the cancelled accounts. This cannot be undone. Requires one of the following scopes: `dfy_email_account_orders:delete`, `dfy_email_account_orders:all`, `all:delete`, `all:all`
DFYEmailAccountOrder
Change workspace owner
Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all`
Workspace
Check domains availability
This endpoint will check the availability of the provided domains.. It will return a list of domains with their availability status. . The only supported extensions (tlds) are: .com, .org. . Domains containing trademarks of well-known companies are restricted and cannot be ordered. . Please do not abuse this endpoint and do not use it for anything other than checking availability before ordering a domain.. This request has a rate limit of 30 request per minute, or 900 requests per hour. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all`
DFYEmailAccountOrder
Check an email verification status
Requires one of the following scopes: `email_verifications:read`, `email_verifications:all`, `all:read`, `all:all`
EmailVerification
Get launched campaigns count
Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
Count leads from supersearch
Count the number of leads matching a SuperSearch query without enriching them. This endpoint is intended to estimate lead availability before running an enrichment. Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all`
SuperSearchEnrichment
Count unread emails
Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all`
Email
Create account
Requires one of the following scopes: `accounts:create`, `accounts:all`, `all:create`, `all:all`
Account
Create AI enrichment
Create an AI enrichment for a resource (list or campaign) Requires one of the following scopes: `supersearch_enrichments:create`, `supersearch_enrichments:all`, `all:create`, `all:all`
SuperSearchEnrichment
Create api key
Requires one of the following scopes: `api_keys:create`, `api_keys:all`, `all:create`, `all:all`
APIKey
Create block list entry
Requires one of the following scopes: `block_list_entries:create`, `block_list_entries:all`, `all:create`, `all:all`
BlockListEntry
Create campaign
Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all`
Campaign
Create campaign subsequence
Requires one of the following scopes: `subsequences:create`, `subsequences:all`, `all:create`, `all:all`
CampaignSubsequence
Create custom tag
Requires one of the following scopes: `custom_tags:create`, `custom_tags:all`, `all:create`, `all:all`
CustomTag
Place a DFY email account order
Place a Done-For-You (DFY) email account order for your workspace. **Order types** - `dfy`: Buy new DFY accounts on new custom domains. - `pre_warmed_up`: Buy available pre-warmed domains returned by `/dfy-email-account-orders/domains/pre-warmed-up-list`. - `extra_accounts`: Add mailboxes to domains you already ordered. All active accounts on a domain must use the same `email_provider`. **Provider limits and pricing** - `1` Google: up to 5 mailboxes per domain; per-mailbox monthly pricing. - `2` AirMail: up to 5 mailboxes per domain; per-mailbox monthly pricing. - `3` Microsoft/Outlook: exactly 50 mailboxes per new DFY domain; per-domain monthly pricing; extra-account orders are not supported. **Before ordering** - Regular DFY domains must use supported TLDs: .com, .org. - Check new-domain availability with `/dfy-email-account-orders/domains/check`. - Domains containing trademarks of well-known companies are restricted and cannot be ordered. - For pre-warmed orders, choose a domain from `/dfy-email-account-orders/domains/pre-warmed-up-list`; if none are available, use a regular `dfy` order instead. - The workspace must have an Outreach plan and a default payment method. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all`
DFYEmailAccountOrder
Create email verification
If an email takes longer than 10 seconds to verify, the endpoint will return the status as `pending`. In that case, you may use the `/email-verification/:email` endpoint to check the status of the verification job. Alternatively, you can send a `webhook_url` to receive the results instead of polling the status endpoint. Requires one of the following scopes: `email_verifications:create` Requires one of the following scopes: `email_verifications:create`, `email_verifications:all`, `all:create`, `all:all`
EmailVerification
Create campaign from shared one
Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all`
Campaign
Create inbox placement test
Requires one of the following scopes: `inbox_placement_tests:create`, `inbox_placement_tests:all`, `all:create`, `all:all`
InboxPlacementTest
Create lead
Requires one of the following scopes: `leads:create`, `leads:all`, `all:create`, `all:all`
Lead
Create lead label
Requires one of the following scopes: `lead-labels:create`, `lead-labels:all`, `all:create`, `all:all`
LeadLabel
Create lead list
Requires one of the following scopes: `lead_lists:create`, `lead_lists:all`, `all:create`, `all:all`
LeadList
Create an enrichment
Create an enrichment for a specific resource (list or campaign). This is the main endpoint for adding enrichments to resources. The enrichments are automatically run after creation.
SuperSearchEnrichment
Create webhook
Requires one of the following scopes: `webhooks:create`, `webhooks:all`, `all:create`, `all:all`
Webhook
Create workspace group member
This endpoint allows you to send an invitation for a sub workspace to join the admin workspace. The sub workspace will be added as a sub workspace of the admin workspace only if the sub workspace owner accepts the invitation. Requires one of the following scopes: `workspace_group_members:create`, `workspace_group_members:all`, `all:create`, `all:all`
WorkspaceGroupMember
Create workspace member
Requires one of the following scopes: `workspace_members:create`, `workspace_members:all`, `all:create`, `all:all`
WorkspaceMember
Bulk create block list entry
Requires one of the following scopes: `block_list_entries:create`, `block_list_entries:all`, `all:create`, `all:all`
BlockListEntry
Delete account
Requires one of the following scopes: `accounts:delete`, `accounts:all`, `all:delete`, `all:all`
Account
Delete api key
Requires one of the following scopes: `api_keys:delete`, `api_keys:all`, `all:delete`, `all:all`
APIKey
Delete block list entry
Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all`
BlockListEntry
Delete campaign
Requires one of the following scopes: `campaigns:delete`, `campaigns:all`, `all:delete`, `all:all`
Campaign
Delete campaign subsequence
Requires one of the following scopes: `subsequences:delete`, `subsequences:all`, `all:delete`, `all:all`
CampaignSubsequence
Delete custom tag
Requires one of the following scopes: `custom_tags:delete`, `custom_tags:all`, `all:delete`, `all:all`
CustomTag
Delete email
Requires one of the following scopes: `emails:delete`, `emails:all`, `all:delete`, `all:all`
Email
Delete inbox placement test
Requires one of the following scopes: `inbox_placement_tests:delete`, `inbox_placement_tests:all`, `all:delete`, `all:all`
InboxPlacementTest
Delete lead
Requires one of the following scopes: `leads:delete`, `leads:all`, `all:delete`, `all:all`
Lead
Delete lead label
Requires one of the following scopes: `lead-labels:delete`, `lead-labels:all`, `all:delete`, `all:all`
LeadLabel
Delete lead list
Requires one of the following scopes: `lead_lists:delete`, `lead_lists:all`, `all:delete`, `all:all`
LeadList
Delete phone number
Delete a specific phone number from the organization. Requires one of the following scopes: `crm_actions:delete`, `crm_actions:all`, `all:delete`, `all:all`
CRMActions
Delete webhook
Requires one of the following scopes: `webhooks:delete`, `webhooks:all`, `all:delete`, `all:all`
Webhook
Delete organization agency domain
Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all`
Workspace
Delete workspace group member
Requires one of the following scopes: `workspace_group_members:delete`, `workspace_group_members:all`, `all:delete`, `all:all`
WorkspaceGroupMember
Delete workspace member
Requires one of the following scopes: `workspace_members:delete`, `workspace_members:all`, `all:delete`, `all:all`
WorkspaceMember
Delete all block list entries
Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all`
BlockListEntry
Bulk delete block list entry
Requires one of the following scopes: `block_list_entries:delete`, `block_list_entries:all`, `all:delete`, `all:all`
BlockListEntry
Disable warmup for accounts
Initiates a background job to disable warmup for the specified accounts. The response will contain the initial background job object. You can monitor the job's progress by polling the `GET: /api/v2/background-jobs/:id` endpoint.
Account
Download all block list entries as CSV
Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all`
BlockListEntry
Duplicate campaign
Requires one of the following scopes: `campaigns:create`, `campaigns:all`, `all:create`, `all:all`
Campaign
Duplicate a subsequence
Duplicate a subsequence with the same trigger conditions Requires one of the following scopes: `subsequences:create`, `subsequences:all`, `all:create`, `all:all`
CampaignSubsequence
Enable warmup for accounts
Initiates a background job to enable warmup for the specified accounts. The response will contain the initial background job object. You can monitor the job's progress by polling the `GET: /api/v2/background-jobs/:id` endpoint.
Account
Enrich leads from supersearch
Add leads from SuperSearch to a list and enrich them. A list is automatically created if no list is provided.
SuperSearchEnrichment
Export campaign to JSON format
Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
Forward an email
Forward an existing email to another recipient. You must specify the `reply_to_uuid` field, which represents the `id` of an existing email returned by the `/emails` endpoints. By default only the provided body is sent. Set `include_original_body` to `true` to append the original email context. Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all`
Email
Generate similar available domains
This endpoint will generate a list of similar AND available domains based on the provided domain.. It will return a maximum number of 66 suggestions per extension (tld) requested.. All the returned domains will be available for order.. Domains containing trademarks of well-known companies are restricted and cannot be ordered. Requires one of the following scopes: `dfy_email_account_orders:create`, `dfy_email_account_orders:all`, `all:create`, `all:all`
DFYEmailAccountOrder
Get account
Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all`
Account
Get campaigns associated with an email
Requires one of the following scopes: `account_campaign_mappings:read`, `account_campaign_mappings:all`, `all:read`, `all:all`
AccountCampaignMapping
Get the current workspace admin workspace
Get the details of the admin workspace of the current workspace
WorkspaceGroupMember
Get AI enrichment for resource
Get the AI enrichment for a specific resource Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all`
SuperSearchEnrichment
Get background job
Requires one of the following scopes: `background-jobs:read`, `background-jobs:all`, `all:read`, `all:all`
BackgroundJob
Get block list entry
Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all`
BlockListEntry
Get campaign
Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
Get campaign(s) analytics
Get analytics for one or multiple campaigns. Specify the `id` field to get the analytics for a single campaign, or leave it empty to get the analytics for all campaigns
CampaignAnalytics
Get campaign(s) analytics overview
Get analytics overview for one or multiple campaigns. Specify the `id` field to get the analytics overview for a single campaign, or leave it empty to get the analytics overview for all campaigns. Note regarding the interest status totals (interested, meeting booked, meeting completed, closed): these are calculated based on the first occurrence of each event per contact by default. To change this behavior and calculate the totals based on all occurrences of the events, set the `expand_crm_events` parameter to `true`. Additionally, there is a 10 minute time window after you change a lead status in which the subsequent updates will NOT insert new analytics events to avoid duplicates from rapid status changes and avoid false inflation of the analytics numbers.
CampaignAnalytics
Get campaign sending status
Returns sending status data explaining why a campaign may not be sending emails or is sending slower than expected. Note: Some fields may be missing when the campaign is out of schedule. Always-present fields: campaign_id, last_updated, status, issue_tracking. Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
Get campaign steps analytics
Get campaign steps analytics
CampaignAnalytics
Get campaign subsequence
Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all`
CampaignSubsequence
Get custom tracking domain status
Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all`
Account
Get custom tag
Requires one of the following scopes: `custom_tags:read`, `custom_tags:all`, `all:read`, `all:all`
CustomTag
Get daily account analytics
Get daily account analytics showing the number of emails sent per day for each email account. Useful for tracking daily sending activity across your accounts.
AccountAnalytics
Get daily campaign analytics
Get campaign daily analytics
CampaignAnalytics
Get email
Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all`
Email
Get enrichment for resource
Get the enrichment for a specific resource
SuperSearchEnrichment
Get enrichment history
Retrieve the enrichment history for a specific resource Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all`
SuperSearchEnrichment
Get inbox placement analytics
Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all`
InboxPlacementAnalytics
Retrieve inbox placement analytics deliverability insights
Provides deliverability insights for a specific inbox placement test Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all`
InboxPlacementAnalytics
Get inbox placement analytics stats by date
Provides a time series representing the distribution of emails sent to inbox, spam, or category folders for scheduled inbox placement tests. Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all`
InboxPlacementAnalytics
Retrieve inbox placement analytics stats by test id
Provides aggregated inbox, spam and category counts for specified test IDs Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all`
InboxPlacementAnalytics
Get inbox placement blacklist and spamassassin report
Requires one of the following scopes: `inbox_placement_reports:read`, `inbox_placement_reports:all`, `all:read`, `all:all`
InboxPlacementBlacklistAndSpamAssassinReport
Get inbox placement test
Requires one of the following scopes: `inbox_placement_tests:read`, `inbox_placement_tests:all`, `all:read`, `all:all`
InboxPlacementTest
Get ESP options
Provides a list of available email service providers for inbox placement tests.
InboxPlacementTest
Get lead
Requires one of the following scopes: `leads:read`, `leads:all`, `all:read`, `all:all`
Lead
Get lead label
Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all`
LeadLabel
Get lead list
Requires one of the following scopes: `lead_lists:read`, `lead_lists:all`, `all:read`, `all:all`
LeadList
Get oauth session status
Poll this endpoint to check the OAuth session result. Works for both Google and Microsoft OAuth sessions. Returns pending while waiting, success with account details when complete, or error if something went wrong. Sessions expire after 10 minutes.
OAuth
Get subsequence sending status
Returns sending status data explaining why a subsequence may not be sending emails or is sending slower than expected. Note: Some fields may be missing when the campaign is out of schedule. Always-present fields: campaign_id, subsequence_id, last_updated, status, issue_tracking. Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all`
CampaignSubsequence
Get verification statistics for a lead list
Get verification statistics for a lead list
LeadList
Get warmup analytics
Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all`
AccountAnalytics
Get webhook
Requires one of the following scopes: `webhooks:read`, `webhooks:all`, `all:read`, `all:all`
Webhook
Get webhook event
Requires one of the following scopes: `webhook_events:read`, `webhook_events:all`, `all:read`, `all:all`
WebhookEvent
Get overview aggregates for webhook events
Get overview aggregates for webhook events including success/failure rates
WebhookEvent
Get overview aggregates for webhook events by date
Get overview aggregates for webhook events by Date for charts
WebhookEvent
Get workspace
Get your current workspace details. Note that this endpoint doesn't require any parameters. It will return the workspace based on the API key sent in the headers. Requires one of the following scopes: `workspaces:read`, `workspaces:all`, `all:read`, `all:all`
Workspace
Get organization verified agency domain information
Requires one of the following scopes: `workspaces:read`, `workspaces:all`, `all:read`, `all:all`
Workspace
Get workspace group member
Requires one of the following scopes: `workspace_group_members:read`, `workspace_group_members:all`, `all:read`, `all:all`
WorkspaceGroupMember
Get workspace member
Requires one of the following scopes: `workspace_members:read`, `workspace_members:all`, `all:read`, `all:all`
WorkspaceMember
Get workspace plan details
Requires one of the following scopes: `workspace_billing:read`, `workspace_billing:all`, `all:read`, `all:all`
WorkspaceBilling
Get workspace subscription details
Requires one of the following scopes: `workspace_billing:read`, `workspace_billing:all`, `all:read`, `all:all`
WorkspaceBilling
Initialize google oauth
Creates an OAuth session and returns the Google authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion. **Special rate limits (stricter than the standard API rate limit) to comply with upstream Google rate limits:** - 75 requests per minute per workspace - 150 requests per minute per IP If Google's upstream OAuth service is temporarily unavailable, requests may return 503.
OAuth
Initialize microsoft oauth
Creates an OAuth session and returns the Microsoft authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion. **Special rate limits (stricter than the standard API rate limit) to comply with upstream Microsoft rate limits:** - 75 requests per minute per workspace - 150 requests per minute per IP If Microsoft's upstream OAuth service is temporarily unavailable, requests may return 503.
OAuth
List account
Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all`
Account
List api key
Requires one of the following scopes: `api_keys:read`, `api_keys:all`, `all:read`, `all:all`
APIKey
List audit log
Requires one of the following scopes: `audit_logs:read`, `audit_logs:all`, `all:read`, `all:all`
AuditLog
List background job
Requires one of the following scopes: `background-jobs:read`, `background-jobs:all`, `all:read`, `all:all`
BackgroundJob
List block list entry
Requires one of the following scopes: `block_list_entries:read`, `block_list_entries:all`, `all:read`, `all:all`
BlockListEntry
List campaign
Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
List campaign subsequence
Requires one of the following scopes: `subsequences:read`, `subsequences:all`, `all:read`, `all:all`
CampaignSubsequence
List custom tag
Requires one of the following scopes: `custom_tags:read`, `custom_tags:all`, `all:read`, `all:all`
CustomTag
List custom tag mapping
Requires one of the following scopes: `custom_tag_mappings:read`, `custom_tag_mappings:all`, `all:read`, `all:all`
CustomTagMapping
List dfy email account order
Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all`
DFYEmailAccountOrder
List DFY ordered email accounts
This endpoint will return a list of DFY email accounts ordered Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all`
DFYEmailAccountOrder
List email
**Rate Limit:** This endpoint has a rate limit of 20 requests per minute, unlike other API endpoints. Requires one of the following scopes: `emails:read`, `emails:all`, `all:read`, `all:all`
Email
List inbox placement analytics
Requires one of the following scopes: `inbox_placement_analytics:read`, `inbox_placement_analytics:all`, `all:read`, `all:all`
InboxPlacementAnalytics
List inbox placement blacklist and spamassassin report
Requires one of the following scopes: `inbox_placement_reports:read`, `inbox_placement_reports:all`, `all:read`, `all:all`
InboxPlacementBlacklistAndSpamAssassinReport
List inbox placement test
Requires one of the following scopes: `inbox_placement_tests:read`, `inbox_placement_tests:all`, `all:read`, `all:all`
InboxPlacementTest
List lead label
Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all`
LeadLabel
List lead list
Requires one of the following scopes: `lead_lists:read`, `lead_lists:all`, `all:read`, `all:all`
LeadList
List leads
This endpoint is a POST endpoint, instead of GET - a deviation from the REST APIs standards we’re following because of the complex arguments it accepts, which would be too hard to express through query parameters. Results are ordered by each lead's `id` field in ascending order (or by `contact` when distinct_contacts is true) so clients can paginate chronologically by reusing the cursor returned in `next_starting_after`. Leads created on or after October 15, 2025 respect this chronological ordering; older records may appear out of sequence when sorted by ID. Requires one of the following scopes: `leads:read`, `leads:all`, `all:read`, `all:all`
Lead
List phone numbers
Retrieve all phone numbers associated with the current organization. Requires one of the following scopes: `crm_actions:read`, `crm_actions:all`, `all:read`, `all:all`
CRMActions
List webhooks
List all webhooks for the workspace with optional filters
Webhook
List webhook event
Requires one of the following scopes: `webhook_events:read`, `webhook_events:all`, `all:read`, `all:all`
WebhookEvent
List available event types
Get all available webhook event types including custom labels
Webhook
List workspace group member
Requires one of the following scopes: `workspace_group_members:read`, `workspace_group_members:all`, `all:read`, `all:all`
WorkspaceGroupMember
List workspace member
Requires one of the following scopes: `workspace_members:read`, `workspace_members:all`, `all:read`, `all:all`
WorkspaceMember
Mark an account as fixed
Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all`
Account
Mark all emails in a thread as read
Requires one of the following scopes: `emails:update`, `emails:all`, `all:update`, `all:all`
Email
Merge two leads
Merge two leads Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all`
Lead
Move accounts between workspaces
Move accounts between workspaces. IMPORTANT: this endpoint should be called ONLY with an ADMIN workspace API key (check the workspace group docs: https://developer.instantly.ai/workspace-group), and both the source and destination workspaces must have the same admin workspace.
Account
Move a lead to a subsequence
Move a lead to a subsequence Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all`
Lead
Move leads to a campaign or list
Move leads to a different campaign or list. This endpoint will return a background job that will process the move. The job will be processed in the background and the leads will be moved to the destination campaign or list. You can use the `/background-jobs/:id` endpoint to check the job status. Note: When using the `ids` parameter, you must also provide either `campaign` or `list_id` to specify which campaign or list to filter the leads from. Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all`
Lead
Patch account
Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all`
Account
Patch block list entry
Requires one of the following scopes: `block_list_entries:update`, `block_list_entries:all`, `all:update`, `all:all`
BlockListEntry
Patch campaign
Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all`
Campaign
Patch campaign subsequence
Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all`
CampaignSubsequence
Patch custom tag
Requires one of the following scopes: `custom_tags:update`, `custom_tags:all`, `all:update`, `all:all`
CustomTag
Patch email
Requires one of the following scopes: `emails:update`, `emails:all`, `all:update`, `all:all`
Email
Patch inbox placement test
Requires one of the following scopes: `inbox_placement_tests:update`, `inbox_placement_tests:all`, `all:update`, `all:all`
InboxPlacementTest
Patch lead
Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all`
Lead
Patch lead label
Requires one of the following scopes: `lead-labels:update`, `lead-labels:all`, `all:update`, `all:all`
LeadLabel
Patch lead list
Requires one of the following scopes: `lead_lists:update`, `lead_lists:all`, `all:update`, `all:all`
LeadList
Patch webhook
Requires one of the following scopes: `webhooks:update`, `webhooks:all`, `all:update`, `all:all`
Webhook
Patch workspace
Update your current workspace details. Note that this endpoint doesn't require any parameters. It will update the workspace based on the API key sent in the headers. Requires one of the following scopes: `workspaces:update`, `workspaces:all`, `all:update`, `all:all`
Workspace
Patch workspace member
Requires one of the following scopes: `workspace_members:update`, `workspace_members:all`, `all:update`, `all:all`
WorkspaceMember
Pause an account
Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all`
Account
Stop(or pause) a campaign
Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all`
Campaign
Pause a subsequence
Pause a subsequence Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all`
CampaignSubsequence
Get pre-warmed up domains
This endpoint will return a list of pre-warmed up domains available for order.<br/>These domains are set up and configured in advance, allowing for quick deployment of email services.<br/>Use this endpoint to retrieve available pre-warmed up domains before placing an order.<br/><br/><b>IMPORTANT: if the endpoint returns a list of empty domains - it's not a bug, please don't retry right away or report this as a bug - it simply means that there are no available pre-warmed up domains at the moment.</b> Requires one of the following scopes: `dfy_email_account_orders:read`, `dfy_email_account_orders:all`, `all:read`, `all:all`
DFYEmailAccountOrder
Preview leads from supersearch
Preview the leads matching a SuperSearch query without enriching them Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all`
SuperSearchEnrichment
Remove a lead from a subsequence
Remove a lead from a subsequence Requires one of the following scopes: `leads:update`, `leads:all`, `all:update`, `all:all`
Lead
Reply to an email
Send a reply to an email. This endpoint can be used to send an email only as a reply to an existing email. In order to reply to an email, please specify the `reyply_to_uuid` field, and your email will be sent as a reply to that email. The `reyply_to_uuid` field represents the `id` field of an existing email, which is being returned to you in all the `/email` endpoints Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all`
Email
Resume a paused account
Requires one of the following scopes: `accounts:update`, `accounts:all`, `all:update`, `all:all`
Account
Resume a paused subsequence
Resume a paused subsequence Requires one of the following scopes: `subsequences:update`, `subsequences:all`, `all:update`, `all:all`
CampaignSubsequence
Resume a webhook
Resume a webhook that was disabled due to repeated delivery failures Requires one of the following scopes: `webhooks:update`, `webhooks:all`, `all:update`, `all:all`
Webhook
Run enrichment for resource
Run all enrichments associated with a resource for a list of leads or for all the leads that haven't been enriched yet
SuperSearchEnrichment
Schedule Current Workspace Removal
Schedule the current workspace to be removed in 24 hours. Requires one of the following scopes: `workspaces:delete`, `workspaces:all`, `all:delete`, `all:all`
Workspace
Search campaigns by lead email
Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`
Campaign
Send a test email
Send a preview/test email without creating an email entity in Unibox. Rate limit: 10 requests per minute per workspace. Requires one of the following scopes: `emails:create`, `emails:all`, `all:create`, `all:all`
Email
Share a campaign
Share a campaign. This allows other users to create new campaigns based on this campaign. The campaign is being shared for 7 days, after which you'll have to call this endpoint again if you want to enable sharing on the campaign
Campaign
Facet keywords for a signal category
Return the top matching keyword tokens for a given signal category and keyword field, aggregated from the last 90 days of signal data. Powers the Signals filter autocomplete in the Lead Finder. Unknown (category, field) pairs return 400. Requires one of the following scopes: `supersearch_enrichments:read`, `supersearch_enrichments:all`, `all:read`, `all:all`
SuperSearchEnrichment
Test account vitals
Requires one of the following scopes: `accounts:read`, `accounts:all`, `all:read`, `all:all`
AccountAnalytics
Test AI reply label prediction
Returns the AI-predicted lead label for a reply text. This simulates how AI auto-tagging would label an incoming reply for testing custom labels and descriptions. Rate limit: 500 requests per 30 days per workspace. This rate limit applies only to this testing endpoint; live reply processing does not use this limiter. Requires one of the following scopes: `lead-labels:read`, `lead-labels:all`, `all:read`, `all:all`
LeadLabel
Test a webhook
Send a test payload to a webhook URL to verify it is working
Webhook
Assign or unassign tags to resources
This can be used for both accounts and campaigns. Please check the `resource_type` field for more information.
CustomTag
Update enrichment settings for resource
Update auto-update and skip settings for a SuperSearch enrichment tied to a specific resource Requires one of the following scopes: `supersearch_enrichments:create`, `supersearch_enrichments:all`, `all:create`, `all:all`
SuperSearchEnrichment
Update the interest status of a lead
Update the interest status of a lead
Lead
FAQ

Instantly integration, answered

How do AI agents use Instantly through Open Connector?
Your user connects Instantly once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Instantly tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Instantly MCP server?
Yes. Open Connector can serve Instantly as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Instantly actions with credentials injected server-side.
Where do Instantly credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Instantly — keep the keys.

Open source, self-hostable, with Instantly credentials that never leave your infrastructure. Run it from source today.