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:
- Create a HelpBar, configure it with
placeholderetc. - Add your Help center as a
SearchGroup. - Add the top-level navigation within your product; First download this CSV template or example then Import it.
- [Optional] Add specific content from your database by creating a SearchItem per database record you want to be searchable.
- Publish your HelpBar by setting the
published_attimestamp on theSearch. - Visit your product where Chameleon is installed and hit
CMD+k(or how you configuredkey_metaandkey_uid). - 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
Searchis associated withgroups: SearchGroups, andlabel_themes: SearchLabelThemes
SearchGroups Schema
SearchPage Schema
SearchLabelTheme Schema
To reference aLabelThemewhen addingtitle_labelsordescription_labelstoSearchItems, use theidfield returned in thelabel_themeswen listing theSearchwithGET /searchesor Creating withPOST /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 schemaHTTP Request
POST
Examples
With a basic config activating withCMD + k (or CTRL + k).
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.
To reference aLabelThemewhen addingtitle_labelsordescription_labelstoSearchItems, use theidfield 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 withactions: SearchActions, andtitle_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 auid 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 ofuid; 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 pagecompany_uids as the ID from your database or you can first lookup the
Chameleon Companies and then send company_ids parameter.
NEW themed with an example theme from above.
Batch Update your SearchItems
POST
To update the icon 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.
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
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
Beacon to a specific article.
Beacon to the answers tab
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 JavaScript API
At a high level, Chameleon uses thechmln 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.
- Each
SearchItemcan be targeted to one or manyCompany,Segment, orProfiles.- An Free/Startup account is limited to 10 per
SearchItemand in aggregate across allSearchItems. - A Growth/Enterprise account is limited to 30 per
SearchItemand in aggregate across allSearchItems..
- An Free/Startup account is limited to 10 per
- Each
SearchGroupcan be targeted to one or manyCompanyorSegment.- An Free/Startup account is limited to 10 in use across all
SearchGroups and in aggregate across allSearchGroups. - A Growth/Enterprise account is limited to 30 in use across all
SearchGroups and in aggregate across allSearchGroups.
- An Free/Startup account is limited to 10 in use across all
- Each HelpBar can have many groups (
SearchGroup) and each can be targeted to one or manySegments.- An Free/Startup account is limited to 20
SearchGroups. - A Growth/Enterprise account is limited to 100
SearchGroups.
- An Free/Startup account is limited to 20
Search Item Importing via CSV (SearchImport)
Create a Search Import
UseContent-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.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:

