For the complete documentation index, see llms.txt. This page is also available as Markdown.

Chameleon

Chameleon is a product adoption platform that lets you build in-app experiences — tours, tooltips, surveys, launchers, and help bars — to onboard and engage users. Connecting Chameleon to Coupler.io lets you pull all that experience and response data into your analytics stack without writing a single line of code.

Why connect Chameleon to Coupler.io?

  • Centralize your product adoption data — bring tours, tooltips, surveys, and survey responses into one place alongside your other product and marketing data.

  • Analyze survey responses at scale — export raw response data to Google Sheets, BigQuery, or an AI destination like ChatGPT or Gemini for deeper analysis.

  • Combine with other sources — use Join or Append transformations to merge Chameleon data with CRM or product analytics data.

  • Automate reporting — schedule regular syncs so your dashboards always reflect the latest experience performance.

Prerequisites

Before connecting, make sure you have:

  • A Chameleon account with API access (available on paid plans)

  • Your Chameleon Account Secret API key — find it in Chameleon under Settings → Integrations → API

Quick start

How to connect

1

Create a new data flow in Coupler.io. Log in to Coupler.io, go to Data flows, and click Add data flow. Search for Chameleon and select it as your source.

2

Enter your API key. In the source settings, paste your Chameleon Account Secret into the API key field. You can find this in Chameleon under Settings → Integrations → API.

3

Choose an entity. Select the data entity you want to import — for example, Survey responses, Tours, or Segments. You can add more entities to the same data flow later.

4

Set a start date. Use the date picker to set the start date for your data export. This controls how far back Coupler.io pulls historical records.

5

Choose a destination. Select where you want your data to land — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like ChatGPT, Claude, or Gemini.

6

Run the data flow. Click Run to execute a manual sync and confirm your data lands correctly before setting up a schedule.

Chameleon data overview

Chameleon exposes data across ten entities — covering the in-app experiences you've built, the user segments you target, and the feedback you've collected. Here's what you can access and how to make the most of it.

Entities at a glance

Entity
What it contains

Helpbars

Configuration and metadata for help bar elements

Segments

Definitions and rules for user segments

URLs

URLs being tracked in your Chameleon instance

URL groups

Logical groupings of related URLs

Changes

Audit log of edits made to Chameleon experiences

Launchers

Launcher setup and targeting configuration

Tooltips

Tooltip content, targeting, and settings

Tours

Product tour steps, content, and metadata

Surveys

Survey structure, questions, and configuration

Survey responses

Individual user responses to surveys

Metrics and dimensions

Experience configuration fields (Tours, Tooltips, Launchers, Helpbars)

Field
Description

id

Unique identifier for the experience

name

Display name of the experience

status

Published, draft, or archived

created_at

Timestamp when the experience was created

updated_at

Timestamp of the last modification

segment_id

ID of the user segment this experience targets

url_group_id

ID of the URL group where the experience appears

Survey and survey response fields

Field
Description

id

Unique response ID

survey_id

ID of the parent survey

user_id

ID of the user who responded

response

The actual answer provided

created_at

When the response was submitted

finished_at

When the user completed the survey

profile_id

Chameleon profile linked to this respondent

Segment fields

Field
Description

id

Unique segment ID

name

Segment name

filter

Targeting rules that define segment membership

created_at

When the segment was created

updated_at

Last time segment rules were modified

Changes fields

Field
Description

id

Change record ID

kind

Type of change (create, update, delete)

created_at

Timestamp of the change

experience_id

ID of the affected experience

user_id

ID of the Chameleon team member who made the change

Common combinations to use

  • Tours + Segments — Join on segment_id to see which audience each tour targets, then evaluate whether targeting is consistent across experiences.

  • Surveys + Survey responses — Join on survey_id to enrich raw responses with the survey name and question text for cleaner reporting.

  • Changes + Tours/Tooltips — Join on experience_id to build an audit trail of who changed what and when.

  • Multiple accounts — Use Append to combine Chameleon data from multiple workspaces into a single dataset.

Use cases by role

  • Track which tours and tooltips are live vs. draft to audit your in-app experience inventory.

  • Join survey responses with user segment data to understand which cohorts are engaging with feedback prompts.

  • Use the Changes entity to review what was modified before a drop in tour completion rates.

  • Export survey responses to Google Sheets or Looker Studio to visualize NPS or sentiment trends over time.

  • Analyze which URL groups trigger the most launcher interactions to prioritize high-traffic pages.

  • Send survey response data to ChatGPT or Claude to automatically categorize open-ended feedback.

  • Monitor segment definitions to confirm onboarding tours are targeting the right new-user cohorts.

  • Pull survey responses regularly to catch negative feedback signals before they escalate.

  • Combine Chameleon tour data with CRM data using Join to correlate in-app engagement with retention outcomes.

Platform-specific notes

  • The filter parameter on the source applies specifically to segment-experience filtering and accepts tour, survey, or launcher as values — set this if you want to scope that entity type.

  • The default record limit per page is 50 — increase this using the Record limit parameter if you're working with large datasets.

  • Chameleon's API is incremental — use the start date and end date parameters together to define a precise sync window.

  • Survey responses include a finished_at field only when the user completed the survey — expect null values for partial responses.

Chameleon common issues

Connection issues

Invalid API key error on first run

Double-check that you're using the Account Secret from Chameleon, not a public key or token. Find it under Settings → Integrations → API in your Chameleon dashboard. Make sure there are no extra spaces when pasting the key into Coupler.io.

Data flow runs but returns zero records

This usually means your start date is set too far in the future, or the selected entity has no data yet. Check that the start date is earlier than your oldest Chameleon records. Also confirm the entity you selected actually has data in your Chameleon account — for example, if you haven't run any surveys, Survey responses will be empty.

Missing data

Survey responses are missing the finished_at field

Chameleon only populates finished_at when a user completes the full survey. Partial or abandoned responses will have a null value for this field. This is expected behavior — filter on finished_at IS NOT NULL if you only want completed responses.

Only 50 records are returned per sync

The default record limit is 50 per page. If you have more records, increase the Record limit parameter in the source settings. Set it to a higher value to retrieve larger result sets per page.

Changes entity shows fewer records than expected

The Changes entity reflects edits made within the date range you've set. If your start date doesn't reach back far enough, older change records won't appear. Adjust the start date using the date picker to extend your sync window.

Permission errors

API key works but certain entities return a 403 error

Some Chameleon plans restrict API access to specific entities. Check your Chameleon plan to confirm that API access is enabled and that your account has permission to read the entity you're trying to sync. Contact Chameleon support if you believe access should be available.

Data discrepancies

Record counts in Coupler.io don't match what I see in Chameleon's dashboard

Chameleon's dashboard often applies its own filters (e.g., active experiences only, date-scoped views). Coupler.io returns raw API data without those filters applied. Check whether your Chameleon dashboard is filtering by status or date range that differs from your Coupler.io sync window.

Rate limits

Sync fails partway through with a rate limit error

Chameleon enforces API rate limits that can interrupt large syncs. Try reducing the Record limit parameter to a lower value so each page request is smaller. If you're syncing multiple entities in one data flow, consider splitting them into separate data flows to spread out API calls.

Chameleon FAQ

Where do I find my Chameleon API key?

Go to your Chameleon dashboard and navigate to Settings → Integrations → API. Copy the Account Secret — that's the key you'll paste into Coupler.io. Don't use the public key; it won't authenticate correctly.

Can I pull data from multiple Chameleon workspaces?

Yes. Create a separate source connection for each workspace using its own API key, then use Coupler.io's Append transformation to combine the data into a single destination. This is useful if you manage Chameleon across multiple products or environments.

What's the difference between Surveys and Survey responses?

The Surveys entity contains the structure and metadata of each survey — its name, questions, and configuration. Survey responses contains the individual answers submitted by users. You'll usually want to join them on survey_id to get a complete picture.

Why does the filter parameter only have three options?

The filter parameter applies specifically to the segment-experience relationship query. Chameleon organizes experiences into three types — tour, survey, and launcher — and the filter scopes which type you're querying. For other entities like Helpbars or Tooltips, the filter doesn't apply.

Can I use Chameleon data with AI tools?

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Cursor, Perplexity, and OpenClaw. Survey responses are particularly well-suited for AI analysis — you can send open-ended answers directly to an AI destination to summarize themes or classify sentiment automatically.

How do I get more than 50 records per sync?

The default record limit is 50 per page. Increase this using the Record limit parameter in the source settings. There's no hard maximum documented, but start with 200–500 and test for rate limit errors before going higher.

Can I track changes to a specific tour or tooltip over time?

Yes — use the Changes entity and filter by experience_id in your destination tool. This gives you a timestamped log of every edit. For full context, join the Changes data with your Tours or Tooltips entity on experience_id.

For a full breakdown of available fields per entity, see Data Overview. If you're running into sync errors or missing records, check Common Issues. For tips on structuring your data flows, visit Best Practices.

Last updated

Was this helpful?