ACTION_ID: smartleads_add_to_campaign NAME: Smartlead: Add Leads to a Campaign CATEGORY: Outreach CREDITS: 0 Add a lead to a campaign in SmartLead. PREREQUISITE: Smartlead 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 (dynamicDropdown, required) Campaign ID. The Id of the campaign you want to add the lead to. Values from the smartleads list. ignore_global_block_list (radio, optional) Ignore Global Block List. If on, ignores leads in the global/client-level block list. ignore_unsubsribe_list (radio, optional) Ignore Unsubsribe List. If on, ignores leads who previously unsubscribed. ignore_duplicate_leads_in_other_campaigns (radio, optional) Ignore Duplicate Leads in Other Campaigns. If on, ignores leads that exist in another campaign. email (email, required) Email. The email of the lead. first_name (string, optional) First Name. last_name (string, optional) Last Name. company_name (string, optional) Company Name. phone_number (string, optional) Phone Number. website (url, optional) Website. location (string, optional) Location. linkedin_url (url, optional) LinkedIn URL. company_domain (url, optional) Company Domain. custom_fields (jsonArray, optional) Custom Fields. Any custom fields you want to add to this lead. 2. OUTPUTS status (string) — Status. 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: {}) Configure Action body: { "inputs": { "campaign_id": "", "email": "{{input.email}}", "first_name": "{{input.first_name}}", "last_name": "{{input.last_name}}", "company_name": "{{input.company_name}}", "linkedin_url": "{{input.linkedin_url}}", "company_domain": "{{input.company_domain}}", "custom_fields": [ { "name": "personalized_intro", "value": "{{llm_models_1.generated_content}}" } ], "ignore_duplicate_leads_in_other_campaigns": true } } Field-by-field: - campaign_id Smartlead campaign ID from the `campaign_id` options call. - email Lead's email — required, usually `{{input.email}}`. - first_name / last_name / company_name / phone_number / website / location / linkedin_url / company_domain Optional lead profile fields. - custom_fields `[{name, value}]` for per-lead values referenced as `{{custom_field}}` in the Smartlead campaign template — common slot for AI-generated personalized content. - ignore_global_block_list / ignore_unsubsribe_list / ignore_duplicate_leads_in_other_campaigns Boolean toggles. Set `true` to skip leads that match each filter. 4. KEY NOTES - `custom_fields` is the slot for AI-generated per-lead content from upstream `llm_models` steps — each `name` must match a `{{custom_field}}` placeholder in the Smartlead campaign template. - `ignore_*` toggles are independent and can be combined; setting `ignore_duplicate_leads_in_other_campaigns: true` is the safest default to avoid double-enrollment. 5. WHERE IT FITS IN A WORKFLOW Pattern: contact discovery -> person_work_email_waterfall -> person_work_email_verification_by_* -> llm_models -> smartleads_add_to_campaign. 6. WHEN TO USE Use smartleads_add_to_campaign to enroll leads in Smartlead campaigns. 7. WHEN NOT TO USE Need a different sender (Instantly, Lemlist, La Growth Machine, Reply, HeyReach) -> instantly_add_to_campaign, lemlist_add_lead_to_campaign, la_growth_machine_add_to_audience, reply_add_and_push_to_campaign, heyreach_add_leads_to_campaign (https://floqer.com/docs/action-detail/.txt) Need AI-generated email content -> llm_models (upstream of this action; pass the generated content via `custom_fields`) (https://floqer.com/docs/action-detail/llm_models.txt) Last updated: 2026-04-30.