Skip to main content
You have content within your product, even if you don’t think of it that way. Any database records that your Users would want to find is a piece of content, akin to a Google search result. Send this content to Chameleon and we will surface it to your Users in the Chameleon HelpBar. The content can be scoped to a specific Company, be pinned to the top when the HelpBar is opened and can perform any action from clicking an item..

See the specific APIs for more information on how to use Search your product.

To get HelpBar up and running, complete these items:

  1. Create a HelpBar, configure it with placeholder etc.
  2. Add your Help center as a SearchGroup.
  3. Add the top-level navigation within your product; First download this CSV template or example then Import it.
  4. [Optional] Add specific content from your database by creating a SearchItem per database record you want to be searchable.
  5. Publish your HelpBar by setting the published_at timestamp on the Search.
  6. Visit your product where Chameleon is installed and hit CMD + k (or how you configured key_meta and key_uid).
  7. Test a few search terms!

HelpBar REST API

With the Chameleon REST API for Search, you can:
  • Index custom content (the data from your product) into searchable SearchItems.
  • Import your product navigation to allow your Users to jump to a specific thing they are looking for with a SearchImport.
  • Configure SearchGroups to pull content from public sources (i.e. your Help center, Blog etc.).
  • Define a SearchLabelTheme to label your SearchItems for greater visibility.
  • Add labels to the title or description of SearchItems as SearchLabels.

Search bar Schema

Search is associated with groups: SearchGroups, and label_themes: SearchLabelThemes

SearchGroups Schema

SearchPage Schema

SearchLabelTheme Schema

To reference a LabelTheme when adding title_labels or description_labels to SearchItems, use the id field returned in the label_themes wen listing the Search with GET /searches or Creating with POST /searches.

List all HelpBars

There is only one per account.

HTTP Request

GET

HTTP Response

Create or Update your HelpBar

There is only one per account so an update uses the same endpoint as create. Use any of the properties available in the schema

HTTP Request

POST
Examples
With a basic config activating with CMD + k (or CTRL + k).
Add two search groups of all help-center content on help.your-product.com and of all of your posts to your blog at blog.your-product.com. Help center content defaults to the book_open icon and film for the blog content.
Add a theme for filled-red labels, and one for filled green labels.
To reference a LabelTheme when adding title_labels or description_labels to SearchItems, use the id field returned with each theme.
After you configure/update your HelpBar must publish it!
Publish by setting published_at to the current time. This makes your HelpBar available to your Users

HTTP Response


SearchItem Schema

A search item is a discrete unit of searchable content akin to a Google search result. You have content within your product, even if you don’t think of it that way. Any database records that your Users would want to find is a piece of content. Send us this content to surface it to your Users in the Chameleon HelpBar.
SearchItems are associated with actions: SearchActions, and title_labels / description_labels: SearchLabels

SearchLabel Schema

List all Search Items

SearchItems are for private content, and are added to Chameleon via CSV or directly via this REST API. They can be scoped on a per-company basis and there can be many thousands of custom search items, use the cursor to list as many as you need.
Note: this is how you iterate through all searchable content but it’s not how your Users search for this content, if you want to query your data like and end-user, feel free to Contact us to learn more.

HTTP Request

GET

HTTP Response

Create or Update your SearchItems

Use any of the properties available in the schema. You must either send a uid field (as the unique identifier for a piece of content) OR the Chameleon ID in the url path. Using the POST-based endpoint below and sending the required uid acts as a “create or update” (upsert). When content relates to a specific database item, include the database ID of that record in the uid

HTTP Request

With the parameter of uid; this endpoint will “create or update” (upsert) your content: POST | ```http title=“PATCH” https://api.chameleon.io/v3/edit/search_items
Examples
Add a specific important action within your product for the Company in your DB with ID=14203, navigate to the onboarding page
Upsell with a search result, directly book a demo with Calendly
Target content to a Chameleon Segment of Users
Target content to three Chameleon Companies — Only members of these companies will be able to search for this item. As parameters you can send either company_uids as the ID from your database or you can first lookup the Chameleon Companies and then send company_ids parameter.
Target content to a Chameleon Company — Only members of this Company will be able to search for this item.
Target content to a Chameleon User Profile — Only this specific User will be able to search for this item.
A hypothetical “car dealership” wants to make a used car searchable, track an event to all configured Integrations and open the listing in a new tab. It also includes a title label of NEW themed with an example theme from above.

Batch Update your SearchItems

POST
To update the icon of many items:
To update the SearchGroup of many items:

Delete a SearchItems

Send the uid of a previously created SearchItem.

HTTP Request

DELETE

Bulk Delete a SearchItems

Send the ids of a previously created SearchItem.

HTTP Request

DELETE

SearchAction Schema

A search action is one item in a collection of actions attached to a SearchItems. When the item is clicked the actions will be run in order (configure kind=navigate / kind=url last). Base schema

Integration specific schemas

SearchAction with kind=url Schema

SearchAction with kind=navigate Schema

SearchAction with kind=event Schema

Track an event to Chameleon and all of your configured integrations.

SearchAction with kind=identify Schema

Send user data to Chameleon and all of your configured integrations.

SearchAction with kind=tour Schema

Show a Chameleon Tour immediately (calls chmln.show with the configured tour_id). Quickly access this ID in the URL on the Chameleon dashboard. JavaScript API reference

SearchAction with kind=survey Schema

Show a Chameleon Microsurvey immediately (calls chmln.show with the configured survey_id). Quickly access this ID in the URL on the Chameleon dashboard. JavaScript API reference

SearchAction with kind=script Schema

Run customized JavaScript when this item is clicked in the HelpBar. Check variables, user data, or page state before performing different actions.

SearchAction with kind=function Schema

After you have exposed a function on the window object within your application, call it when this item is clicked.

SearchAction with kind=airtable Schema

Show an Airtable form directly in your product.

SearchAction with kind=arcade Schema

Launch an Arcade Demo in a full screen modal

SearchAction with kind=calendly Schema

Show a Calendly scheduling modal directly in your product.
Merge tags are available for the href field; add the right Calendly link as User data and merge it in the action. (csm below refers to a customer success manager)

SearchAction with kind=chili_piper Schema

Show a ChiliPiper scheduling modal directly in your product. For a scheduling link
For a ChiliPiper router
Merge tags are available for the href field; add the right Calendly link as User data and merge it in the action. (csm below refers to a customer success manager)

SearchAction with kind=embed Schema

Launch any embeddable page in a full screen modal.

SearchAction with kind=figma Schema

Show a Figma file or prototype directly in your product.

SearchAction with kind=google Schema

Show a Google Doc / Sheet / Form / Slides in a full screen modal.

SearchAction with kind=helpscout Schema

Open the Beacon to the default state
Open HelpScout modal in your product to a specific article.
Open the Beacon to a specific article.
Open the Beacon to the answers tab
Open the Beacon to a specific search query. Help users understand what is available in the help center

SearchAction with kind=hubspot_lists Schema

SearchAction with kind=intercom Schema

SearchAction with kind=livestorm Schema

Directly register a user for a webinar session; combine with a second action for kind=url that takes them to your “success” page.

SearchAction with kind=loom Schema

Show a Loom video directly in your product.

SearchAction with kind=navattic Schema

Launch an Navattic Demo in a full screen modal.

SearchAction with kind=pitch Schema

Show a Pitch presentation directly in your product.

SearchAction with kind=typeform Schema

Show a Typeform survey directly in your product.

SearchAction with kind=zendesk Schema

Open the window.zE chat window
Search your Zendesk help center for the given search term

Search JavaScript API

At a high level, Chameleon uses the chmln object on the page via chmln.on to allow you to control the HelpBar experience. All of these event listeners are optional. See the Type definitions below ↓
Recommended
Optional

JS API type definitions

Limits

When these limits are exceeded, the endpoints will return a status code 409 with a descriptive error message please Contact us with any questions.
  1. Each SearchItem can be targeted to one or many Company, Segment, or Profiles.
    1. An Free/Startup account is limited to 10 per SearchItem and in aggregate across all SearchItems.
    2. A Growth/Enterprise account is limited to 30 per SearchItem and in aggregate across all SearchItems..
  2. Each SearchGroup can be targeted to one or many Company or Segment.
    1. An Free/Startup account is limited to 10 in use across all SearchGroups and in aggregate across all SearchGroups.
    2. A Growth/Enterprise account is limited to 30 in use across all SearchGroups and in aggregate across all SearchGroups.
  3. Each HelpBar can have many groups (SearchGroup) and each can be targeted to one or many Segments.
    1. An Free/Startup account is limited to 20 SearchGroups.
    2. A Growth/Enterprise account is limited to 100 SearchGroups.

Search Item Importing via CSV (SearchImport)

Create a Search Import

Use Content-Type: multipart/form-data to create an Import in one request, include the file parameter with a CSV based on the template.

HTTP Request

POST

Get a Search Import

Useful to track the progress of this import. Small imports (< 100 rows) will finish within approx 1 second.

HTTP Request

GET

Trigger HelpBar

This command triggers the display of the HelpBar. You can also use variations of this command with options to prefill a query or specify a custom placeholder, enhancing the user experience and engagement with the HelpBar.
This variation of the command allows for additional customization by accepting options. The query option enables the prefilling of a query within the HelpBar, serving as a starting point for user inquiries. Additionally, you can specify a custom placeholder using the placeholder option to provide users with a helpful prompt.

Options:

  • query (optional): Specifies a pre-filled query string to assist users in formulating their inquiries. If pre-filled as a question, it will also trigger the AI to generate an answer.
  • placeholder (optional): Sets a custom placeholder text within the HelpBar, guiding users on what they can search for or ask.

Examples:

  • Prefill query
  • When pre-filled as a question, this will trigger the AI to provide an asnwer.
  • Specify placeholder text: