create_campaign
Create a campaign draft that targets a segment or all subscribed contacts, optionally gated by a topic. Content can be a saved template or inline HTML with merge variables. Requires approval before sending.
Instructions
Create a campaign DRAFT (nothing sends yet — send_campaign starts the flow). Audience = segmentId (omit for all subscribed contacts), optionally gated by topicId (only contacts opted into that topic). Content = a saved templateId OR inline subject+html/text — never both. approvalRequired defaults to true: the send will park for human approval by email reply. Drafting is free on every plan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | Inline HTML body (supports {{merge}} vars incl. unsubscribe_url/preferences_url). | |
| name | Yes | Internal campaign name. | |
| text | No | Inline plain-text body. | |
| sender | No | Product/sender externalId sent as X-Drin-Sender. Required only for account-wide API keys; overrides the server's default sender. | |
| replyTo | No | Reply-To address. | |
| subject | No | Inline subject (required with inline html/text; supports {{merge}} vars). | |
| topicId | No | Preference topic gate — only contacts effectively opted in receive it. | |
| fromName | No | Display name for the From header. | |
| fromEmail | Yes | Sender address — must be on a domain verified for this product. | |
| segmentId | No | Saved segment to target. Omit for all subscribed contacts. | |
| templateId | No | Saved template id to render per recipient (XOR inline content). | |
| scheduledAt | No | ISO-8601 time to start dispatch (after approval). Omit for ASAP. | |
| throttlePerHour | No | Max recipients per hour. Omit for full speed. | |
| approvalRequired | No | Default true — the send parks in pending_approval and the account owner approves by replying APPROVE. Set false ONLY when the human has explicitly waived approval. |