create_campaign
Create a DRAFT email campaign via a programmatic wizard. Call this tool and it will guide through the steps — no manual orchestration needed. WIZARD STEPS (handled automatically by the tool):
Call with contacts + total_contacts → tool returns engine picker (NextGen vs MyConvo)
Add campaign_type from user's click → tool returns campaign category chips (promotional, newsletter, event…)
Add campaign_category from user's click → tool returns engine-specific template gallery MyConvo: shows plain_email_templates (personal plain-text). NextGen: shows campaign_templates (HTML).
Add template_id from user's pick → tool creates the draft campaign. RULES: Reuse contacts from prior search — never re-search. Pass total_contacts from search result's total_in_crm so the user always sees the full count. Saves as DRAFT only — no emails sent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Email body (only needed for AI-generate path, not template path). | |
| name | Yes | Campaign name | |
| tone | No | Email tone — collected from user alongside campaign_description. | |
| subject | No | Subject line (only needed for AI-generate path, not template path). | |
| contacts | No | Contact objects from prior search to add as recipients. | |
| template_id | No | Template ID selected by user from wizard step 3 gallery. | |
| from_account | No | Sender email address (MyConvo only). | |
| campaign_type | No | Engine chosen by user. Omit on first call — tool will prompt. | |
| total_contacts | No | Total contact count from search result's total_in_crm. Always pass this so user sees full count. | |
| campaign_category | No | Campaign category chosen by user. Omit until user picks from wizard step 2. | |
| campaign_description | No | What the campaign is about — collected from user when no MyConvo templates found. Used to auto-generate plain-text content. |