Connecting OneSignal to your internal systems like a database, CRM, or data management platform (DMP) unlocks powerful capabilities for real-time, personalized, and scalable messaging. Whether you’re using Salesforce, a custom user system, or another platform, integration enables you to:

  • Send personalized, time-sensitive notifications 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

This guide walks through common use cases, integration methods, and setup best practices.


Benefits of database integration


Data flow: OneSignal ↔ your database

User identity structure

Use external_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.

Sending data to OneSignal

There are two primary ways to sync user data into OneSignal

Exporting data from OneSignal

To retrieve data from OneSignal:


Where should data live: OneSignal vs. your database?

Decide based on the data’s purpose:

What to store in OneSignal


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

Best for:

  • Transactional messages (e.g., receipts, alerts)
  • Time-sensitive or personalized notifications
  • Targeting individuals or groups (up to 20,000 users per call)

You can also schedule messages using the send_after parameter.