[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Create an email campaign draft

> Create an email campaign draft from a template, with subject and recipients. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/privy/create_email_campaign

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Create an email campaign draft from a template, with subject and recipients.

Privy API: https://cotlet.dev/docs/api/privy.md

`POST https://cotlet.dev/api/v1/privy/email-campaigns`

Access: write.

Does what Campaigns > Send email does up to the Review step. The design is the template as saved, so a Saved Template you update each week carries the content. From name, From Email and Reply To use your Settings defaults. The draft sends nothing, reaches no one and can be deleted from the Campaigns menu, so it does not wait for your OK.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `name` | string | yes | Campaign name |
| `template` | string | yes | Name of a Privy Template or Saved Template as shown in the template picker |
| `subject_line` | string | yes | Subject line |
| `preview_text` | string | no | Preview text |
| `segment_ids` | array | yes | Segments to send to (ids from list_segments) |
| `exclude_segment_ids` | array | no | Segments to leave out |

## Request

**cURL**

```bash
curl -X POST https://cotlet.dev/api/v1/privy/email-campaigns \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Weekly picks, 27 Oct","template":"Weekly picks","subject_line":"Five picks for your weekend","preview_text":"New arrivals and one restock","segment_ids":["seg_2b11"]}'
```

**Python**

```python
result = client.call("privy", "create_email_campaign", {"name":"Weekly picks, 27 Oct","template":"Weekly picks","subject_line":"Five picks for your weekend","preview_text":"New arrivals and one restock","segment_ids":["seg_2b11"]})
```

**Node.js**

```js
const result = await cotlet.call('privy', 'create_email_campaign', {"name":"Weekly picks, 27 Oct","template":"Weekly picks","subject_line":"Five picks for your weekend","preview_text":"New arrivals and one restock","segment_ids":["seg_2b11"]});
```

**CLI**

```bash
cotlet call privy create_email_campaign --data '{"name":"Weekly picks, 27 Oct","template":"Weekly picks","subject_line":"Five picks for your weekend","preview_text":"New arrivals and one restock","segment_ids":["seg_2b11"]}'
```

## Example response

```json
{
  "campaign_id": "cmp_6c15",
  "title": "Weekly picks, 27 Oct",
  "status": "draft",
  "template": "Weekly picks",
  "subject_line": "Five picks for your weekend",
  "audience": {
    "included_segments": [
      "Engaged Contacts"
    ],
    "excluded_segments": []
  }
}
```

Previous: [Duplicate a campaign](https://cotlet.dev/docs/api/privy/duplicate_campaign.md)
Next: [Send or schedule an email campaign](https://cotlet.dev/docs/api/privy/send_email_campaign.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
