Overview
The OneSignal + Materialize integration enables automatic syncing of custom events from your Materialize streaming database to OneSignal to trigger automated messaging campaigns and Journeys based on real-time user behavior. Materialize is a PostgreSQL-compatible streaming database that maintains incrementally updated views of your data, enabling real-time analytics and event processing.Requirements
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
Materialize
- Materialize account with console access
- App Password for external tool authentication
- Materialized views or tables containing event data
- Event data accessible in your Materialize database
Setup
Get Materialize connection details
Sign in to the Materialize console and navigate to the Connect page to find your connection details.
Create App Password
In the Materialize console, create a new App Password for OneSignal to use for authentication.
Connect to OneSignal
In OneSignal, go to Data > Integrations and click Add Integration.Select Materialize and provide:
- Host: Your Materialize host name (found under External Tools in the Materialize console Connect page)
- Username: Your email address (used to sign in to Materialize)
- Password: The App Password created in Step 2
- Database: Database name (optional, defaults to
materialize)
Event data mapping
Map your to OneSignal’s custom events format:| OneSignal Field | Description | Required | |
|---|---|---|---|
name | event_name | Event identifier | Yes |
external_id | user_id | User identifier | Yes |
timestamp | event_timestamp | When event occurred | No |
properties | event_data | No |
Example Real-time Event View
Processing Modes
Materialized Views (Recommended)
Leverage Materialize’s real-time processing by syncing from materialized views that automatically update as new data arrives:SQL Query Mode
Write custom PostgreSQL-compatible queries to transform your event data:Real-time Stream Processing
Limitations
- Materialize only supports the Basic Sync Engine
- Real-time queries may consume more compute resources
- Complex joins across large datasets should be optimized
- Materialized views require ongoing cluster resources