- Send marketing campaigns and transactional messages through the OneSignal Dashboard or API
- Build automated email and multi-channel flows with Journeys
- Design beautiful emails with Drag & Drop or HTML Editor
- Use dynamic content & personalization to tailor content for each user
- Track performance & A/B test with detailed analytics
- Segment your audience for precise targeting
- Integrate with CRMs & tools like HubSpot, Mixpanel, Amplitude, Zapier, and more
Email setup
Before sending emails, follow our quick setup guides:Email Setup Guide
DNS configuration
Senders
Email Template Forwarding
Custom Unsubscribe Pages
Email deliverability
Good deliverability ensures your emails reach the inbox instead of spam. Learn more about steps you should take to ensure your emails are delivered and how OneSignal helps you with email deliverability:Email Deliverability
Email reputation best practices
Auto Warm Up
Google Postmaster Tools
Suppressions
Design your emails
You can create visually compelling emails with:Drag & Drop Editor
HTML Editor
Templates
Unsubscribe Links & Headers
Message Personalization
Multi-Language Messaging
Send emails
You can send email in several ways:A/B Testing
Journeys
API
Dashboard
Navigate to Messages > Email > New Email

How to send email from the OneSignal dashboard.
Choose a composition method
- Choose a composition method:
- Start from scratch with our Drag & Drop Editor or HTML Editor.
- Use pre-built designs: Templates, Previous messages.
- API parameters:
email_body
accepts HTML or usetemplate_id

Select Drag & Drop Editor, HTML Editor or use an existing Template.
Set a name and label
- API:
name
Set an audience
- Send to default segment: Defaults to all “Subscribed Users” if none set.
- Send to specific segments: Include and exclude segments explicitly. Multiple segments have an “OR” relationship; duplicate subscriptions are automatically removed.

Name, label, and audience segment selection interface
Targeting method | Dashboard | API |
---|---|---|
Segments | ✅ | ✅ |
Filters (API only) | ❌ | ✅ |
Aliases (API only) | ❌ | ✅ |
Schedule and delivery options
- Intelligent Delivery: Optimizes send times based on user activity patterns (opens, clicks from humans, not bots).
- Custom Time per User Timezone: Sends at a set time in each user’s timezone (fallback available).
- API parameter:
delayed_option
&delivery_time_of_day
- API parameter:
Sender
Set your from name, sending domain, from email address & reply-to email address. Multi-domain sending is available! See Senders. API fields:email_from_address
email_sender_domain
email_reply_to_address

Select your from name, from address and sending domain.
Subject & preheader text
Set your Subject (required) and preheader text (optional). Not all inboxes display the Preheader text.- API parameters:
email_subject
andemail_preheader
. - Supports: Emojis 👍 (may be limited by inbox provider), Message Personalization, Multi-language messaging

Edit your subject line, template and settings.

Options available when creating your message. These are the same on both Drag-and-Drop or HTML editors.
Track link clicks
Link tracking is enabled by default. Multi-link tracking is available. See Links and Deep Linking for more details.- API parameter:
disable_email_click_tracking
Send to unsubscribed users
You can enable Include sending to unsubscribed users for compliance or non-marketing emails. This means any unsubscribed email Subscriptions that fit the segments will be sent the email.- API parameter:
include_unsubscribed
Delivery schedule
When the email sends:- Immediately: Sends right now.
- Specific Time: A day and time up to 30 days in advance.
- API parameter:
send_after
- API parameter:
- Auto Warm-Up: Slowly increases volume over a period of time. Best for new senders and new sending domains.

Select and edit Auto Warm Up.
- Send to everyone at the same time: Best for urgent messages.
- Intelligent Delivery: Optimizes send times based on user activity patterns.
- API parameter:
delayed_option: last-active
- API parameter:
- Custom Time per User Timezone: Sends at a set time in each user’s timezone (fallback available).
- API parameter:
delayed_option: timezone
&delivery_time_of_day
- API parameter:

Example shows the email will start sending Jan 22nd at 10AM your time, and will be delivered to each user at 10AM in their timezones with a fallback time to UTC-8 (Pacific Time) f the email address doesn't have a timezone set.
Finalize your email
- The “start sending” time is the cutoff point for users to enter/exit the audience segments. Anyone in the audience at this time will be sent the message and it does not depend on the “per user optimization” options.
- Click Review & Send or Save as Draft to edit later.
- Explore Email Design Options & Drag and Drop Editor.
- Learn about Message Personalization.
- Manage Unsubscribe Links & Email Subscriptions or create a Custom Unsubscribe Page.