Create and maintain assistants
Creating assistants, basics, building blocks, master data, handover, versions and deletion: what each field does, which limits apply and who may change it.
In plain language
This page explains how to create and maintain assistants. An assistant has two parts. The basics take effect as soon as you save. They include the name, the status and the fallback answer. The answer building blocks are kept in versions. Each publish creates a new version, and the old one stays. A running chat keeps its version. The page also says who may change what.
All documentation topics
An assistant has two layers. The Basics with name, status and fallback answer take effect as soon as you save. The Answer building blocks live in numbered versions: every publish creates a new version, the previous one is kept, and a running conversation keeps the version it started with.
Where to find assistants
The Assistants page is at https://app.xicbot.de/assistenten. At the top are the New assistant form and the Quota this month card, below them the list of all assistants, sorted by name and up to 200 entries long. The overall layout of the app is described in App interface.
The Setup path leads through four steps: Create, Connect knowledge, Test and Embed. On larger screens it sits at the top of the page, on phones below the form. As long as there is no assistant, Embed is locked and shows the note “after step 1”. You can also create an assistant from a proposal based on your website; see Setup. That assistant also starts as a draft with version 1.
The context column of the app repeats the list with the Search the list field. It matches name and short name; clicking a hit opens that assistant's card and scrolls to it. Adding ?a= with an assistant ID to the address opens exactly that card. If nothing matches, it reads “No entry matches this search term.”
Who can do what
Permissions follow the team role. Every role can view; each further action needs at least the role listed.
| Role | What it can do on this page |
|---|---|
| Read | View assistants, versions and settings. Fields are locked and the button in the list reads View. |
| Edit | Create, save basics, publish and restore versions, configure the chat window. |
| Administration | Additionally delete assistants and renew the chat window key with Generate a new key. |
| Owner | Additionally change the Handover address. |
With the Read role the page shows: “With the Read role this area is view-only. Changes need at least the Edit role.” Roles below Administration see under the list: “Deleting assistants needs the Administration or Owner role.” In the open card, these roles see this under Public key instead of the button: “Generating a new key needs the Administration or Owner role.” With the Administration or Owner role, Generate a new key first asks: “Generate a new key? The current embed code stops working immediately.” What to do on your website afterwards is covered in Public key. How to assign roles is covered in Team and roles.
Create an assistant
The New assistant form has three fields. Create assistant creates the assistant; while the request runs, the button reads “Creating …”. The new assistant then appears in the list, sorted by name. If the list could not be loaded beforehand, the page instead reports “The assistant has been created.” and reloads the list.
| Field | Required | Limit and default |
|---|---|---|
| Name | yes | At most 120 characters. This is how you recognise the assistant in the list. |
| Template | no | Default is no template. There are nine templates under Industries and six under Tasks. |
| Language | preset | Preset to the language you use the app in; the options are Deutsch and English. The greeting and base texts of the first version are written in this language. |
| Group | Templates |
|---|---|
| Industries | Trades, Car dealership, Hospitality, Real estate, Law firms, Medical practices, Online shop, Service providers, Software |
| Tasks | Website assistant, Shop assistant, Support assistant, Lead assistant, Appointment assistant, Cart assistant |
A template pre-fills role, tone, topic boundary, handover rule, greeting and fallback answer; some also bring entries for the never-discuss list and additional handover topics. It is a copy: everything stays editable afterwards, and a later change to the template does not reach your assistant.
What creating sets up
- The assistant is a Draft and has Version 1.
- Answer only from the knowledge base is switched on.
- Maintained facts, Structured master data and Handover address are empty.
- Without a template the Tone is factual, the Greeting reads “Hello. How can I help?” in English and „Guten Tag. Was kann ich für Sie tun?“ in German, and a standard Fallback answer is filled in.
- Enable chat window is off, so the assistant does not answer on any website yet.
- The short name is derived from the name: lower case, with hyphens, with a base of at most 50 characters. If it is taken, the app appends
-2,-3and so on. If the name yields no short name, it isassistant. It stays the same when you rename the assistant later.
The assistant list
Each row shows the name and below it status, version, template and short name, for example active · Version 4 · Trades · customer-service. The template only appears if one was chosen. Edit opens the assistant's card; with the Read role the button reads View, with the card open Close. For the Administration and Owner roles, Delete sits next to it.
Without assistants it reads “No assistant created yet.” with the link Go to the “New assistant” form. If the list cannot be loaded, the page reports “The list could not be loaded.” and offers Load again.
The open card has five parts: Answer building blocks, Basics, Versions, Fixed rules and Chat window on your website. Embedding and styling the chat window are covered in Embed the widget and Widget settings, the rules for approaching visitors in Outreach rules.
Basics
The Basics apply from the moment you save, including conversations already running. Save shows “Saving …” while it works and “Saved.” afterwards. A saved change appears in the Audit log as Assistant changed; if that entry cannot be written, the change is not applied and the page reports “Not saved: the entry in the audit log could not be written. Please try again.”
| Field | Required | Limit and effect |
|---|---|---|
| Name | yes | At most 120 characters. The short name stays the same when you rename. |
| Status | yes | Draft, active or paused. Only an active assistant answers in the chat window. |
| Fallback answer | yes | 5 to 500 characters. Visitors see this sentence when no answer is possible, for example when the quota is used up. |
When the chat window answers
The chat window only answers when two switches agree: Status is active, and Enable chat window is on under Chat window on your website. Right after creation neither is the case. If either is missing, the chat window launcher disappears on the next page load.
Answer building blocks
The building blocks determine how the assistant answers. There is no free-form instruction field: each setting has its own field with its own limit. Publish new version stores all fields of this part as a new version.
| Field | Required | Limit | Effect |
|---|---|---|---|
| Role | yes | 200 characters | Who the assistant is and on whose behalf it speaks. |
| Tone | yes | factual, friendly, brief, detailed | With brief, the assistant is instructed to answer in three sentences at most and not to repeat the question. |
| Topic boundary | yes | 600 characters | What the assistant talks about. It is instructed not to answer questions outside it, but to say so in one sentence and offer the way to a person. |
| Never discuss | no | 8 lines of 120 characters each | Topics the assistant is not to discuss. If the question contains an entry, the conversation goes to a person. |
| Maintained facts | no | 12 lines of 200 characters each | Fixed statements that count like an excerpt from the knowledge base and need no citation. |
| Structured master data | no | per group, see below | Opening hours, locations, service area, contacts and price ranges. |
| Handover rule | yes | 400 characters | When the assistant hands over to a person on its own. |
| Greeting | yes | 500 characters | The first sentence in the chat window. |
| Language | yes | Deutsch or English | Reply language when neither the message nor the conversation reveals one. |
| Answer only from the knowledge base | no | default: on | Limits answers to excerpts, see below. |
The handover fields between Handover rule and Greeting are described in the section “Handover to a person” further down.
Answer only from the knowledge base
When switched on, the assistant is instructed to answer solely from the supplied knowledge base excerpts and the maintained facts. If no excerpt carries the answer, it is to say exactly that. The app calls this the safe setting: “Without a citation there is then no statement.”
When switched off, the excerpts still take precedence over anything else the model knows. It is still told not to state prices, deadlines, commitments or legal information that no excerpt contains. How excerpts are built and selected is covered in Knowledge and answers.
Never discuss and Maintained facts
- One line per entry; empty lines do not count.
- More than 8 never-discuss lines or 12 facts: the field shows “Too many lines. Please shorten.” and Publish new version stays disabled.
- A never-discuss entry applies when it appears in the visitor's question, regardless of case and from a length of four characters. The conversation then goes to a person and the answer gets the mandatory notice.
- Maintained facts count like an excerpt from the knowledge base and need no citation. They suit short, fixed statements such as a callback time.
Structured master data
Master data is sent with every request, even when no excerpt mentions it. Each group has Add row, each row Remove.
| Group | Columns | Limits and rules |
|---|---|---|
| Opening hours | Weekday, From, To | At most 14 rows, time as hours and minutes. A day with a lunch break gets two rows; a day without a row counts as not on file. Rows are sorted by day and start time. An end time before the start time is not rejected; the assistant receives the row exactly as entered. |
| Locations | Label, Street and number, Postal code, City | At most 5 rows. A row without a label is not saved. Texts up to 120 characters, postal code up to 20. |
| Service area | one entry per row | At most 20 entries of 80 characters each: one town, district or county per row. |
| Contacts | Role, Name, Email, Phone | At most 5 rows. A row is saved with a role plus at least one further detail. An invalid email address is dropped; email up to 190 characters, phone up to 60. |
| Price ranges | Service, Price from, Price to, Currency, Unit | At most 10 rows. Amounts up to one million in the usual notations, such as 1290, 1290.50 or 1,290.00; the app recognises thousands separators as well as the euro sign and the abbreviation EUR, at most two decimal places. If Price to is empty or below Price from, the assistant receives the amount as “from …”. Currency as three letters, default EUR; Unit up to 60 characters. |
Entirely empty rows are not sent. An opening-hours row with only a start or only an end, and a price row without a service, without Price from or with an amount the app cannot read, are not dropped: the app names the error at the row and blocks publishing until it is corrected. Locations without a label and contacts without a role or a further detail are not saved, as described in the table. More rows than allowed show “Too many entries. Please shorten.” and block publishing. After publishing, the form shows the saved state.
Handover to a person
On a handover the conversation switches to the status handed over and appears in the Inbox. If the assistant hands over and a Handover address is set, an email goes there as well; without an address no email is sent. A manual handover with Hand over to a human on the Conversations page sends no email. A handed-over conversation does not revert to open by itself.
| Field | Limit and default | Effect |
|---|---|---|
| Handover address | valid email address up to 190 characters, may be empty | Receives one email per handover by the assistant with the conversation, up to the last 200 messages and unmasked. Only the account owner can change it. |
| Additional topics that trigger a handover | Complaints, Data protection, Payment details | Ticked topics lead to a handover when the question touches them. The fixed limits and the emergency path apply in addition and cannot be switched off. |
| Custom handover score | 1 to 20; empty means the default of 3 | A lower number hands over sooner, a higher one later. |
| Custom trigger words per topic | at most 20 words per topic, each 3 to 40 characters, separated by comma or line break | Add to the built-in vocabulary of the eight topics. Nothing can be removed from it. |
The eight topics are Medical, Legal, Finance, Allergies, Emergency, Complaints, Data protection and Payment details. If a request names a topic that does not exist, the message reads “No such topic: … Words can only be stored for the topics listed.”
When a handover happens
A conversation reaches a person in three ways: the assistant hands over itself according to the Handover rule, the conversation score reaches the threshold, or the question touches a fixed rule, a ticked topic or a never-discuss entry. Points are given per visitor message:
| Signal in the message | Points |
|---|---|
| Request for a person | 3 |
| Angry word | 2 |
| Sensitive topic that applies to the version: a fixed restriction, an emergency or a ticked topic; once per message | 2 |
| Never-discuss entry | 2 |
| Same question for the second time or more, compared with the last ten questions, from eight characters | 2 |
| More than 70 percent capital letters, from 12 letters | 1 |
| Three or more question or exclamation marks in a row | 1 |
| Two replies in a row without a real answer from the assistant | 2 |
- Points add up over the conversation. With the default of 3, a request for a person is enough on its own.
- If a message points to a danger to life or health, the conversation reaches the threshold with that same message.
- While a conversation is handed over, these three paths trigger no further handover and no further email.
- Threshold and address come from the version the conversation started with.
How to continue handed-over conversations is described in Inbox and Conversations. What tools do in addition during a handover is covered in Tools.
Fixed rules
The Fixed rules card shows the layer behind your building blocks that also applies after the model has answered. It cannot be switched off and covers four restrictions:
- No legal advice
- No medical information
- No assessment of allergies
- No binding financing offer
If the question touches one of these restrictions, the conversation goes to a person and the answer gets the Mandatory notice in the answer. It starts with “Note: This assistant is a program, it can be wrong and it does not replace …” and then names the restriction touched. If a topic only appears in the answer, just the notice is added.
Under Emergency path, in the language of the version, is the sentence an answer carries when the question describes a medical emergency; the answer itself carries it in its own language. In English it reads: “If this is an emergency, please contact the emergency services immediately.” The German wording names the German emergency numbers. Handover from score shows the threshold that applies to this assistant.
Publish and restore versions
Publish new version stores the building blocks as a version with the next number and makes it active right away. While the request runs the button reads “Publishing …”, then the page reports “The new version is active.” New conversations start with this version; conversations already running keep theirs.
The Versions list shows the last 50, newest first. Each entry gives number, tone and language as a code (de or en), plus Answer only from the knowledge base or Topic boundary, for restored versions “restored from Version …”, and below that the Role text. The active version reads “This version is active.”
-
Step 1
Choose a version
Find the state you want to return to under Versions.
-
Step 2
Restore
Click Restore. While it runs, it reads “Restoring …”. The button needs the Edit role.
-
Step 3
Check the result
The page reports, for example, “Version 3 is active again as version 7.” The old state has been published as a new version; no version is lost in the process.
Via the API, a new version takes over the never-discuss list, maintained facts, master data, handover topics, threshold, trigger words and handover address from the active version when the request omits them. Restoring the active version is refused with status code 422, an unknown number with 404. Details are in Knowledge and assistants via the API.
Delete an assistant
-
Step 1
Choose Delete
Click Delete in the assistant's row. The button is available to the Administration and Owner roles.
-
Step 2
Confirm the name
The dialog “Delete: …” with the assistant's name explains: “This removes the assistant with all versions and conversations. It cannot be undone.” Type the name under “Type the name to confirm:”; spaces at the start and end are ignored.
-
Step 3
Delete permanently
Delete permanently only becomes available once the name matches; the Enter key works as well. Cancel closes the dialog without changes. Afterwards the page reports “The assistant has been deleted.”
The assistant takes its versions and all its conversations with it. An audit log entry is written first; if that fails, everything stays in place and the page reports “Not saved: the entry in the audit log could not be written. Please try again.” An embedded chat window disappears on the next page load. What else is deleted and when is covered in Retention and deletion.
Quota this month
The Quota this month card shows the month, how much is used and how much is left, the number of Messages and a bar. The quota applies to the whole account; all assistants draw on it.
Once it is used up, the card reads “The quota is used up. Until the next month the assistant only returns the fallback answer.” The chat window and the test conversation then show the Fallback answer; the API returns status code 429 with the wait time until the next month. If the figures cannot be loaded, it reads “The current state could not be loaded.” Quota size and warning levels are covered in Plans and quotas, plans are listed under Pricing.
Messages
Errors in a single field appear at that field. Everything else is reported by the page with these sentences:
| Cause | Message |
|---|---|
| Read role tries to change something | “With the Read role this area is view-only. Changes need at least the Edit role.” |
| Delete without the Administration role | “This needs at least the Administration role.” |
| Handover address without the Owner role | “Only the account owner can do this.” |
| Plan limit reached | “The … plan limit is reached: … of …. See Billing for the overview.” |
| More than 30 changes per minute and user | “Too many attempts. Please wait a moment.” |
| Trigger word for an unknown topic | “No such topic: … Words can only be stored for the topics listed.” |
| Audit log entry failed when creating, saving, publishing, restoring, deleting or generating a new key; the change is not applied | “Not saved: the entry in the audit log could not be written. Please try again.” |
| No connection to the service | “The service is not responding right now.” |
| Error in the service | “The service reported an error. Please try again later.” |
| Assistant deleted in the meantime, for example in another window | “This entry no longer exists. Reload the page to see the current state.” |
| Any other refusal | “That did not work. Please check your entries.” |
Via the API
The actions on this page are also available through the API, with the same limits. Creating an assistant, changing it, publishing a version and restoring one write their audit log entry in the same step as the change. If that entry cannot be written, the API responds with 500 and the code not_logged, and the change is not applied: neither the assistant nor the version is created, the previously active version stays active, and changed fields keep their previous value. A change via PUT appears in the Audit log as Assistant changed. The table there shows Time, Action, Subject, Who and Details. Details lists what the entry records in its data field, which GET /api/v1/activity also returns: the field names under changed, and for status, widget_enabled (Enable chat window) and widget_consent (Consent before the first conversation) also the old and new value, shown in the table with an arrow between them and returned by the API under from and to. A PUT that changes nothing writes no entry. Requests, responses and examples are in Knowledge and assistants via the API.
| Method | Path | Purpose |
|---|---|---|
GET, POST | /api/v1/assistants | List and create assistants |
GET, PUT, DELETE | /api/v1/assistants/{id} | Read an assistant, change basics, delete |
POST | /api/v1/assistants/{id}/version | Publish a new version |
POST | /api/v1/assistants/{id}/versions/{number}/restore | Restore a version |
GET | /api/v1/usage | Current quota |
Frequent questions
How do I switch an assistant off at short notice?
Under Basics, set Status to paused and click Save. The chat window stops answering from the next request, and the snippet can stay on your website. Switching off Enable chat window has the same effect. Set it back to active to switch on again.
Why does the chat window not appear on my website?
Check both switches: Status must be active, and Enable chat window must be on. Right after creation neither is the case. The embedding itself is described in Embed the widget.
Does a new version change running conversations?
No. A conversation keeps the version it started with, including threshold and handover address. New conversations start with the new version. Changes to the Basics, by contrast, take effect immediately.
What happens when the quota is used up?
Until the next month the assistant only returns the Fallback answer in the chat window and the test conversation; the API returns status code 429. This affects every assistant in the account.
Can a deleted assistant be restored?
No. Deleting removes the assistant with all versions and conversations. If you might still need it, set it to paused instead.
Why can I not change the handover address?
The handover email contains the conversation unmasked, so only the account owner can change the address. This also applies to restoring a version with a different address.
Ask it yourself, Assistant of this website
Automated assistant