# Chameleon

[Chameleon](https://www.chameleon.io/) is a product adoption platform for modern SaaS companies. With Chameleon, you can create and publish user onboarding, product tours, and tooltips without having to write code.

You can send user data from Freshpaint to Chameleon, which allows you to provide more targeted onboarding experiences to users.

{% hint style="warning" %}
Client-side only integrations cannot be used in HIPAA mode.
{% endhint %}

## Destination Info

* Accepts [track](https://documentation.freshpaint.io/sources/precision-tracking), [identify](https://documentation.freshpaint.io/readme/setting-up-identify), [group](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#group), and [alias](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#alias) calls.
* 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>true</td><td>false</td></tr><tr><td align="right">Mobile</td><td>false</td><td>false</td></tr><tr><td align="right">Server</td><td>false</td><td>false</td></tr></tbody></table>

## Getting Started

1. Navigate to the Chameleon destination configuration and click "Details".

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FxBphBSvmNN5BqPtrRUAe%2Fchameleon.png?alt=media&#x26;token=79061c1d-e0e6-49b3-8ea4-6a99c611600f" alt=""><figcaption></figcaption></figure>

2. Go to Chameleon > Installation and Choose "Freshpaint" under Installation Method. You can also select Freshpaint as an integration to complete the installation from your Chameleon [dashboard](https://app.chameleon.io/integrations).

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FSifcqDXrE1f1BUoTPunN%2FPasted%20Graphic%205.png?alt=media&#x26;token=6254bcbb-ae25-4b39-9ce5-dd681493632d" alt=""><figcaption></figcaption></figure>

3. On the next page, copy your token for the next step. If Chameleon also displays a fast url, grab that as well.

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FeISToBEs4JMxe5dt9gvr%2FInstall%20Chameleon%20in%20your%20product.png?alt=media&#x26;token=c77bce27-5c23-454f-893b-2c037b09e3cd" alt=""><figcaption></figcaption></figure>

4. Configure your Chameleon token and Fast URL if necessary.

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FMYWA292H3l8UwLtVuWiw%2Fimage.png?alt=media&#x26;token=1b0e71a7-fb1c-41ac-959b-6a8bdf1fa491" alt=""><figcaption></figcaption></figure>

5. [Enable the destination](https://documentation.freshpaint.io/readme/setting-up-your-destinations/enabling-and-disabling-a-destination). Now all you need to do is enable events in the Event Library in order to start sending events to Chameleon.

## Identify

Once your integration is set up correctly, you should [set up identify calls.](https://documentation.freshpaint.io/readme/setting-up-identify) This will help you target specific "segments" of users. See [Chameleon's docs](https://help.chameleon.io/en/articles/1500422-how-can-i-target-my-experiences-to-the-right-users#h_57676b70ba) on how to target specific users in Chameleon.

When you call freshpaint.identify(), Freshpaint will create or update a user in Chameleon by calling their [identify method](https://developers.chameleon.io/#/js/profiles). Users in Chameleon need to be identified with a unique ID (UID) in order to enable them to see tours. You can read more about that [here](https://developers.chameleon.io/#/js/profiles?id=profile). Here is an example of an identify call:

```
freshpaint.identify("USER_ID", { // Unique ID in your database
  "email": "example@example.com",
  // Add other pertinent parameters here
});
```

## Events

#### Seeing Freshpaint Events in Chameleon

Once the Chameleon integration is [enabled](https://app.gitbook.com/o/-MA7b_ezO9UcpNU5sTg_/s/-MA7aDqsXMFbUsWVqonF/~/changes/1124/readme/setting-up-your-destinations/enabling-and-disabling-a-destination), you can now set it as an event destination in the event definition in order to start sending an event to Chameleon.

When you send an event to Chameleon from Freshpaint, Freshpaint calls Chameleon's [track](https://developers.chameleon.io/#/js/events) method to create an event.

You can view your events and users in the [Data Management ](https://app.chameleon.io/data)section in Chameleon.

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2F6CUiBtvHtZ19htlobS8X%2FPasted%20Graphic%2015.png?alt=media&#x26;token=251b9b23-f306-4169-b3e1-12e429be9cb6" alt=""><figcaption></figcaption></figure>

## Configuration Options

### Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations [here](https://documentation.freshpaint.io/transformations).

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FK6WG04hQZD1IMAfQFSjA%2Fimage.png?alt=media&#x26;token=ca652fec-4467-4521-9c88-cc347cf20479" alt=""><figcaption></figcaption></figure>

### Connection Mode Settings

Only client-side connection mode is available for this destination. Events originating from the user's web browser will be sent directly to Chameleon.
