Files
AutoGPT/docs/integrations/smartlead/campaign.md
Nicholas Tindle c1a1767034 feat(docs): Add block documentation auto-generation system (#11707)
- Add generate_block_docs.py script that introspects block code to
generate markdown
- Support manual content preservation via <!-- MANUAL: --> markers
- Add migrate_block_docs.py to preserve existing manual content from git
HEAD
- Add CI workflow (docs-block-sync.yml) to fail if docs drift from code
- Add Claude PR review workflow (docs-claude-review.yml) for doc changes
- Add manual LLM enhancement workflow (docs-enhance.yml)
- Add GitBook configuration (.gitbook.yaml, SUMMARY.md)
- Fix non-deterministic category ordering (categories is a set)
- Add comprehensive test suite (32 tests)
- Generate docs for 444 blocks with 66 preserved manual sections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Extensively test code generation for the docs pages



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Introduces an automated documentation pipeline for blocks and
integrates it into CI.
> 
> - Adds `scripts/generate_block_docs.py` (+ tests) to introspect blocks
and generate `docs/integrations/**`, preserving `<!-- MANUAL: -->`
sections
> - New CI workflows: **docs-block-sync** (fails if docs drift),
**docs-claude-review** (AI review for block/docs PRs), and
**docs-enhance** (optional LLM improvements)
> - Updates existing Claude workflows to use `CLAUDE_CODE_OAUTH_TOKEN`
instead of `ANTHROPIC_API_KEY`
> - Improves numerous block descriptions/typos and links across backend
blocks to standardize docs output
> - Commits initial generated docs including
`docs/integrations/README.md` and many provider/category pages
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
631e53e0f6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 07:03:19 +00:00

4.4 KiB

Smartlead Campaign

Blocks for managing email outreach campaigns in SmartLead.

Add Lead To Campaign

What it is

Add a lead to a campaign in SmartLead

How it works

This block adds up to 100 leads to an existing SmartLead campaign using the SmartLead API. Each lead includes contact details and optional custom fields for personalization.

Configure upload settings to control duplicate handling and campaign status. The response includes counts for successful uploads, duplicates, and invalid entries.

Inputs

Input Description Type Required
campaign_id The ID of the campaign to add the lead to int Yes
lead_list An array of JSON objects, each representing a lead's details. Can hold max 100 leads. List[LeadInput] No
settings Settings for lead upload LeadUploadSettings No

Outputs

Output Description Type
error Error message if the lead was not added to the campaign str
campaign_id The ID of the campaign the lead was added to (passed through) int
upload_count The number of leads added to the campaign int
already_added_to_campaign The number of leads that were already added to the campaign int
duplicate_count The number of emails that were duplicates int
invalid_email_count The number of emails that were invalidly formatted int
is_lead_limit_exhausted Whether the lead limit was exhausted bool
lead_import_stopped_count The number of leads that were not added to the campaign because the lead import was stopped int

Possible use case

Lead Import: Bulk import leads from CRM exports, web forms, or enrichment services.

Campaign Automation: Automatically add qualifying leads to outreach campaigns.

Multi-Source Aggregation: Consolidate leads from multiple sources into unified campaigns.


Create Campaign

What it is

Create a campaign in SmartLead

How it works

This block creates a new email campaign in SmartLead using the SmartLead API. Provide a campaign name and the block returns the created campaign's ID and metadata.

Use the campaign ID with other SmartLead blocks to add leads, configure sequences, and manage the campaign.

Inputs

Input Description Type Required
name The name of the campaign str Yes

Outputs

Output Description Type
error Error message if the search failed str
id The ID of the created campaign int
name The name of the created campaign str
created_at The date and time the campaign was created str

Possible use case

Dynamic Campaigns: Create campaigns programmatically for different products or segments.

Workflow Automation: Spin up new outreach campaigns as part of sales or marketing workflows.

Campaign Templating: Create campaigns from templates with standardized configurations.


Save Campaign Sequences

What it is

Save sequences within a campaign

How it works

This block saves email sequences to an existing SmartLead campaign. Sequences define the email content, timing, and follow-up structure for the campaign's outreach.

Each sequence includes the email subject, body, and delay settings for automated follow-up emails.

Inputs

Input Description Type Required
campaign_id The ID of the campaign to save sequences for int Yes
sequences The sequences to save List[Sequence] No

Outputs

Output Description Type
error Error message if the sequences were not saved str
data Data from the API Dict[str, Any] | str
message Message from the API str

Possible use case

Email Automation: Define multi-step email sequences for nurturing leads.

A/B Testing: Create variant sequences to test different messaging approaches.

Campaign Configuration: Set up complete outreach flows programmatically.