# OneSignal Reference

## Destination Information

* Accepts [identify](https://documentation.freshpaint.io/readme/setting-up-identify) calls.
* Supports [HIPAA mode](https://documentation.freshpaint.io/hipaa-mode)
* Connection Modes:

<table><thead><tr><th align="right"> </th><th data-type="checkbox">Client-side</th><th data-type="checkbox">Server-side</th></tr></thead><tbody><tr><td align="right">Web</td><td>false</td><td>true</td></tr><tr><td align="right">Mobile</td><td>false</td><td>true</td></tr><tr><td align="right">Server</td><td>false</td><td>true</td></tr></tbody></table>

## Identify

Freshpaint passes user properties to OneSignal as [Data Tags](https://documentation.onesignal.com/docs/add-user-data-tags). When Freshpaint receives user properties, it will update the Data Tags for the corresponding user in OneSignal. In OneSignal, you can create segments of your users based on their Data Tags.

When you call freshpaint.identify, Freshpaint will update an existing user in One Signal with Data Tags by calling their [Edit tags with external user id ](https://documentation.onesignal.com/reference/edit-tags-with-external-user-id)endpoint at: <https://onesignal.com/api/v1/apps/APP_ID/users/EXTERNAL_USER_ID>

{% hint style="warning" %}
Freshpaint will only update Data Tags for users that already exist in OneSignal. Freshpaint will not create new users in OneSignal. Any user you want to update with Freshpaint will have to already exist in OneSignal.
{% endhint %}

{% hint style="warning" %}
OneSignal does not support anonymous users. Data Tags will only be passed in for identified users.
{% endhint %}

## Events

OneSignal does not support events from Freshpaint as it does not have the concept of events. It will only update Data Tags which will map to user properties. You can view Data Tags for a user under Audience > Subscriptions or Users and then select the user.

<figure><img src="/files/jbVYpWfVLQUy1L9ujon3" alt=""><figcaption></figcaption></figure>

Read more about managing users in OneSignal [here](https://documentation.onesignal.com/docs/users).

## Configuration Options

### Connection Mode Settings

Only server-side connection mode is available for this destination. All events will be sent to OneSignal using Freshpaint's servers. Your website will not send data directly to OneSignal. Instead, your website will send data to Freshpaint, which is translated then sent to OneSignal.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.freshpaint.io/integrations/destinations/apps/one-signal/onesignal-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
