Skip to main content

Chameleon Data Source

The Chameleon connector enables you to ingest in-app Experience configurations, user and company profiles, segments, and engagement analytics from your Chameleon account. This connector is particularly useful for analyzing product adoption, reporting on Tour and Survey performance, and syncing Chameleon data into your data warehouse or other downstream tools. Follow the instructions below to create a new data flow that ingests data from a Chameleon source in Nexla.
chameleon_api.png

Chameleon

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Chameleon connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Chameleon instance, and click Next; or, create a new Chameleon credential for use in this flow.

  3. In Nexla, Chameleon data sources can be created using pre-built endpoint templates, which expedite source setup for common Chameleon endpoints. Each template is designed specifically for the corresponding Chameleon endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Chameleon sources can also be configured manually, allowing you to ingest data from Chameleon endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Chameleon endpoints. Each template is designed specifically for the corresponding Chameleon endpoint, making data source setup easy and efficient.

Endpoint Settings

  • 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. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List Tours

    This endpoint returns all Tours configured in your Chameleon account. Tours are multi-step in-app guided walkthroughs used for onboarding and feature adoption. Use this endpoint to inventory your Tours or to build reports on the Experiences you have published.

    • This endpoint requires no additional configuration. Select the template, and Nexla will retrieve all Tours accessible to the credentialed account.
    • Results are paginated automatically, so Nexla fetches all available pages until the full list of Tours has been ingested.

    To retrieve the full configuration of a single Tour—including its steps and content—use the "Get Tour" endpoint with the corresponding Tour ID.

    Get Tour

    This endpoint retrieves the full configuration of a single Tour by ID, including its steps and content. Use this endpoint when you need the complete definition of a specific Tour rather than a summary list.

    • Enter the Tour identifier in the Tour Id field. You can obtain this ID from the "List Tours" endpoint, which returns each Tour along with its unique identifier.
    • This endpoint returns a single Tour object and is not paginated.

    The Tour Id field is required. Configure the "List Tours" endpoint first to identify the IDs of the Tours you want to retrieve in detail.

    List Surveys

    This endpoint returns all Surveys (Microsurveys) configured in your Chameleon account. Surveys collect in-app feedback such as NPS, CSAT, and product feedback. Use this endpoint to inventory your Surveys or to pair Survey metadata with their collected responses.

    • This endpoint requires no additional configuration and automatically retrieves all Surveys for the credentialed account.
    • Results are paginated automatically.

    To retrieve the individual answers submitted by users, use the "List Survey Responses" endpoint.

    List Survey Responses

    This endpoint returns all Survey responses collected in your Chameleon account. Use this endpoint to download Microsurvey response data periodically for analysis in your data warehouse or BI tools.

    • This endpoint requires no additional configuration and automatically retrieves all responses for the credentialed account.
    • Results are paginated automatically, making it suitable for ingesting large volumes of response data.

    Pair this endpoint with "List Surveys" to associate each response with the Survey that produced it.

    List Tour Interactions

    This endpoint retrieves Tour interaction analytics—such as starts, completions, and step views—used to evaluate Experience performance. Use this endpoint to build engagement and adoption dashboards.

    • This endpoint requires no additional configuration and automatically retrieves interaction records for the credentialed account.
    • Results are paginated automatically.

    Interaction data is most useful when joined with the "List Tours" endpoint to attribute each interaction to a named Experience.

    List Segments

    This endpoint returns all Segments defined in your Chameleon account. Segments are groups of users defined by filters and are used to target Experiences. Use this endpoint to audit your targeting rules or to sync segment definitions externally.

    • This endpoint requires no additional configuration and automatically retrieves all Segments for the credentialed account.
    • Results are paginated automatically.

    List Companies

    This endpoint returns a paginated list of all companies tracked in your Chameleon account. Use this endpoint to retrieve account-level (company) records for B2B reporting and segmentation analysis.

    • This endpoint requires no additional configuration and automatically retrieves all companies for the credentialed account.
    • Results are paginated automatically, allowing efficient ingestion of large company lists.

    List User Profiles

    This endpoint returns a paginated list of all user profiles tracked in your Chameleon account. Use this endpoint to export the users Chameleon knows about, along with their associated properties, for analysis or syncing to other systems.

    • This endpoint requires no additional configuration and automatically retrieves all user profiles for the credentialed account.
    • Results are paginated automatically.

    To retrieve a single user by ID, use the "Get User Profile" endpoint.

    Get User Profile

    This endpoint retrieves a single user profile by its Chameleon profile ID. Use this endpoint when you need the full record for one specific user rather than a complete list.

    • Enter the user's Chameleon profile identifier in the Profile Id field. You can obtain this ID from the "List User Profiles" endpoint.
    • This endpoint returns a single profile object and is not paginated.

    The Profile Id field is required. Use the "List User Profiles" endpoint first to identify the profile IDs you want to retrieve.

    List Deliveries

    This endpoint returns a paginated list of deliveries, with optional filtering by model or profile. A delivery represents an on-demand Tour or Survey sent to a specific user. Use this endpoint to audit which Experiences have been targeted to which users.

    • This endpoint requires no additional configuration and automatically retrieves deliveries for the credentialed account.
    • Results are paginated automatically.

    List Data Imports

    This endpoint returns all data imports—CSV-based or filter-based—submitted to your Chameleon account. Use this endpoint to monitor the status and history of bulk data operations such as profile updates, tagging, and deletions.

    • This endpoint requires no additional configuration and automatically retrieves all imports for the credentialed account.
    • Results are paginated automatically.

    List Data Properties

    This endpoint returns a paginated list of data properties—both custom and integration-derived—defined in your Chameleon account. Properties are the attributes available on user and company profiles and can be referenced in Segment filters and Experience targeting.

    • This endpoint requires no additional configuration and automatically retrieves all properties for the credentialed account.
    • Results are paginated automatically.

    List Event Names

    This endpoint returns a paginated list of event names tracked in your Chameleon account. Event names represent the user actions Chameleon records and can be used to trigger or target Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all event names for the credentialed account.
    • Results are paginated automatically.

    List Tooltips

    This endpoint returns all Tooltips configured in your Chameleon account. Tooltips are contextual in-app hints attached to specific UI elements. Use this endpoint to inventory your Tooltip Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all Tooltips for the credentialed account.
    • Results are paginated automatically.

    List Launchers

    This endpoint returns all Launchers configured in your Chameleon account. Launchers are persistent in-app widgets (such as checklists or menus) that let users discover and re-open Experiences. Use this endpoint to inventory your Launcher Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all Launchers for the credentialed account.
    • Results are paginated automatically.

    List Helpbars

    This endpoint returns all HelpBars configured in your Chameleon account. The HelpBar is an in-app search and help widget that surfaces content to users. Use this endpoint to inventory your HelpBar Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all HelpBars for the credentialed account.
    • Results are paginated automatically.

    List Themes

    This endpoint returns a paginated list of visual themes used to style your Experiences. Themes control the look and feel—colors, fonts, and styling—applied to Tours, Surveys, and other Experiences. Use this endpoint to audit the styling configurations in your account.

    • This endpoint requires no additional configuration and automatically retrieves all Themes for the credentialed account.
    • Results are paginated automatically.

    List URLs

    This endpoint returns all URLs configured in your Chameleon account. URLs define where in your application Experiences are displayed. Use this endpoint to review the URL targeting rules in use.

    • This endpoint requires no additional configuration and automatically retrieves all URLs for the credentialed account.
    • Results are paginated automatically.

    List URL Groups

    This endpoint returns all URL groups configured in your Chameleon account. URL groups bundle multiple URLs together for reuse in Experience targeting. Use this endpoint to review reusable URL targeting collections.

    • This endpoint requires no additional configuration and automatically retrieves all URL groups for the credentialed account.
    • Results are paginated automatically.

    List Changes

    This endpoint returns all changes and edits made in your Chameleon account. Use this endpoint to build an audit trail of configuration changes across your Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all change records for the credentialed account.
    • Results are paginated automatically.

    List Alert Groups

    This endpoint returns all alert groups configured in your Chameleon account. Use this endpoint to inventory the alert configurations associated with your Experiences.

    • This endpoint requires no additional configuration and automatically retrieves all alert groups for the credentialed account.
    • Results are paginated automatically.

    List Webhooks

    This endpoint returns a paginated list of registered webhook subscriptions in your Chameleon account. Webhooks forward Chameleon-tracked events in real time to external systems. Use this endpoint to audit which webhook subscriptions are currently active.

    • This endpoint requires no additional configuration and automatically retrieves all webhook subscriptions for the credentialed account.
    • Results are paginated automatically.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Chameleon data sources can be manually configured to ingest data from any valid Chameleon API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Chameleon sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom query parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Chameleon API from the Method pulldown menu. Chameleon data-retrieval endpoints use the following method:

    • GET: For retrieving data from the API, such as Tours, Surveys, profiles, or analytics

API Endpoint URL

  1. Enter the URL of the Chameleon API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Chameleon endpoints are served from the base URL https://api.chameleon.io—for example, https://api.chameleon.io/v3/edit/tours to list Tours or https://api.chameleon.io/v3/analyze/profiles to list user profiles.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for Chameleon endpoints that accept date ranges or time-based filters, such as analytics endpoints used to retrieve responses or interactions for a specific window.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to construct Chameleon endpoint URLs that reference specific IDs—such as a Tour ID or profile ID—drawn from another data source in your Nexla environment.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when API responses contain metadata, pagination information, or other data that you don't need for your analysis.

For example, when a request call is used to fetch a list of items, the API will typically return an array of records, along with metadata, in the response. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.

Path to Data is essential when API responses have nested structures. Chameleon list endpoints typically wrap results in a named array—for example, Tours are returned under a tours array and profiles under a profiles array.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.tours[*] to access the array of Tours within the response).

    • For responses in XML format, enter the XPath that points to the object/array containing relevant data. XPath uses slash notation (e.g., /response/data/item to access item elements within a data element).

    Path to Data Example:

    If the API response is in JSON format and includes a top-level array named surveys that contains the relevant data, the path to the response would be entered as $.surveys[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For example, Chameleon list endpoints return paging information under a cursor object alongside the main data array. If you have specified the path to the relevant data but want to preserve cursor or summary information with each record, you can specify a path to this metadata to include it in the generated Nexset(s).

Metadata paths are particularly useful for preserving API response context like pagination cursors or summary counts that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata, and for responses in XML format, enter the XPath.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom requirements.

    You do not need to include any headers already present in the credentials. The X-Account-Secret authentication header is added automatically by Nexla based on your Chameleon credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Chameleon 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.