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 Custom Events (currently in beta)
- 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
1
Get Materialize connection details
Sign in to the Materialize console and navigate to the Connect page to find your connection details.
2
Create App Password
In the Materialize console, create a new App Password for OneSignal to use for authentication.
3
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
)
4
Test connection
Click Test to verify the connection is working correctly.
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