Skip to main content
Demo Webhooks are also available for key moments in the life of a Demo

Using Demos with your CRM

Chameleon can create new (and update existing) Contact and Company records in response to interactions with Demos. Completions of, and Tags of Demos will be stored as properties; the data schema is below.

Contacts

These are the moments when Chameleon will sync Contact data to your CRM:
  1. When an anonymous user submits a form with their email address
  2. When an identified user with an email address starts a Demo
What will happen in the above situations?
  1. A Contact is created or updated
  2. Chameleon Demos last seen time is updated
  3. The current Demo is added to Chameleon Demos Seen and the Tags (if any) are added to Chameleon Demos Tags
  4. Any previous demos attached to the same anonymous_id will be added to the respective properties from [3]

Companies

These are the moments when Chameleon will sync Company data to your CRM:
  1. When Clearbit reveal is enabled, the Demo user has consent_mode=granted and a match is found
What will happen in the above situation?
  1. A Company is created or updated

Integrations

Hubspot integration

  1. Visit the Hubspot integration page in the Chameleon dashboard
  2. If you have not yet configured Hubspot, click “Connect” to initiate OAuth
  3. Toggle on the “Create and Update objects in the CRM” option
  4. Add an Email capture form or include a Product Demo in your product via another Chameleon experience

CRM Schema

Contacts

NamePropertyTypeDescription
Chameleon Demos - All Demos Seenchameleon_demos_seen__profile_v1Multiple selectA multi-checkbox of the Chameleon Demos that this Contact has seen
Chameleon Demos - Last updated atchameleon_demos_last_updated__profile_v1TimestampThe last time any Demo/Tag was added to this Contact
Chameleon Demos - Tags of All Demos Seenchameleon_demos_tags__profile_v1Multiple selectA multi-checkbox of the Chameleon Tags that were attached to all of the Demos that this Contact has seen

Companies

NamePropertyTypeDescription
Chameleon Demos - All Demos Seenchameleon_demos_seen__company_v1Multiple selectA multi-checkbox of the Chameleon Demos that all of the Contacts have collectively seen
Chameleon Demos - Last updated atchameleon_demos_last_updated__company_v1TimestampThe last time any Demo/Tag was added to this Company
Chameleon Demos - Tags of All Demos Seenchameleon_demos_tags__company_v1Multiple selectA multi-checkbox of the Chameleon Tags that were attached to all of the Demos that all of the Contacts have collectively seen

Demo Schema

PropertyTypeDescription
idIDThe Chameleon ID
created_attimestampWhen this happened or when this was added to the Database
updated_attimestampThe last time any property was updated
namestringThe name given by an administrator of Chameleon
descriptionstringThe display description
positionstringThe order that these appear in lists (starting from 0)
page_titlestringThe title of the page this Demo was recorded on
tag_idsarray<ID>The Chameleon IDs of the Tags attached to this model

DemoRun Schema

PropertyTypeDescription
idIDThe Chameleon ID
created_attimestampWhen this happened or when this was added to the Database
updated_attimestampThe last time any property was updated
consent_modestringOne of pending, denied, or granted
referrerstringThe referrer of the page this Demo is embedded into
created_whatstringThe Browser name, version number and OS e.g. Chrome 191.0 (Mac)
created_wherestringThe city, region, country, country flag of the likely location of the user; Only present for consent_mode=granted. e.g. Oakland CA, US 🇺🇸
actionsarray<DemoAction>An array of the individual demo actions that occurred for this demo run
submissionsarray<DemoSubmission>An array of the form submissions that took place during this demo run
Additional DemoRun Schema when Clearbit Reveal
  1. Add your API Key in your dashboard
  2. Ensure consent_mode of the Demo is set to granted (e.g. data-consent-mode="granted" on the iframe element for the embed)
  3. Chameleon will try to find a match based on the IP address of anonymous traffic
PropertyTypeDescription
clearbit_uidstringThe ID of the matched company from Clearbit
reveal_domainstringThe Company domain of the matched company from Clearbit
reveal_namestringThe Company name of the matched company from Clearbit

DemoSubmission Schema

PropertyTypeDescription
idIDThe Chameleon ID
created_attimestampWhen this happened or when this was added to the Database
updated_attimestampThe last time any property was updated
step_idstringThe id of the DemoItem this submission came from
action_idstringThe id of the item as found in DemoRun actions
dataarray<DemoSubmissionData>

DemoSubmissionData Schema

PropertyTypeDescription
idIDThe Chameleon ID
created_attimestampWhen this happened or when this was added to the Database
updated_attimestampThe last time any property was updated
fieldobject<DemoFormField>
valuestring/array/number/timestampThe inputted value from the user as the real data type. Array for field type=select, timestamp for datetime-local etc.

DemoFormField Schema

PropertyTypeDescription
idIDThe Chameleon ID
created_attimestampWhen this happened or when this was added to the Database
updated_attimestampThe last time any property was updated
typestringThe input/field type of this field. One of text, email, select, checkbox, radio, datetime-local, number, tel, url, or button
namestringThe display label of the field
descriptionstringThe display description of the field