
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.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Instantly
App-specific connection GIF coming soon
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ 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 the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
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."
bash
# 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"]}'
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.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for instantly in the list.
bash
clawlink_list_tools --integration instantly
Response: Returns the live tool catalog for Instantly.
If Instantly tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration instantlyToolDescriptionModeinstantly_list_accountsList all email accounts in the workspace with warmup statusReadinstantly_get_account_campaign_mappingsGet campaigns mapped to a specific email accountReadinstantly_get_accounts_warmup_analyticsRetrieve warmup statistics and health scores per accountReadinstantly_get_accounts_analytics_dailyGet daily email sent counts per accountReadinstantly_enable_account_warmupEnable warm-up for one or more email accountsWriteinstantly_disable_account_warmupDisable warm-up for specific or all accountsWriteinstantly_accounts_ctd_status_getCheck Custom Tracking Domain SSL and CNAME statusReadinstantly_test_accounts_vitalsTest IMAP/SMTP connectivity and account healthRead
ToolDescriptionModeinstantly_list_campaignsList all campaigns with optional filters and paginationReadinstantly_get_campaignGet full campaign configuration by IDReadinstantly_get_campaign_sending_statusGet diagnostics on why a campaign may not be sendingReadinstantly_get_campaign_analyticsGet performance metrics for one or multiple campaignsReadinstantly_get_daily_campaign_analyticsGet per-day performance metrics for a campaignReadinstantly_get_campaign_steps_analyticsGet analytics broken down by sequence steps and variantsReadinstantly_campaigns_analytics_overview_getGet overview metrics (leads, emails, replies, opens, clicks)Readinstantly_create_campaignCreate a new campaign with configured settingsWriteinstantly_update_campaignUpdate campaign settings after verifying IDWriteinstantly_duplicate_campaignDuplicate an existing campaign with same configurationWriteinstantly_activate_campaignActivate or resume a paused campaignWriteinstantly_pause_campaignPause an active campaign sending operationsWriteinstantly_delete_campaignPermanently delete a campaign by IDWriteinstantly_share_campaignShare a campaign template for 7 daysWriteinstantly_export_campaignExport campaign data to JSON formatReadinstantly_campaigns_from_export_postImport a campaign from previously exported configurationWriteinstantly_count_launched_campaignsGet total count of launched campaigns in workspaceReadinstantly_search_campaigns_by_lead_emailFind campaigns containing a specific leadRead
ToolDescriptionModeinstantly_get_subsequenceGet full details of a follow-up sequenceReadinstantly_get_campaign_sequencesGet all sequences for a campaign with steps and conditionsReadinstantly_create_subsequenceCreate an automated follow-up sequence for a campaignWriteinstantly_duplicate_subsequenceDuplicate an existing subsequence to another campaignWriteinstantly_update_subsequenceUpdate an existing subsequence's stepsWriteinstantly_delete_subsequencePermanently delete a subsequence by UUIDWriteinstantly_pause_subsequencePause an active campaign subsequenceWriteinstantly_resume_subsequenceResume a previously paused subsequenceWriteinstantly_remove_lead_from_subsequenceStop a lead from receiving subsequence emailsWrite
ToolDescriptionModeinstantly_list_leadsList leads with optional search, status filters, and paginationReadinstantly_list_lead_listsList all lead lists with optional filteringReadinstantly_get_leadGet full lead details by UUIDReadinstantly_get_lead_listGet lead list metadata by UUIDReadinstantly_create_leadAdd an individual lead to a campaignWriteinstantly_create_lead_listCreate a new lead list for organizing contactsWriteinstantly_add_leads_bulkBulk import leads to a campaign or list with duplicate handlingWriteinstantly_move_leadsTransfer specific leads between campaignsWriteinstantly_bulk_assign_leadsBulk assign leads to organization team membersWriteinstantly_merge_leadsMerge multiple leads into a single leadWriteinstantly_delete_leadPermanently delete a lead by IDWriteinstantly_delete_lead_listPermanently delete a lead list by IDWrite
ToolDescriptionModeinstantly_count_leads_from_supersearchPreview how many leads match supersearch criteriaReadinstantly_create_supersearch_enrichmentCreate enrichment job for a list or campaignWriteinstantly_get_supersearch_enrichmentGet enrichment configuration and statusReadinstantly_patch_supersearch_enrichment_settingsUpdate auto-update and skip settings for enrichmentWriteinstantly_supersearch_enrichment_run_postTrigger enrichment for a list or campaignWriteinstantly_create_ai_enrichmentCreate AI-driven enrichment job for a list or campaignWrite
ToolDescriptionModeinstantly_list_block_list_entriesList blocked emails or domains with optional filteringReadinstantly_get_block_list_entryGet details of a specific block list entry by IDReadinstantly_create_block_list_entryAdd a blocked email or domain to the blocklistWriteinstantly_update_block_list_entryModify the value of a block list entryWriteinstantly_delete_block_list_entryRemove a block list entry by IDWrite
ToolDescriptionModeinstantly_list_custom_tagsList all custom tags with optional paginationReadinstantly_get_custom_tagGet details of a specific custom tag by IDReadinstantly_get_custom_tag_mappingsGet tag mappings connecting tags to resourcesReadinstantly_create_custom_tagCreate a new custom tag for organizing resourcesWriteinstantly_update_tagUpdate a tag's name by IDWriteinstantly_delete_custom_tagPermanently delete a custom tag by IDWriteinstantly_toggle_resourceAssign or unassign custom tags to resourcesWrite
ToolDescriptionModeinstantly_get_audit_logsRetrieve audit log records for account activityReadinstantly_get_current_workspaceGet workspace info, plan details, and organization settingsReadinstantly_get_workspace_billing_plan_detailsGet billing plan info for various servicesRead
ToolDescriptionModeinstantly_list_emailsList emails with optional filters and paginationReadinstantly_count_unread_emailsGet count of unread emails in inboxReadinstantly_mark_thread_as_readMark emails in a specific thread as readWrite
ToolDescriptionModeinstantly_list_webhooksList configured webhooks with optional filtersReadinstantly_get_webhookGet webhook configuration by IDReadinstantly_create_webhookCreate a new webhook endpoint for event notificationsWriteinstantly_patch_webhookUpdate webhook properties (name, event type, target URL)Writeinstantly_delete_webhookPermanently delete a webhook by UUIDWriteinstantly_list_webhook_eventsList received webhook events with paginationReadinstantly_get_webhook_eventGet details of a specific webhook event by IDReadinstantly_get_webhook_event_typesGet all available webhook event typesReadinstantly_get_webhook_events_summaryGet aggregated webhook delivery metrics for a date rangeReadinstantly_get_webhook_events_summary_by_dateGet webhook event summaries grouped by dateReadinstantly_test_webhookSend a test payload to verify webhook is workingRead
ToolDescriptionModeinstantly_api_keys_getList all API keys with names, scopes, and timestampsReadinstantly_create_api_keyCreate a new API key with specified permissionsWriteinstantly_delete_api_keyDelete a specific API key by IDWrite
ToolDescriptionModeinstantly_list_dfy_email_account_ordersList DFY email account orders with paginationReadinstantly_get_dfy_email_account_order_accountsGet accounts from DFY orders with optional passwordsReadinstantly_check_dfy_email_account_order_domainsCheck domain availability for DFY ordersReadinstantly_get_similar_dfy_email_account_order_domainsGet available domain alternatives based on a given domainReadinstantly_dfy_email_account_orders_domains_pre_warmed_upGet pre-warmed domains ready for DFY ordersRead
ToolDescriptionModeinstantly_list_inbox_placement_testsList inbox placement tests with filtering and paginationReadinstantly_get_inbox_placement_testGet details for a specific inbox placement testReadinstantly_get_email_service_provider_optionsGet valid recipient_labels options for ESPsReadinstantly_create_inbox_placement_testCreate an inbox placement test with email and recipientsWriteinstantly_get_inbox_placement_analytics_stats_by_dateGet daily inbox/spam/category distribution analyticsReadinstantly_inbox_placement_analytics_deliverability_insightsGet detailed inbox vs spam percentage breakdownsReadinstantly_inbox_placement_analytics_stats_by_test_idGet aggregated inbox placement stats across multiple testsReadinstantly_list_inbox_placement_blacklist_spam_assassinGet spam and blacklist analytics from inbox placement testsRead
ToolDescriptionModeinstantly_set_whitelabel_domainConfigure custom whitelabel agency domain for workspaceWriteinstantly_delete_whitelabel_domainRemove whitelabel domain configuration from workspaceWrite
ToolDescriptionModeinstantly_lead_labels_postCreate a custom lead label for categorizing leadsWriteinstantly_get_lead_labelGet details of a specific lead label by IDReadinstantly_patch_lead_labelUpdate an existing lead label's name or propertiesWriteinstantly_delete_lead_labelPermanently delete a lead label by IDWrite
bash
clawlink_call_tool --tool "instantly_list_campaigns" \
--params '{}'
bash
clawlink_call_tool --tool "instantly_campaigns_analytics_overview_get" \
--params '{"campaign_ids": ["CAMPAIGN_ID_1", "CAMPAIGN_ID_2"]}'
bash
clawlink_call_tool --tool "instantly_add_leads_bulk" \
--params '{"campaign_id": "CAMPAIGN_ID", "lead_emails": ["lead1@example.com", "lead2@example.com"]}'
bash
clawlink_call_tool --tool "instantly_create_campaign" \
--params '{"name": "Q4 Outreach", "sender_email": "sender@example.com", "track_links": true}'
bash
clawlink_call_tool --tool "instantly_pause_campaign" \
--params '{"campaign_id": "CAMPAIGN_ID"}'
clawlink_list_integrations to confirm Instantly is connected.clawlink_list_tools --integration instantly to see the live catalog.clawlink_search_tools with a short query and integration instantly.text
┌─────────────────────────────────────────────────────────────┐
│ 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│
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.campaigns:read, leads:create).Status / ErrorMeaningTool 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.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
Verify the campaign has at least one email account, one lead, and sequences configured.
Check campaign sending status diagnostics: bash
clawlink_call_tool --tool "instantly_get_campaign_sending_status" --params '{"campaign_id": "YOUR_CAMPAIGN_ID"}'
Ensure email accounts are not paused and warmup is enabled.
Check if daily sending limits have been reached for the account.
Powered by ClawLink — an integration hub for OpenClaw
