# Xtremepush (Actions) Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Xtremepush (Actions)** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.
* This destination is **Beta.**

> \[!NOTE]
>
> This page is about the Xtremepush (Actions) Destination. See below for information about other versions of the Xtremepush destination:
>
> * [Xtremepush Destination](/docs/segment/connections/destinations/catalog/xtremepush/)

[Xtremepush](https://xtremepush.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) is a complete digital engagement platform that empowers global brands to create personalized, real-time experiences for their customers across mobile, web, email, SMS and social. Xtremepush's clients are increasing revenue through data-driven, contextually-relevant interactions. The software is flexible, reliable and quick to deploy, backed up by a team of expert strategists and technical support.

This destination is maintained by Xtremepush. For any issues with the destination, [contact the Xtremepush Support team](mailto:support@xtremepush.com).

## Benefits of Xtremepush (Actions) vs Xtremepush Classic

Xtremepush (Actions) provides the following benefits over the classic Xtremepush destination:

* **Easier setup**: Users see fewer initial settings which can decrease the time spent configuring the destination.
* **Increased transparency**: Users can see both the exact data that is sent to the destination and the time that Segment sent it.
* **Improved customization**: Users can determine how the events their sources trigger map to actions supported by the Xtremepush (Actions) destination.

## Getting started

1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) search for "Xtremepush".
2. Select **Xtremepush (Actions)** and click **Add destination**.
3. Select an existing Source to connect to **Xtremepush (Actions)**, and click **Next**.
4. Enter a name for your Xtremepush (Actions) destination and click **Create destination**.
5. From the Segment destinations settings page, enter the "API Key" and "API Endpoint". You can find these values in your Xtremepush Project under *Settings > Integrations* as described in the [Xtremepush Segment integration user guide](https://docs.xtremepush.com/docs/segment).

## Destination Settings

| Field   | Description                                                                         | Required | Type     |
| ------- | ----------------------------------------------------------------------------------- | -------- | -------- |
| API Key | Auth token for API can be found on the Xtremepush integration overview page         | Yes      | password |
| URL     | Xtremepush integration URL can be found on the Xtremepush integration overview page | Yes      | string   |

## Available Presets

Xtremepush (Actions) has the following presets

| Preset Name            | Trigger                 | Default Action |
| ---------------------- | ----------------------- | -------------- |
| Send Analytics Events  | Event type = "track"    | Track          |
| Send User Profile Data | Event type = "identify" | Identify       |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Xtremepush-supported actions:

> \[!NOTE]
>
> Individual destination instances have support a maximum of 50 mappings.

* [Track](#track-3)
* [Identify](#identify-4)

### Track

Send Analytics Events to XtremePush

Track is a **Cloud** action. The default Trigger is `type = "track"`

| Field            | Description                                  | Required | Type   |
| ---------------- | -------------------------------------------- | -------- | ------ |
| Event type       | The type of the event                        | Yes      | STRING |
| Identifiers      | The unique identifiers for the user          | No       | OBJECT |
| Event Name       | The name of the Segment track() event.       | Yes      | STRING |
| Event Properties | The properties of the Segment track() event. | No       | OBJECT |
| Timestamp        | The timestamp of the event.                  | Yes      | STRING |
| Message ID       | The message ID of the event.                 | Yes      | STRING |

### Identify

Send User Profile Data to XtremePush

Identify is a **Cloud** action. The default Trigger is `type = "identify"`

| Field           | Description                            | Required | Type   |
| --------------- | -------------------------------------- | -------- | ------ |
| Event type      | The type of the event                  | Yes      | STRING |
| Identifiers     | The unique identifiers for the user    | No       | OBJECT |
| User Attributes | Attributes assocatiated with the user. | No       | OBJECT |
| Timestamp       | The timestamp of the event.            | Yes      | STRING |
| Message ID      | The message ID of the event.           | Yes      | STRING |

## Identify

If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/segment/connections/spec/identify/) does. An example call would look like:

```text
analytics.identify('userId123', {
  email: 'john.doe@example.com',
  phone: '1234567890',
  firstName: 'John'
});
```

When you identify a user, Segment passes that user's information to Xtremepush and creates a new user, if no profile exists with that `user_id`, or updates an existing profile if the `user_id` already exists.

Some user traits are also passed as additional user identifiers:

| Segment Trait | Xtremepush User Identifier |
| ------------- | -------------------------- |
| email         | email                      |
| phone         | mobile\_number             |

For any additional traits you want to save, create [User Profile Attributes](https://docs.xtremepush.com/docs/attributes-tags) in your Xtremepush Project.

If a trait does not match a custom Xtremepush User Profile Attribute and is not recognized as a User Identifier, Xtremepush ignores the trait.

## Track

If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/segment/connections/spec/track/) does. An example call would look like:

```text
analytics.track('Product Purchased', {
  productName: 'Some Product'
})
```

Track calls are sent to Xtremepush as a `event hits` and you can use them to [trigger a campaign](https://docs.xtremepush.com/docs/campaign-events) for a user.

Event properties can be used as merge tags in the message content. You can also define additional rules on where to trigger the campaign based on event properties value.

## Enabling Push and In-App Notifications

To enable Xtremepush push and in-app notifications you must also install the relevant Xtremepush SDKs.

[Xtremepush iOS SDK Docs](https://docs.xtremepush.com/docs/ios-integration)

[Xtremepush Android SDK Docs](https://docs.xtremepush.com/docs/android-integration)

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

> \[!NOTE]
>
> Real-time audience syncs to Xtremepush (Actions)  may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field   | Description                                                                         | Required | Type     |
| ------- | ----------------------------------------------------------------------------------- | -------- | -------- |
| API Key | Auth token for API can be found on the Xtremepush integration overview page         | Yes      | password |
| URL     | Xtremepush integration URL can be found on the Xtremepush integration overview page | Yes      | string   |
