Skip to main content

OneSignal

OneSignal is a customer engagement platform that enables businesses to send push notifications, email, SMS, and in-app messages across multiple platforms. The OneSignal connector enables you to manage push notifications, email campaigns, SMS messaging, and in-app messaging, retrieve notification history, manage users and players, and integrate customer engagement data with other systems. This connector is particularly useful for applications that need to send multi-channel notifications, track user engagement, manage customer communication, or integrate messaging data with analytics and CRM systems.

OneSignal icon

Power end-to-end data operations for your OneSignal API with Nexla. Our bi-directional OneSignal connector is purpose-built for OneSignal, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to OneSignal or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your OneSignal workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a OneSignal credential, you'll need to obtain a REST API Key and App ID from your OneSignal account. OneSignal provides API keys for programmatic access to their customer engagement platform through the OneSignal dashboard.

To obtain OneSignal API credentials:

  1. Log in to your OneSignal account at https://onesignal.com or your organization's OneSignal instance.

  2. Navigate to Settings > Keys & IDs in your OneSignal dashboard. This section contains your API keys and app identifiers.

  3. In the Keys & IDs section, locate your REST API Key. This is the API key used for authenticating REST API requests. You can use either:

    • REST API Key: For managing a specific app (recommended for most use cases)
    • User Auth Key: For managing multiple apps across your account
  4. Copy the REST API Key or User Auth Key depending on your needs. Store it securely, as you'll need it to authenticate API requests.

  5. Note your App ID. This is the unique identifier for your OneSignal app, found in the same Keys & IDs section. The App ID is required for most API requests to specify which app you're working with.

OneSignal API keys are used as Bearer tokens in the Authorization header for all API requests. The API key is sensitive information and should be kept secure. If you've lost your API key, you can view it again in the Keys & IDs section of your OneSignal dashboard. The App ID is required for most API operations to identify the specific app you're working with.

For detailed information about OneSignal API authentication and API key management, refer to the OneSignal REST API Documentation and OneSignal Accounts and Keys Guide.

Authenticate

Credentials required

Authenticate using your OneSignal REST API key

FieldRequiredSecretDescription
REST API KeyYesYesYour OneSignal REST API key from Settings > Keys & IDs
App IDYesNoYour OneSignal App ID from Settings > Keys & IDs

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – OneSignal

OneSignalCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. In the REST API Key field (or User Auth Key field if using User Auth Key authentication), enter the API key that you obtained from your OneSignal dashboard in Prerequisites. This is the secret API key used to authenticate requests to the OneSignal API.

  3. In the App ID field, enter your OneSignal App ID that you obtained from your OneSignal dashboard. This is the unique identifier for your OneSignal app and is required for most API operations.

    The API key is sensitive information and should be kept secure. If you've lost your API key, you can view it again in the Keys & IDs section of your OneSignal dashboard. API keys are used as Bearer tokens in the Authorization header for all API requests.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the OneSignal connector tile, then select the credential that will be used to connect to the OneSignal API, and click Next; or, create a new OneSignal credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common OneSignal API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Notifications

This endpoint retrieves sent notifications with optional filtering. Use this endpoint when you need to extract notification history, analyze notification performance, or track sent notifications.

  • Optionally, specify the notification kind in the Notification Kind field. This filters notifications by type (e.g., push, email, SMS). Leave empty to retrieve all notification types.

The Get Notifications endpoint uses GET requests with pagination through offset-based pagination. The endpoint automatically fetches additional pages using incrementing offset values, ensuring all notifications are retrieved. For more information about the Get Notifications endpoint, refer to the OneSignal API Documentation.

Get Users

This endpoint retrieves users/players from your OneSignal app. Use this endpoint when you need to extract user data, analyze user engagement, or integrate user information with other systems.

  • Optionally, specify the maximum number of users to return per page in the Limit field. The default value is typically 50. You can adjust this value based on your needs and API rate limits.

The Get Users endpoint uses GET requests with pagination through offset-based pagination. The endpoint automatically fetches additional pages using incrementing offset values, ensuring all users are retrieved. For more information about the Get Users endpoint, refer to the OneSignal API Documentation.

Get Segments

This endpoint retrieves all segments for your app. Use this endpoint when you need to extract segment information, analyze user segments, or integrate segment data with other systems.

  • Optionally, specify the maximum number of segments to return per page in the Limit field. The default value is typically 300. You can adjust this value based on your needs.
  • Optionally, specify the offset for pagination in the Offset field. The default value is 0.

The Get Segments endpoint uses GET requests with pagination through offset-based pagination. The endpoint automatically fetches additional pages using incrementing offset values. For more information about the Get Segments endpoint, refer to the OneSignal API Documentation.

Get Outcomes

This endpoint retrieves outcome data for your app. Use this endpoint when you need to extract outcome metrics, analyze campaign performance, or track user actions and conversions.

  • Optionally, specify outcome names in the Outcome Names field. This filters outcomes by specific outcome names.
  • Optionally, specify the outcome time range in the Outcome Time Range field. This filters outcomes by time period.
  • Optionally, specify outcome platforms in the Outcome Platforms field. This filters outcomes by platform (e.g., iOS, Android, Web).
  • Optionally, specify outcome attribution in the Outcome Attribution field. This filters outcomes by attribution type.

The Get Outcomes endpoint uses GET requests to retrieve outcome data from the OneSignal API. The endpoint supports various filters to customize the outcome data retrieved. For more information about the Get Outcomes endpoint, refer to the OneSignal API Documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

OneSignal data sources can also be manually configured to ingest data from any valid OneSignal API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

OneSignal API endpoints typically follow the pattern https://api.onesignal.com/{resource}, and require the App ID parameter in query strings or path parameters along with the REST API Key sent as a Bearer token in the Authorization header (automatically included from your credential). Common paths to data include $.notifications[*] for notifications, $.players[*] for users, and $.segments[*] for segments.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new OneSignal data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the OneSignal destination, and select the Send to Destination option from the menu. Select the OneSignal connector from the list of available destination connectors, then select the credential that will be used to connect to the OneSignal instance, and click Next; or, create a new OneSignal credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common OneSignal API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Send Notification

This endpoint sends push notifications to users. Use this endpoint when you need to send push notifications, trigger notification campaigns, or send targeted messages to user segments.

  • This endpoint accepts JSON data in the request body. The data should include notification content, target audience (segments, users, or all), and notification settings. Each record will be sent as a separate API request, as batch mode is not supported for this endpoint.
  • Ensure your data includes the required fields for OneSignal notifications, including app_id, contents, and target audience information (e.g., included_segments, include_player_ids, or filters).

This endpoint uses POST method for sending notifications. The endpoint accepts JSON data in the request body and does not support batch mode, so each record will be sent as a separate API request. For more information about the Send Notification endpoint, refer to the OneSignal API Documentation.

Create Segment

This endpoint creates a new user segment. Use this endpoint when you need to create user segments, organize users by criteria, or set up targeted messaging groups.

  • This endpoint accepts JSON data in the request body. The data should include segment name and filter criteria. Each record will be sent as a separate API request.
  • Ensure your data includes the required fields for OneSignal segments, including name and filters array with segment criteria.

This endpoint uses POST method for creating segments. The endpoint accepts JSON data in the request body and does not support batch mode. For more information about the Create Segment endpoint, refer to the OneSignal API Documentation.

Update User

This endpoint updates user properties and tags. Use this endpoint when you need to update user information, modify user tags, or sync user data with OneSignal.

  • This endpoint accepts JSON data in the request body. The data should include user properties and tags to update. The user ID must be included in the URL path or request body.
  • Ensure your data includes the user identifier and the properties or tags you want to update.

This endpoint uses PATCH method for updating users. The endpoint accepts JSON data in the request body and does not support batch mode. For more information about the Update User endpoint, refer to the OneSignal API Documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to send a sample of the data and view the response in the Endpoint Test Result panel on the right. If the test is not successful or the response is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments.

Manual configuration

OneSignal destinations can also be manually configured to send data to any valid OneSignal API endpoint, including endpoints not covered by the pre-built templates, or destinations that require custom authentication headers or request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, and request body template.

OneSignal API endpoints typically follow the pattern https://api.onesignal.com/{resource}, and require the App ID parameter in query strings or path parameters along with the REST API Key sent as a Bearer token in the Authorization header (automatically included from your credential). Content-Type is typically set to application/json for ingestion endpoints, and the default request body template {message.json} works for most OneSignal endpoints, sending the entire record as JSON.

Save & activate

Once all of the relevant settings have been completed, click the Create button in the upper right corner of the screen to save and create the new OneSignal destination. Nexla will now begin sending data to the configured endpoint according to your data flow schedule.