mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-30 03:00:41 -04:00
- 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>
125 lines
4.4 KiB
Markdown
125 lines
4.4 KiB
Markdown
# Smartlead Campaign
|
|
<!-- MANUAL: file_description -->
|
|
Blocks for managing email outreach campaigns in SmartLead.
|
|
<!-- END MANUAL -->
|
|
|
|
## Add Lead To Campaign
|
|
|
|
### What it is
|
|
Add a lead to a campaign in SmartLead
|
|
|
|
### How it works
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
### 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
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
---
|
|
|
|
## Create Campaign
|
|
|
|
### What it is
|
|
Create a campaign in SmartLead
|
|
|
|
### How it works
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
### 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
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
---
|
|
|
|
## Save Campaign Sequences
|
|
|
|
### What it is
|
|
Save sequences within a campaign
|
|
|
|
### How it works
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
### 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
|
|
<!-- MANUAL: 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.
|
|
<!-- END MANUAL -->
|
|
|
|
---
|