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
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
placeholder | string | The text used as the Search input placeholder |
key_meta | boolean | For the keyboard shortcut activation, is the CMD / CTRL key required to activate the HelpBar |
key_uid | string | For the keyboard shortcut activation, the letter to be used in combination with key_meta to activate the HelpBar bar |
title_recent | string | The label given to the group of “Recent items” |
title_pinned | string | The label given to the group of “Pinned items” |
published_at | timestamp | The time this was most recently published |
style_color_background | string | The background color of this HelpBar |
style_color_text | string | The font color of this HelpBar |
style_item_color_highlight | string | The hover color of the items of HelpBar |
style_item_border_highlight | string | The left-hand-side highlight color of the items of this HelpBar |
url_group_ids | array | The Environment that this is enabled to run on |
published_updated_at | timestamp | A copy of the Updated time (updated_at) when this was most recently published; used to track if an Experience is edited since last publish |
published_user_id | ID | The Chameleon ID of User who most recently published this |
oids | none | A set of pre-known IDs to directly add SearchItems to the default SearchGroups |
label_themes | array | The array of SearchLabelTheme models |
SearchGroups Schema
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
url | string | The URL that this SearchGroup uses to fetch Search content |
title | string | The label given to this group in the HelpBar Search box |
integration | string | The backend search integration to search with (defaults to bing) |
position | number | The order that these appear in lists (starting from 0) |
last_test_at | timestamp | At the completion of a test of the configured URL, this value is set to the current timestamp. |
icon | object | The SearchIcon info to display for all results of this SearchGroup |
icon.kind | none | The “kind” of icon being used, one of uid or image |
icon.uid | none | When using kind="uid", a specific Chameleon supplied svg-based icon [2]. One of: academic_cap, badge_check, beaker, bell, book_open, bulb, cake, calculator, calendar, chart_bar, chart_pie, chat_messages, chat_dots, chip, clipboard, clock, cloud_download, cloud, code, cog, color_swatch, connection, database, document_add, document_report, download, film, finger_print, fire, flag, folder, gift, globe, home, identification, key, leon, library, lightning_bolt, link, location_marker, map, microsurvey, music_note, paper_airplane, paper_clip, photograph, pop_out, presentation_chart, puzzle, qr_code, question_mark_circle, refresh, scale, search, segments, server, shield_check, sparkles, speakerphone, star, sun, support, table, tag, target, ticket, hammer, tooltip, signpost, truck, user_circle, user, users, variable, boards, grid, grid_add, list, warning, zoom_in, zoom_out, thumbs_up, thumbs_down, cube, company, click, hash, or toggle |
icon.image_url | none | When using kind="image", the url to an appropriate icon for this SearchGroup |
icon.image_alt | none | When using kind="image", the alt text for the icon |
url_options | object | When configuring this SearchGroup for an Search integration, Chameleon will fetch some information about the given URL |
url_options.integration | none | The detected integration of the URL; (intercom, zendesk, readme, etc.) |
url_options.title | none | The title of the page loaded for URL |
url_options.results_count | none | The number of public search results for this URL (0-10) |
SearchPage Schema
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
name | string | The name given by an administrator of Chameleon |
position | number | The order that these appear in lists (starting from 0) |
url_match_all | boolean | Url match all |
quantifier_urls | array | List of URL matching conditions that must match the current page URL |
SearchLabelTheme Schema
To reference aLabelThemewhen addingtitle_labelsordescription_labelstoSearchItems, use theidfield returned in thelabel_themeswen listing theSearchwithGET /searchesor Creating withPOST /searches.
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
name | string | The name given by an administrator of Chameleon |
style | string | The basic look of the label: One of: outline or filled |
style_color_text | string | The text color as a hex code of a style=filled label, the text and outline of a style=outline label |
style_color_background | string | The background color as a hex code, of a style=filled label |
List all HelpBars
There is only one per account.HTTP Request
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
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
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
uid | string | The external ID of the search content |
title | string | The display title |
description | string | The display description |
pinned_at | timestamp | Only SearchItems with a timestamp here will show up in the “Pinned” / “Recommended” items search results group. |
search_group_id | string | The SearchGroup that this SearchItem will display in. |
profile_ids | array | The IDs of the User Profile that has access to this SearchItem. Only members these specific User Profiles will be displayed this SearchItem as a search result |
company_ids | array | The IDs of the Company that has access to this SearchItem. Only members of this Company will be displayed this SearchItem as a search result |
segment_ids | array | The IDs of the Segment that has access to this SearchItem. Only current members of this Segment will be displayed this SearchItem as a search result |
company_uids | array | The external ID (from in your database) for which Company has access to this SearchItem. Only members of this Company will be displayed this SearchItem as a search result |
profile_uids | array | The external ID of the User Profile that has access to this SearchItem. Only members these specific User Profiles will be displayed this SearchItem as a search result |
icon.kind | string | The “kind” of icon being used, one of uid or image |
icon.uid | string | When using kind="uid", a specific Chameleon supplied svg-based icon [2]. One of: academic_cap, badge_check, beaker, bell, book_open, bulb, cake, calculator, calendar, chart_bar, chart_pie, chat_messages, chat_dots, chip, clipboard, clock, cloud_download, cloud, code, cog, color_swatch, connection, database, document_add, document_report, download, film, finger_print, fire, flag, folder, gift, globe, home, identification, key, leon, library, lightning_bolt, link, location_marker, map, microsurvey, music_note, paper_airplane, paper_clip, photograph, pop_out, presentation_chart, puzzle, qr_code, question_mark_circle, refresh, scale, search, segments, server, shield_check, sparkles, speakerphone, star, sun, support, table, tag, target, ticket, hammer, tooltip, signpost, truck, user_circle, user, users, variable, boards, grid, grid_add, list, warning, zoom_in, zoom_out, thumbs_up, thumbs_down, cube, company, click, hash, or toggle |
icon.image_url | sting | When using kind="image", the url to an appropriate icon for this SearchGroup |
icon.image_alt | string | When using kind="image", the alt text for the icon |
actions | array | An array of the SearchAction that run when this SearchItem is clicked/selected in the HelpBar |
title_labels | array | An array of the SearchLabel items displayed in the title of this SearchItem |
description_labels | array | An array of the SearchLabel items displayed under the description of this SearchItem |
SearchLabel Schema
| Property | Type | Description |
|---|---|---|
text | string | The display text of the label |
theme_uid | string | The theme of this label, either the ID of a SearchLabelTheme configured on the Search, or a predefined theme: One of: filled_green, filled_blue, filled_yellow, filled_red, outline_green, outline_blue, outline_yellow, or outline_red |
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
| param | - | description |
|---|---|---|
limit | optional | Defaults to 50 with a maximum of 500 |
before | optional | Used when paginating, use directly from the cursor object from the previous response |
before | optional | Read as “created before” and can be given as a timestamp to get only limit items that were created before this time |
after | optional | Read as “created after” and can be given as a timestamp or ID to get only limit items that were created after this time |
search_import_id | optional | Fetch only the SearchItems that were created (or updated most recently) by the given SearchImport. |
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:
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
| param | - | description |
|---|---|---|
ids | required | An array of SearchItem IDs to update |
*others | optional | Use any of the properties available in the single SearchItem update |
Delete a SearchItems
Send the uid of a previously created SearchItem.
HTTP Request
Bulk Delete a SearchItems
Send the ids of a previously created SearchItem.
HTTP Request
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
| Property | Type | Description |
|---|---|---|
updated_at | timestamp | The last time any property was updated |
kind | string | The kind of action to take: One of: url, navigate, event, identify, tour, survey, script, function, airtable, calendly, chili_piper, figma, helpscout, hubspot_lists, intercom, link, livestorm, loom, pitch, typeform, or zendesk |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
*others | optional | Any other integration specific configuration (more info below in the specific schemas) |
Integration specific schemas
SearchAction with kind=url Schema
| Property | Type | Description |
|---|---|---|
kind | string | ”url” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
url | string | The URL to use/open. Can be a full URL including https, or can be relative to the current page etc.) |
url_blank | string | If the URL opens in a new tab (defaults to true) |
SearchAction with kind=navigate Schema
| Property | Type | Description |
|---|---|---|
kind | string | ”navigate” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
url | string | The URL to use/open. Can be a full URL including https, or can be relative to the current page etc.) |
SearchAction with kind=event Schema
Track an event to Chameleon and all of your configured integrations.
| Property | Type | Description |
|---|---|---|
kind | string | ”event” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
event_name | string | The name of the Event to track to your configured integrations |
SearchAction with kind=identify Schema
Send user data to Chameleon and all of your configured integrations.
| Property | Type | Description |
|---|---|---|
kind | string | ”identify” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
identify_key | string | The specific key to set to your configured integrations |
identify_value | string | The specific value to set to 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
| Property | Type | Description |
|---|---|---|
kind | string | ”tour” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
tour_id | string | The ID of the published Chameleon Tour to trigger |
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
| Property | Type | Description |
|---|---|---|
kind | string | ”survey” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
survey_id | string | The ID of the published Chameleon Microsurvey to trigger |
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.
| Property | Type | Description |
|---|---|---|
kind | string | ”script” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
script | string | The JavaScript string to evaluate |
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.
| Property | Type | Description |
|---|---|---|
kind | string | ”function” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
fn | string | The name of a function to call (without arguments (i.e. customChameleonFn_032) |
SearchAction with kind=airtable Schema
Show an Airtable form directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”airtable” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=arcade Schema
Launch an Arcade Demo in a full screen modal
| Property | Type | Description |
|---|---|---|
kind | string | ”arcade” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use (Arcade Share URL) |
SearchAction with kind=calendly Schema
Show a Calendly scheduling modal directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”calendly” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
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.
| Property | Type | Description |
|---|---|---|
kind | string | ”chili_piper” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
selected | string | The type of Experience to enable. One of: router or href |
router | string | The ChiliPiper Router name associated with this calendar |
href | string | The URL to use |
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.
| Property | Type | Description |
|---|---|---|
kind | string | ”embed” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use (this URL needs to be a embeddable) |
SearchAction with kind=figma Schema
Show a Figma file or prototype directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”figma” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=google Schema
Show a Google Doc / Sheet / Form / Slides in a full screen modal.
| Property | Type | Description |
|---|---|---|
kind | string | ”google” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use (this Google doc needs to be “Published to Web” to be embeddable) |
SearchAction with kind=helpscout Schema
| Property | Type | Description |
|---|---|---|
kind | string | ”helpscout” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
helpscout_kind | string | The type of HelpScout Experience to enable. One of: open_chat, open_answers, search_term, or open_help_center |
query | string | The search term to use for this action |
article_url | string | The specific URL / Help article to load |
article_mode | string | Where to display this article. One of: null, menu, or new_tab (defaults to null and opens in a HelpScout modal) |
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
| Property | Type | Description |
|---|---|---|
kind | string | ”hubspot_lists” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=intercom Schema
| Property | Type | Description |
|---|---|---|
kind | string | ”intercom” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
selected | string | The type of Experience to enable. One of: open_chat, search_term, or open_help_center |
message | string | A pre-filled message to provide a hint of the proposed message to your team |
search_term_article | string | The search term to use for this action |
specific_article | string | The specific URL / Help article to load |
article_mode | string | Where to display this article |
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.
| Property | Type | Description |
|---|---|---|
kind | string | ”livestorm” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
session_uid | string | The Livestorm Session ID copied from your Livestorm dashboard |
utm_campaign | string | The UTM Campaign parameter for this Livestorm Session registration |
utm_source | string | The UTM Source parameter for this Livestorm Session registration |
utm_medium | string | The UTM Medium parameter for this Livestorm Session registration |
SearchAction with kind=loom Schema
Show a Loom video directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”loom” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=navattic Schema
Launch an Navattic Demo in a full screen modal.
| Property | Type | Description |
|---|---|---|
kind | string | ”navattic” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=pitch Schema
Show a Pitch presentation directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”pitch” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
SearchAction with kind=typeform Schema
Show a Typeform survey directly in your product.
| Property | Type | Description |
|---|---|---|
kind | string | ”typeform” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
href | string | The URL to use |
mode | string | The Typeform display mode for this survey. One of: popup, drawer_left, drawer_right, or popover |
SearchAction with kind=zendesk Schema
| Property | Type | Description |
|---|---|---|
kind | string | ”zendesk” (required) |
helpbar_state | string | If the HelpBar stays open or closes when taking this action (optional defaults to null): One of: open |
selected | string | The type of Experience to enable. One of: open_chat, search_term, or open_help_center |
search_term_article | string | The search term to use for this action |
specific_article | string | The specific URL / Help article to load |
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)
| Property | Type | Description |
|---|---|---|
id | ID | The Chameleon ID |
created_at | timestamp | When this happened or when this was added to the Database |
updated_at | timestamp | The last time any property was updated |
file | File | The file to import, please use the template to make this easier. |
filename | string | The name of the original file uploaded |
search_group_id | string | The SearchGroup that all of the resulting SearchItems will display in. (and/or this can be customized per row with “HelpBar Group ID” column) |
head_columns | array | A list representing the parsed version of the first 5 lines. Each object has a header column name and values are an ordered array of the next 4 rows for that column |
stats | object | The details of the data itself and of the last run of this SearchImport. |
stats.rows_count | number | The number of rows in the file |
stats.last_row | number | The row number of the most recent processed row (used for mid-import progress bar) |
stats.last_import_state | string | The current state of the import |
stats.last_import_error | string | A representation of the error the last import encountered |
stats.last_import_at | timestamp | The last time this import was run |
stats.last_import_elapsed | number | The total time (in seconds) that the import took. |
stats.created_count | number | The number of records created by this Import |
stats.updated_count | number | The number of records updated by this Import |
stats.deleted_count | number | The number of records removed by this Import |
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
Get a Search Import
Useful to track the progress of this import. Small imports (< 100 rows) will finish within approx 1 second.HTTP Request
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:

