Instantly

Dev Tools

Run scalable cold email campaigns via Instantly.ai. Manage email accounts, build lead lists, create and activate multi-step outreach sequences, track analytics, and automate follow-ups with condition-based branching.

Install

openclaw skills install instantly-campaigns

Instantly

Instantly

Scale cold email outreach with Instantly.ai. Manage email accounts, build targeted lead lists, create multi-step sequences with condition-based branching, and monitor campaign performance with detailed analytics.

This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Instantly API access yourself.

Setup in 3 Steps

Step 1: InstallStep 2: Pair AccountStep 3: Connect Instantly
InstallPairApp-specific connection GIF coming soon

How It Works

┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐
│   OpenClaw      │────▶│   ClawLink   │────▶│  Instantly API   │
│   (User Chat)   │     │   (OAuth)    │     │   (v2.1)        │
└─────────────────┘     └──────────────┘     └──────────────────┘
         │                       │                       │
         │  1. Install Plugin  │                       │
         │  2. Pair Device   │                       │
         │  3. Connect Instantly│                     │
         │                   │  4. Secure Token      │
         │                   │  5. Proxy Requests    │
         │                   │                       │
         ▼                   ▼                       ▼
   ┌──────────┐      ┌──────────┐           ┌──────────┐
   │  SKILL   │      │ Dashboard│           │ Instantly│
   │  File    │      │ Auth     │           │ Campaigns│
   └──────────┘      └──────────┘           └──────────┘

Install

Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.

openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart

Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Instantly again."

Quick Start

# List all email accounts
clawlink_call_tool --tool "instantly_list_accounts" --params '{}'

# List campaigns
clawlink_call_tool --tool "instantly_list_campaigns" --params '{}'

# Get campaign analytics
clawlink_call_tool --tool "instantly_campaigns_analytics_overview_get" --params '{"campaign_ids": ["CAMPAIGN_ID"]}'

Authentication

All Instantly tool calls are authenticated automatically by ClawLink using the user's connected Instantly account.

No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Instantly API request on the user's behalf.

Getting Connected

  1. Install the ClawLink plugin (see Install above).
  2. Pair the plugin with clawlink_begin_pairing if it is not configured yet.
  3. Open https://claw-link.dev/dashboard?add=instantly and connect Instantly (requires an active Instantly account).
  4. Call clawlink_list_integrations to verify the connection is active.

Connection Management

List Connections

clawlink_list_integrations

Response: Returns all connected integrations. Look for instantly in the list.

Verify Connection

clawlink_list_tools --integration instantly

Response: Returns the live tool catalog for Instantly.

Reconnect

If Instantly tools are missing or the connection shows an error:

  1. Direct the user to https://claw-link.dev/dashboard?add=instantly
  2. After they confirm, call clawlink_list_integrations to verify
  3. Then call clawlink_list_tools --integration instantly

Security & Permissions

  • Access is scoped to the connected Instantly workspace only.
  • All write operations require explicit user confirmation. Before executing any campaign, lead, or sequence action, confirm the target resource and intended effect with the user.
  • Destructive actions (delete campaign, delete lead, delete webhook) are marked as high-impact and must be confirmed.
  • Email sending is rate-limited by Instantly per account limits and your workspace plan.
  • Lead enrichment and data jobs may incur additional costs based on your Instantly plan.

Tool Reference

Email Accounts & Warmup

ToolDescriptionMode
instantly_list_accountsList all email accounts in the workspace with warmup statusRead
instantly_get_account_campaign_mappingsGet campaigns mapped to a specific email accountRead
instantly_get_accounts_warmup_analyticsRetrieve warmup statistics and health scores per accountRead
instantly_get_accounts_analytics_dailyGet daily email sent counts per accountRead
instantly_enable_account_warmupEnable warm-up for one or more email accountsWrite
instantly_disable_account_warmupDisable warm-up for specific or all accountsWrite
instantly_accounts_ctd_status_getCheck Custom Tracking Domain SSL and CNAME statusRead
instantly_test_accounts_vitalsTest IMAP/SMTP connectivity and account healthRead

Campaigns

ToolDescriptionMode
instantly_list_campaignsList all campaigns with optional filters and paginationRead
instantly_get_campaignGet full campaign configuration by IDRead
instantly_get_campaign_sending_statusGet diagnostics on why a campaign may not be sendingRead
instantly_get_campaign_analyticsGet performance metrics for one or multiple campaignsRead
instantly_get_daily_campaign_analyticsGet per-day performance metrics for a campaignRead
instantly_get_campaign_steps_analyticsGet analytics broken down by sequence steps and variantsRead
instantly_campaigns_analytics_overview_getGet overview metrics (leads, emails, replies, opens, clicks)Read
instantly_create_campaignCreate a new campaign with configured settingsWrite
instantly_update_campaignUpdate campaign settings after verifying IDWrite
instantly_duplicate_campaignDuplicate an existing campaign with same configurationWrite
instantly_activate_campaignActivate or resume a paused campaignWrite
instantly_pause_campaignPause an active campaign sending operationsWrite
instantly_delete_campaignPermanently delete a campaign by IDWrite
instantly_share_campaignShare a campaign template for 7 daysWrite
instantly_export_campaignExport campaign data to JSON formatRead
instantly_campaigns_from_export_postImport a campaign from previously exported configurationWrite
instantly_count_launched_campaignsGet total count of launched campaigns in workspaceRead
instantly_search_campaigns_by_lead_emailFind campaigns containing a specific leadRead

Sequences & Subsequences

ToolDescriptionMode
instantly_get_subsequenceGet full details of a follow-up sequenceRead
instantly_get_campaign_sequencesGet all sequences for a campaign with steps and conditionsRead
instantly_create_subsequenceCreate an automated follow-up sequence for a campaignWrite
instantly_duplicate_subsequenceDuplicate an existing subsequence to another campaignWrite
instantly_update_subsequenceUpdate an existing subsequence's stepsWrite
instantly_delete_subsequencePermanently delete a subsequence by UUIDWrite
instantly_pause_subsequencePause an active campaign subsequenceWrite
instantly_resume_subsequenceResume a previously paused subsequenceWrite
instantly_remove_lead_from_subsequenceStop a lead from receiving subsequence emailsWrite

Leads & Lead Lists

ToolDescriptionMode
instantly_list_leadsList leads with optional search, status filters, and paginationRead
instantly_list_lead_listsList all lead lists with optional filteringRead
instantly_get_leadGet full lead details by UUIDRead
instantly_get_lead_listGet lead list metadata by UUIDRead
instantly_create_leadAdd an individual lead to a campaignWrite
instantly_create_lead_listCreate a new lead list for organizing contactsWrite
instantly_add_leads_bulkBulk import leads to a campaign or list with duplicate handlingWrite
instantly_move_leadsTransfer specific leads between campaignsWrite
instantly_bulk_assign_leadsBulk assign leads to organization team membersWrite
instantly_merge_leadsMerge multiple leads into a single leadWrite
instantly_delete_leadPermanently delete a lead by IDWrite
instantly_delete_lead_listPermanently delete a lead list by IDWrite

Lead Enrichment & Discovery

ToolDescriptionMode
instantly_count_leads_from_supersearchPreview how many leads match supersearch criteriaRead
instantly_create_supersearch_enrichmentCreate enrichment job for a list or campaignWrite
instantly_get_supersearch_enrichmentGet enrichment configuration and statusRead
instantly_patch_supersearch_enrichment_settingsUpdate auto-update and skip settings for enrichmentWrite
instantly_supersearch_enrichment_run_postTrigger enrichment for a list or campaignWrite
instantly_create_ai_enrichmentCreate AI-driven enrichment job for a list or campaignWrite

Block List & Suppression

ToolDescriptionMode
instantly_list_block_list_entriesList blocked emails or domains with optional filteringRead
instantly_get_block_list_entryGet details of a specific block list entry by IDRead
instantly_create_block_list_entryAdd a blocked email or domain to the blocklistWrite
instantly_update_block_list_entryModify the value of a block list entryWrite
instantly_delete_block_list_entryRemove a block list entry by IDWrite

Tags & Labels

ToolDescriptionMode
instantly_list_custom_tagsList all custom tags with optional paginationRead
instantly_get_custom_tagGet details of a specific custom tag by IDRead
instantly_get_custom_tag_mappingsGet tag mappings connecting tags to resourcesRead
instantly_create_custom_tagCreate a new custom tag for organizing resourcesWrite
instantly_update_tagUpdate a tag's name by IDWrite
instantly_delete_custom_tagPermanently delete a custom tag by IDWrite
instantly_toggle_resourceAssign or unassign custom tags to resourcesWrite

Analytics & Reporting

ToolDescriptionMode
instantly_get_audit_logsRetrieve audit log records for account activityRead
instantly_get_current_workspaceGet workspace info, plan details, and organization settingsRead
instantly_get_workspace_billing_plan_detailsGet billing plan info for various servicesRead

Email Management

ToolDescriptionMode
instantly_list_emailsList emails with optional filters and paginationRead
instantly_count_unread_emailsGet count of unread emails in inboxRead
instantly_mark_thread_as_readMark emails in a specific thread as readWrite

Webhooks

ToolDescriptionMode
instantly_list_webhooksList configured webhooks with optional filtersRead
instantly_get_webhookGet webhook configuration by IDRead
instantly_create_webhookCreate a new webhook endpoint for event notificationsWrite
instantly_patch_webhookUpdate webhook properties (name, event type, target URL)Write
instantly_delete_webhookPermanently delete a webhook by UUIDWrite
instantly_list_webhook_eventsList received webhook events with paginationRead
instantly_get_webhook_eventGet details of a specific webhook event by IDRead
instantly_get_webhook_event_typesGet all available webhook event typesRead
instantly_get_webhook_events_summaryGet aggregated webhook delivery metrics for a date rangeRead
instantly_get_webhook_events_summary_by_dateGet webhook event summaries grouped by dateRead
instantly_test_webhookSend a test payload to verify webhook is workingRead

API Keys & Administration

ToolDescriptionMode
instantly_api_keys_getList all API keys with names, scopes, and timestampsRead
instantly_create_api_keyCreate a new API key with specified permissionsWrite
instantly_delete_api_keyDelete a specific API key by IDWrite

DFY Email Accounts

ToolDescriptionMode
instantly_list_dfy_email_account_ordersList DFY email account orders with paginationRead
instantly_get_dfy_email_account_order_accountsGet accounts from DFY orders with optional passwordsRead
instantly_check_dfy_email_account_order_domainsCheck domain availability for DFY ordersRead
instantly_get_similar_dfy_email_account_order_domainsGet available domain alternatives based on a given domainRead
instantly_dfy_email_account_orders_domains_pre_warmed_upGet pre-warmed domains ready for DFY ordersRead

Inbox Placement Testing

ToolDescriptionMode
instantly_list_inbox_placement_testsList inbox placement tests with filtering and paginationRead
instantly_get_inbox_placement_testGet details for a specific inbox placement testRead
instantly_get_email_service_provider_optionsGet valid recipient_labels options for ESPsRead
instantly_create_inbox_placement_testCreate an inbox placement test with email and recipientsWrite
instantly_get_inbox_placement_analytics_stats_by_dateGet daily inbox/spam/category distribution analyticsRead
instantly_inbox_placement_analytics_deliverability_insightsGet detailed inbox vs spam percentage breakdownsRead
instantly_inbox_placement_analytics_stats_by_test_idGet aggregated inbox placement stats across multiple testsRead
instantly_list_inbox_placement_blacklist_spam_assassinGet spam and blacklist analytics from inbox placement testsRead

Custom Domain & Whitelabel

ToolDescriptionMode
instantly_set_whitelabel_domainConfigure custom whitelabel agency domain for workspaceWrite
instantly_delete_whitelabel_domainRemove whitelabel domain configuration from workspaceWrite

Lead Labels

ToolDescriptionMode
instantly_lead_labels_postCreate a custom lead label for categorizing leadsWrite
instantly_get_lead_labelGet details of a specific lead label by IDRead
instantly_patch_lead_labelUpdate an existing lead label's name or propertiesWrite
instantly_delete_lead_labelPermanently delete a lead label by IDWrite

Code Examples

List campaigns and get analytics

clawlink_call_tool --tool "instantly_list_campaigns" \
  --params '{}'

Get campaign analytics overview

clawlink_call_tool --tool "instantly_campaigns_analytics_overview_get" \
  --params '{"campaign_ids": ["CAMPAIGN_ID_1", "CAMPAIGN_ID_2"]}'

Add leads in bulk to a campaign

clawlink_call_tool --tool "instantly_add_leads_bulk" \
  --params '{"campaign_id": "CAMPAIGN_ID", "lead_emails": ["lead1@example.com", "lead2@example.com"]}'

Create a new campaign

clawlink_call_tool --tool "instantly_create_campaign" \
  --params '{"name": "Q4 Outreach", "sender_email": "sender@example.com", "track_links": true}'

Pause a campaign

clawlink_call_tool --tool "instantly_pause_campaign" \
  --params '{"campaign_id": "CAMPAIGN_ID"}'

Discovery Workflow

  1. Call clawlink_list_integrations to confirm Instantly is connected.
  2. Call clawlink_list_tools --integration instantly to see the live catalog.
  3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.
  4. If the user describes a capability but the exact tool is unclear, call clawlink_search_tools with a short query and integration instantly.
  5. If no Instantly tools appear, direct the user to https://claw-link.dev/dashboard?add=instantly.

Execution Workflow

┌─────────────────────────────────────────────────────────────┐
│  READ OPERATIONS (Safe)                                     │
│  list → get → search → describe → call                     │
│                                                             │
│  Example: List campaigns → Get analytics → Show results    │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  WRITE OPERATIONS (Require Confirmation)                     │
│  list → get → describe → preview → confirm → call           │
│                                                             │
│  Example: Preview campaign create → User approves → Execute│
└─────────────────────────────────────────────────────────────┘
  1. For unfamiliar tools, ambiguous requests, or any write action, call clawlink_describe_tool first.
  2. Use the returned guidance, schema, whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.
  3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.
  4. For writes or anything marked as requiring confirmation, call clawlink_preview_tool first.
  5. Execute with clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.
  6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.

Notes

  • Campaign creation requires at least one email account, one lead, email sequences, and schedule configured before activation.
  • Lead deduplication options are available when adding bulk leads (skip duplicates, upsert, etc.).
  • Subsequence trigger conditions include CRM status changes, lead activity, and reply keywords.
  • Custom tracking domains require SSL configuration and CNAME record setup before use.
  • API keys can be scoped with granular permissions (e.g., campaigns:read, leads:create).
  • Inbox placement tests measure deliverability across email providers with inbox vs spam vs category breakdowns.
  • Webhook events summary and date-based summaries provide aggregated delivery metrics.

Error Handling

Status / ErrorMeaning
Tool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration instantly.
Missing connectionInstantly is not connected. Direct the user to https://claw-link.dev/dashboard?add=instantly.
Permission errorThe connected account lacks permission for this operation. Check account roles in Instantly.
Campaign not foundThe campaign ID does not exist. Verify with instantly_list_campaigns.
Rate limit exceededAPI rate limit hit. Wait before retrying or reduce request frequency.
Write rejectedUser did not confirm a write action. Always confirm before executing writes.

Troubleshooting: Tools Not Visible

  1. Check that the ClawLink plugin is installed:
    openclaw plugins list
    
  2. If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
  3. If a fresh chat does not help, run:
    openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
    openclaw gateway restart
    
  4. After restart, tell the user to send /new again and retry.

Troubleshooting: Campaign Not Sending

  1. Verify the campaign has at least one email account, one lead, and sequences configured.
  2. Check campaign sending status diagnostics:
    clawlink_call_tool --tool "instantly_get_campaign_sending_status" --params '{"campaign_id": "YOUR_CAMPAIGN_ID"}'
    
  3. Ensure email accounts are not paused and warmup is enabled.
  4. Check if daily sending limits have been reached for the account.

Resources

Related Skills


Powered by ClawLink — an integration hub for OpenClaw

ClawLink Logo