> For the complete documentation index, see [llms.txt](https://documentation.freshpaint.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.freshpaint.io/integrations/destinations/apps/one-signal/onesignal-reference.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
