ACTION_ID: instantly_add_to_campaign NAME: Instantly: Add Leads to a Campaign CATEGORY: Outreach CREDITS: 0 Add a lead to a campaign in Instantly. PREREQUISITE: Instantly account connection — the user must create it in the Floqer UI (Connections page); an agent cannot. Without it the action fails the row with a connection / authentication error. Confirm it exists before configuring. 1. INPUTS campaign_id (string, required) Campaign ID. The id of the campaign you want to add the lead to. Must be a valid campaign id from the user's connected Instantly workspace — the user picks this from a dropdown of their existing campaigns when configuring the action in the UI. email (email, required) Email. The email address of the lead. first_name (string, optional) First Name. The first name of the lead. last_name (string, optional) Last Name. The last name of the lead. company_name (string, optional) Company Name. The company name of the lead. personalization (string, optional) Personalization. Personalization text to merge into the email template for this lead. custom_variables (jsonArray, optional) Custom Variables. `[{name, value}]` — the values are merged into the Instantly campaign template at send time wherever it references `{{custom_variable}}` placeholders. The most common use is passing AI-generated personalized email content from upstream `llm_models` steps so every lead receives a unique email. Each item's `name` must match a `{{custom_variable}}` placeholder in the Instantly campaign template. skip_if_lead_is_in_workspace (boolean, optional) Skip if Lead is in Workspace. When `true`, skips the lead if it already exists in any campaign in the connected Instantly workspace. 2. OUTPUTS status (string) — Status. Status/Response of the request (e.g. "completed"). 3. HOW TO CONFIGURE Resolve the campaign list via Get Action Field Options: POST /api/v1/workflows/{workflow_id}/sheets/{sheet_id}/actions/{action_instance_id}/options/campaign_id (body: {}) → user's Instantly campaigns. `value` is the campaign ID. Configure Action body: { "inputs": { "campaign_id": "", "email": "{{input.email}}", "first_name": "{{input.first_name}}", "last_name": "{{input.last_name}}", "company_name": "{{input.company_name}}", "custom_variables": [ { "name": "custom_email_body", "value": "{{llm_models_1.generated_content}}" }, { "name": "custom_subject", "value": "{{llm_models_2.generated_content}}" } ], "skip_if_lead_is_in_workspace": true } } Field-by-field: - campaign_id Instantly campaign ID from the `campaign_id` options call. - email Lead's email — usually `{{input.email}}`. - first_name / last_name / company_name Lead profile fields. Optional. - personalization Free-form text passed alongside the lead. Optional. - custom_variables `[{name, value}]` merged into the campaign template's `{{custom_variable}}` placeholders at send time. The primary slot for AI-generated per-lead content from upstream `llm_models` steps. - skip_if_lead_is_in_workspace `true` to skip leads already in any campaign in this Instantly workspace. 4. WHERE IT FITS IN A WORKFLOW UPSTREAM — how leads reach this action Typically a terminal step at the end of an AI-personalization chain. The exact upstream actions depend on the user's workflow, but the minimum useful pattern is: enrich_person_linkedin_profile (gather profile context per lead) -> llm_models (one or more: generate personalized email body, subject line, opening line, etc. — each output becomes one entry in custom_variables) -> THIS ACTION THIS ACTION Adds the lead to the selected Instantly campaign and passes the AI-generated personalized content via custom_variables so Instantly can merge it into the campaign's email template at send time. Every lead in the campaign receives a uniquely personalized email. This is the terminal action — when a workflow's purpose is to send via an Instantly campaign, this is the last step. 5. WHEN TO USE - Send AI-personalized cold email at scale. Generate per-lead email body / subject / opening line with llm_models upstream, push the output through custom_variables so every lead receives a unique, personalized email from an Instantly campaign. This is the primary reason Floqer is used with Instantly. - Enroll enriched, email-verified outbound leads into an Instantly cold email sequence at the end of a discovery / enrichment workflow. - Push prospects from a CSV (or any sourced list) into an Instantly campaign for nurture. Last updated: 2026-04-28.