- Send personalized, time-sensitive messages using live data
- Sync user attributes and message data between systems
- Use your internal system as the source of truth while leveraging OneSignal’s messaging infrastructure

Database integration
Benefits of database integration
Personalized messaging at scale Use data from your internal systems to personalize messages in real-time:- Add Tags to store user attributes in OneSignal for segmentation or content personalization.
- Pass
custom_data
in the Create message API to personalize without storing data permanently.
- Orders placed
- Subscription renewals or expirations
- Milestone achievements
- Trigger using:
- Create message API with aliases or filters to reach the right users at the right time.
- Journeys via Custom Events
external_id
as a stable cross-platform user ID and up to 10 custom aliases per user (e.g., crm_id
, facebook_id
).
Data flow
User identity structure
Useexternal_id
as your primary user identifier across systems. You can attach other aliases or identifiers for flexibility. If no global user ID exists, OneSignal/Subscription IDs can be used but require extra handling, as they are anonymous until linked.
See Users and Subscriptions for more information.
Send user data to OneSignal
Use our REST API to create and update users in real time. We also support CSV import for bulk onboarding or updates.- Create user
- Create Subscription by alias
- Update user for tag-only updates
Export data from OneSignal
To retrieve data from OneSignal:- Use Event Streams for real-time delivery and engagement events
- Access static exports via:
Send custom events to OneSignal
Send Custom Events to trigger Journeys by syncing data from your warehouse directly to OneSignal.Beta feature. Email
integrations@onesignal.com
for access.- Navigate to Data > Integrations in your OneSignal dashboard.
- Look for the Beta: Sync data from your favorite data warehouse banner.
- Click Sync Data to access the configuration for data ingestion.

Sync data from your data warehouse
1. Connect your data source
If you don’t see a data warehouse listed, or if you have questions about how to set up an integration - please let us know by emailingintegrations@onesignal.com
. We’re currently taking requests to expand our integration offerings.
2. Create your sync
- Click Add Sync
- Select Any Warehouse Table
- Choose your connected data source
- Select your schema and table
- For Google Sheets: Use the table dropdown to select specific sheets within your document.
3. Configure your destination
- Select OneSignal as connection
- Choose Custom Event as object type
- Keep Create Only as sync behavior
- Map your identifier column to OneSignal External IDs
4. Choose Your Data Fields
- Select which columns to sync to OneSignal:
- Supported types: Text, numbers, booleans, dates, times
- Usage: These fields become available for journey segmentation
- Recommendation: Sync only the fields you’ll use for targeting
5. Test and Deploy
- Test your sync to verify data flows correctly
- Add a descriptive label (can’t be changed later)
- Set your trigger: Manual, scheduled, or sequential. We recommend selecting sequential for ingesting custom events.
What Happens Next?Your custom events will appear in OneSignal’s events index, ready to use in journeys based on user behavior and data from your warehouse.
Each sync option has specific details needed to connect to your account - please reach out to us at integrations@onesignal.com with any questions about individual settings.
Where should data live: OneSignal or your database?
Decide based on the data’s purpose:What to store in OneSignal
Store data used directly for messaging
Store data used directly for messaging
Store data used directly for messaging:
external_id
and aliases- Emails (for email messaging)
- Phone numbers (for SMS)
- Lightweight user attributes as Tags
custom_data
.What to keep in your own systems
What to keep in your own systems
What to keep in your own systems
Keep data unrelated to messaging (e.g., full user profiles, transaction logs) in your own systems for performance, privacy, and control. Archive message history from OneSignal for long-term analytics or compliance.Triggering messages from your database
You can trigger messages using two approaches—choose one or both based on your use case.Use the Create message API for immediate, transactional messaging.Target users via:
external_id
- Aliases (e.g.,
crm_id
) - Email or phone number
- Transactional messages (e.g., receipts, alerts)
- Time-sensitive or personalized notifications
- Targeting individuals or groups (up to 20,000 users per call)
send_after
parameter.