Overview

The OneSignal + Microsoft Fabric integration enables automatic syncing of custom events from your Fabric lakehouse or warehouse to OneSignal to trigger automated messaging campaigns and Journeys based on user behavior. Microsoft Fabric is a unified analytics platform that brings together data engineering, data science, real-time analytics, and business intelligence in a single environment.

Requirements

Microsoft Fabric

  • Microsoft Fabric capacity with workspace access
  • Service Principal with appropriate permissions
  • SQL Endpoint (Warehouse or Lakehouse) containing event data
  • External API access enabled in tenant settings

Setup

1

Create service principal in Azure

Create a new service principal for OneSignal to access your Fabric resources:
  1. Sign in to the Azure portal
  2. Navigate to Microsoft Entra ID > App registrations
  3. Click + New registration
  4. Enter name: “OneSignal Fabric Integration”
  5. Select Accounts in this organizational directory only
  6. Click Register
  7. Note the Application (client) ID and Directory (tenant) ID
  8. Under Certificates & secrets, create a new client secret
  9. Note the client secret value
2

Configure Fabric tenant settings

Enable external access for service principals:
  1. In Microsoft Fabric, click Settings > Admin portal
  2. Go to Tenant settings
  3. Under Developer settings, enable Service principals can use Fabric APIs
  4. Under OneLake settings, enable Users can access data stored in OneLake with apps external to Fabric
3

Grant workspace access

Add the service principal to your Fabric workspace:
  1. Navigate to your workspace (create shared workspace if using “My Workspace”)
  2. Click Manage Access > + Add people or groups
  3. Select your service principal
  4. Set role to Contributor
4

Get SQL endpoint

Obtain the SQL connection string for your data source:
  1. In your workspace, hover over your warehouse/lakehouse
  2. Click > Settings
  3. Copy the SQL connection string (this is your hostname)
5

Connect to OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.Select Microsoft Fabric and provide:
  • Hostname: SQL endpoint from Step 4
  • Database/Catalog: Your lakehouse or warehouse name
  • Tenant ID: Directory ID from Step 1
  • Client ID: Application ID from Step 1
  • Client Secret: Secret value from Step 1

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Example Event Table Schema

-- Example Fabric table structure
CREATE TABLE user_events (
    event_name STRING,
    user_id STRING,
    event_time TIMESTAMP,
    properties JSON,
    session_id STRING,
    device_type STRING
);

Processing Modes

SQL Query Mode

Write custom SQL queries to transform your Fabric data before syncing:
SELECT
    event_name,
    user_id,
    event_time,
    TO_JSON(STRUCT(
        session_id,
        device_type,
        product_id
    )) as properties
FROM user_events
WHERE event_time >= CURRENT_DATE - INTERVAL 7 DAYS

Table Mode

Sync entire tables or views directly from your Fabric workspace. OneSignal will automatically map columns to event fields.

Limitations

  • Requires Fabric capacity (not available on trial)
  • SQL endpoints must be accessible to external services
  • Large result sets may impact sync performance

FAQ

How do I optimize query performance?

Use partitioning and indexing in your Fabric tables. Consider creating materialized views for frequently accessed event data.

Can I sync from both lakehouses and warehouses?

Yes, OneSignal supports any Fabric resource that exposes a SQL endpoint, including lakehouses, warehouses, and SQL analytics endpoints.