Overview
The dex newsletter command manages email newsletter campaigns, including template rendering, draft creation, scheduling, sending, and subscriber imports.
Usage
dex newsletter <templates|preview|draft|test-send|schedule|send|stats|segment-estimate|import> [args]
Subcommands
Templates
List available newsletter templates.
Preview
Render and preview a newsletter template.
dex newsletter preview --template newsletter [--vars '{"k":"v"}' | --vars-file ./vars.json] [--out ./tmp/file.html] [--open true|false]
Template key to render (default: newsletter)
JSON string of template variables
Path to JSON file with template variables
Automatically open preview in browser
Draft
Manage newsletter campaign drafts.
List newsletter campaigns.dex newsletter draft list [--limit 50]
Maximum number of campaigns to list
Create a new newsletter draft.dex newsletter draft create --template newsletter [--vars ...|--vars-file ...] [--name ...] [--segment ...] [--subject ...] [--preheader ...]
Path to template variables JSON file
Campaign name (default: “Dex Newsletter YYYY-MM-DD”)
Audience segment (default: all_subscribers)
Edit an existing campaign draft.dex newsletter draft edit --id <campaignId> [--name ... --subject ... --preheader ... --segment ... --template ... --vars ... --vars-file ...]
Update template variables (JSON)
Path to updated variables file
Test Send
Send a test email to verify campaign.
Email address to send test to (or use DEX_NEWSLETTER_TEST_EMAIL env var)
Schedule
Schedule a campaign for future delivery.
dex newsletter schedule <campaignId> [--at 2026-03-01T18:00:00.000Z]
ISO 8601 timestamp for scheduled send (default: 15 minutes from now)
Send
Send campaign immediately.
dex newsletter send <campaignId>
This sends the campaign to the entire audience segment immediately. Use test-send to verify first.
Stats
Get campaign statistics.
dex newsletter stats <campaignId>
Campaign ID to get stats for
Output includes:
- Queued count
- Sent count
- Failed count
- Delivered count
- Bounced count
- Complaints
- Opens
- Clicks
Segment Estimate
Estimate audience size for a segment.
dex newsletter segment-estimate [--segment all_subscribers]
Segment name to estimate (default: all_subscribers)
Import
Import subscribers from CSV.
dex newsletter import --csv ./subscribers.csv [--source mailchimp] [--consent-mode verified]
Path to CSV file with subscriber data
Import source identifier (default: mailchimp)
Consent verification mode: verified or unverified (default: verified)
CSV should include columns: email, auth0_sub (optional), timezone (optional), tags (pipe or comma-separated), contributor (true/false), status_watcher (true/false)
Examples
Preview a template
dex newsletter preview --template newsletter --vars '{"featured_entry":"john-doe","headline":"New Season"}' --open true
Create and test a campaign
# Create draft
dex newsletter draft create --name "March Newsletter" --subject "Season 3 Announcement" --segment all_subscribers --vars-file ./vars.json
# Get campaign ID from output, then test send
dex newsletter test-send campaign-123 --to [email protected]
Schedule a campaign
dex newsletter schedule campaign-123 --at "2026-03-15T18:00:00.000Z"
Get campaign stats
dex newsletter stats campaign-123
Import subscribers
dex newsletter import --csv ./mailchimp-export.csv --source mailchimp --consent-mode verified
Template Variables
Newsletter templates support dynamic content through variables. Common variables include:
{
"featured_entry": "entry-slug",
"headline": "Newsletter Headline",
"intro_text": "Introduction paragraph",
"cta_label": "Read More",
"cta_url": "https://dex.example.com/entry/..."
}
Refer to template documentation for specific variable requirements.
Workflow
Preview template
Use dex newsletter preview to verify template rendering with your variables
Create draft
Create a campaign draft using dex newsletter draft create
Test send
Send test email to verify content: dex newsletter test-send
Estimate audience
Check segment size with dex newsletter segment-estimate
Schedule or send
Either schedule for later or send immediately
Monitor stats
Track performance using dex newsletter stats
See Also