How to send email with OneSignal.
Follow these steps to send emails from your OneSignal dashboard. Ensure you have completed the Email Setup process before proceeding.
For first-time users, we recommend using Email Auto Warm-Up and reviewing Email Deliverability best practices.
You can send Email with OneSignal using several options:
- OneSignal Dashboard: Demonstrated in this guide.
- Create message API Send email, push, and SMS via our server-side API.
- Journeys: Create emails, in-app messages, push notifications and SMS with a no-code visual builder.
- Integrations (e.g., HubSpot)
Requirements
Before sending emails, ensure you have:
- Completed the Email Setup.
- Understand Email deliverability including Email Acceptable Use Policy & Code of Conduct.
- Learn more about email Subscriptions.
- For new senders: Use Email Auto Warm Up.
Send email from the OneSignal dashboard
Navigate to Messages > Email > New Email

How to send email from the OneSignal dashboard.
Dashboard-only features:
- Test & Preview – Check formatting before sending.
- Dynamic Content: Personalize notifications dynamically for individual users (Dynamic Content).
- A/B Testing: Test up to 10 notification variants (A/B Testing).
- Test Devices: Send notifications to specific test users (Set Test Subscriptions).
- Auto Warm Up: Make sure to follow best practices for Email deliverability.
Select your target audience
You can target users via:
Targeting Method | Available in Dashboard | Available via API |
---|---|---|
Segments | ✅ Yes | ✅ Yes |
Filters (see Create message for details) | ❌ No | ✅ Yes |
Aliases (see Create message for details) | ❌ No | ✅ Yes |
Segments
Select Segments to target or exclude specific users:
- Send to default segment: Uses your 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 subscription are automatically removed.

Sending from the dashboard uses Segments.
Sender
Set your sender name, email & reply-to email address. Multi-domain sending available. Manage Senders in Settings > Email > Sender.
API fields:
email_from_address
email_sender_domain
email_reply_to_address

The email in which I am sending from. Multi-domain sending available.
Create your message
- Optional: Provide internal Message Name
- API parameter:
name
- API parameter:
- Choose 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

Subject and 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
Advanced settings
Common advanced features.
Track link clicks
Link tracking is enabled by default. Tracking email link clicks requires changing the URL structure to capture the event, then redirect the user back to the original URL you set. This happens almost instantly but may cause unexpected behavior with deep links depending on how you setup the link. See 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 emails or non-marketing emails. This means any unsubscribed email Subscriptions that fit the segments will be sent the email.
- API parameter:
include_unsubscribed

Options available when creating your message. These are the same on both Drag-and-Drop or HTML editors.
Delivery schedule
- Send Now or schedule up to 30 days in advance.
- API parameter:
send_after
- API parameter:
- First-time senders should use Email Auto Warm-Up.


Per-user optimization
- 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.
You're ready to send your first email!
You are all set to start sending emails! Next steps include:
- Explore Email Design Options & Drag and Drop Editor.
- Learn about Message Personalization.
- Manage Unsubscribe Links & Email Subscriptions or create a Custom Unsubscribe Page.
Updated 11 days ago