The Sonnet option uses Sonnet 5.5. Existing Sonnet 5 assistants move automatically; Haiku remains the default for an assistant without an explicit model selection. Past usage keeps its original model and amount.
Under Handover, set Name in the conversation, for example Team Denkploeg. Leave blank to use the staff member’s first name. The actual staff identity remains in the audit trail. Assistant answers show bold text, lists and safe links in Conversations and Live; visitor messages remain plain text.
A virtual assistant on your own site. A visitor asks a question, and the assistant answers from your knowledge: your sitemap, an FAQ page and the questions and answers you write yourself. If it doesn't know, a colleague gets the question by email, or a colleague takes over the conversation live.
On WhatsApp, the assistant explains that typing mens requests a staff member. It does not refer to the email or order buttons from the website widget there. This also applies outside the team's opening hours.
You find the studio under Support in the rail. The module is switched on or off per workspace. A team member with the maker role reads and answers conversations; setting up an assistant is for an administrator or owner.
Creating an assistant
If you use Website Studio, you also choose an assistant in the settings of your site (Support tab). That is explained there; in short: an assistant you create for a site is switched off when it is made (it costs money per answer, so you switch it on), the script only appears in the pages when you put the site online again and the assistant is on, and the domain of the site is added to the allowed domains by itself. A site assistant has a public key that is on the site; Website Studio stores it readably with the site, because it is in every page anyway. See Website Studio.
- Choose New assistant at the top of Support in the rail (or on the Assistants page). Give it a name, for example "Maravel help". A workspace can have several, such as one for the web shop and one for the business site.
- You immediately get one line of code. Paste it into the
<head>of every page where the assistant should appear. - Copy the line now: the key in it is shown on screen only once. The database in Support only holds a hash. If you refresh the page, it is gone and you create a new one. The old key then stops working immediately. Later Settings only shows the start of the key, with
JOUW_SLEUTELin the line: do not paste that line, because a truncated key never works, not even if you put only the start that Settings shows (dps_plus six characters) indata-assistent. The loader then stops by itself with a message in the browser console, makes no request, and the button does not appear. - Go to Settings of the assistant. Switch it on, enter your domains and an email address for questions it can't answer.
The assistant only does something when it is on and the domain of your site is among the allowed domains. The key only works on those domains. Write them as maravel.es or https://www.maravel.es. With and without www counts as the same site; add another subdomain, http or another port separately. If a domain is not in the list, your browser shows a CORS error in the console and the button does not appear.
If your site has a Content Security Policy, allow our domain in script-src, connect-src and frame-src. The screen shows the exact domain.
A visitor always sees that they are talking to a virtual assistant, even if you change the text of that notice. The notice is mandatory and can't be switched off.
For customers or for colleagues
Under Settings, Audience sets who the assistant helps:
- Customers and visitors: the default. The assistant is on your site and talks to visitors.
- Colleagues (internal portal): the assistant is in a portal behind a login and helps your own people use that portal: where things are, how a screen works, how a way of working goes. For access or permissions it refers to an administrator.
An internal assistant only answers a signed-in user. Recognising signed-in users is then always on, and your portal has to pass a valid proof with every session (see Linking Support). Without a valid proof, someone sees "Sign in to the portal to use the assistant" straight away. Nothing goes to the model, no email or live conversation reaches your team, and the suggested questions stay hidden. Looking up orders is off for an internal assistant, and it does not answer through WhatsApp. That way the knowledge from your portal does not reach outsiders.
Preferably pass the proof with a function that fetches a fresh proof, so a colleague who stays on a page for a long time does not suddenly look signed out. The welcome message is not secret: put nothing in it that is only meant for colleagues. The test chat in the studio works without signing in; in your portal only with a proof.
Feed an internal assistant with the help texts of the portal itself, through a feed or a push (see Knowledge from a portal behind a login), and not with the sitemap of your public site. If you want to help both customers and colleagues, create two assistants: knowledge for colleagues does not belong in an assistant that is on your public site. Also adjust the welcome message and the suggested questions, because by default they are written for visitors.
Appearance
Under Settings you set what the assistant looks like. Settings has four tabs: Appearance, Opening hours, Handover and Site and privacy. On the right is a live preview that shows every change right away, even before you save.
- Where it appears. Floating bottom right or bottom left, or a fixed tab on the right edge. On mobile it can fill the whole screen.
- The button. A chat bubble, a question mark or a hand, or your own image (PNG, JPG, WebP or GIF, smaller than 512 kB), chosen or uploaded with the media picker. An image on your customer's site must have recorded rights. With text on the button it is no longer a round button.
- Colour and shape. By default the assistant follows the active brand profile of your workspace. If the profile changes, the assistant changes with it. If you want to deviate, set a field to your own value: accent colour, second colour, light and dark background, typeface, corner radius and distance from the edge. You can always go back to the brand profile.
- Light or dark. By default it follows your site. Pin it with
data-thema="licht"or"donker"on the script, or withdenkploegSteunThema()in your own code. - Tone and language. Informal or formal. Languages: Dutch, English, Spanish, French, German, or automatic (first the language of the site, then that of the browser). The assistant follows
<html lang>without a reload: if your site changes language (a language picker), the button and the window get the new language. If a conversation is running it is left as it is; new answers come in the new language and the rest of the window follows once the conversation is over and the window opens again. At most one switch per second. - Texts. You write the welcome message, the invitation and the suggested questions (at most five) yourself. If you leave a field empty, our default text in that language applies.
- Behaviour. Source links below an answer, thumbs up and down, an invitation after a number of seconds, and on which paths the assistant does or doesn't appear (a
*at the end is a wildcard, such as/shop/*). - Attention. A sound and a flashing tab title when an answer arrives while the visitor is on another tab. The sound only plays after the visitor has done something in the chat, and they can mute it.
- Emergency contact. If the chat does not load (an outage, a poor connection), the loader tries once more after two seconds. If that fails too, it shows a small "Contact" button in the same place, pointing to the address you give:
mailto:info@yoursite.com,tel:+31201234567or a contact page on one of your domains. Set it under Availability (Contact), or on the script withdata-noodcontact="mailto:info@yoursite.com"(which takes precedence). If the assistant is deliberately switched off, nothing appears. The loader keeps the last good button settings (colour, name, position and emergency contact, never a conversation) in the visitor's browser for at most seven days, so the emergency button exists even when the first request already fails. For your own code, the script fires adenkploeg-steun-foutevent onwindowwhen it fails to start.
Knowledge: where the assistant gets what it says
Under Knowledge you decide what the assistant knows. Without a source it only knows your own questions.
Sitemap or site
Give the address of your site or sitemap. The assistant reads up to 300 public pages, follows robots.txt and doesn't read a page with noindex. An internal address is not read. After that it updates itself every night, and only what has changed is read again. If you want it now, choose Read again now.
For each source you see the status: queued, being read, read, or not read with the reason (the site did not respond, was too slow, there was no readable text, an error code).
One page, such as an FAQ
Choose "one page (FAQ)" to have exactly one page read. Handy for an FAQ that isn't in your sitemap.
Your own questions and answers
Write a question with its answer, per language. Your own questions take precedence over what is on your site. Use them for what isn't written anywhere, or isn't written well. A new question works right away. You can switch them on and off without deleting them.
Suggestions
The assistant also learns from what it didn't know. Every morning Denkploeg looks at the questions of the past two weeks that the assistant had no answer to, or where a visitor gave a thumbs down. They are grouped into a suggestion: a topic, the questions under it and a draft answer.
A suggestion also comes from a conversation where a colleague took over and answered, or where a colleague corrected an answer from the assistant. The answer is then what the colleague wrote, with the conversation as its source. A suggestion says where it comes from: unanswered questions, a handover or a correction. Email addresses, phone numbers and bank account numbers from the conversation are removed. Denkploeg does not recognise names, so read every suggestion before you accept it.
A suggestion appears under Suggestions for your own questions. Nothing goes live by itself. You edit the question and the answer and choose Accept, and it lands among your own questions, or you choose Discard. Test chats don't count. When suggestions are waiting, their number shows next to Knowledge in the menu and you get a notification. Suggestions from unanswered questions cost a few credits; suggestions from a colleague's answer cost nothing. If the credits or the cap are used up, no new suggestions appear and the visitor notices nothing.
Portal behind a login
Is your knowledge behind a login, such as a customer portal? Then a sitemap doesn't work. There are two other ways: a feed that we fetch, or a push from your portal. See Knowledge from a portal behind a login.
What has been read
At the bottom is every page the assistant knows, with the number of chunks of text. That way you can see whether the assistant really knows what you think it knows.
Follow-up questions and bundles
Under an answer the assistant adds two or three short follow-up questions. In the window on your site they are buttons, on WhatsApp reply buttons. A click asks that question. The assistant only suggests questions it can answer with your sources, and where it fits it lets one lead to the next step, such as a trial or a plan. If someone asks about the price of a product and your sources contain a bundle that includes that product, the assistant mentions that bundle, with the price from your sources. If there is no bundle, it mentions none.
Looking up orders
Have you connected a Shopify store under Connections? Then the assistant can look up an order. The visitor gives their email address and order number; only if those match do they get details: status, payment and shipping status, items and the tracking link. Never an address, phone number or amount. If something doesn't match, the answer is always the same, so guessing reveals nothing.
A signed-in visitor only has to give the order number. See Linking Support. You switch it on or off per assistant under Settings, Knowledge and orders. Shop platforms other than Shopify will follow.
On your site: who is signed in
If your assistant sits in a portal or web shop with a login, your site can tell it who is signed in, so the assistant knows the visitor by name. What your developer needs for that is in Linking Support.
The detail of an assistant
Under Assistants you pick an assistant on the left. On the right is its detail with four tabs, and each tab has its own Save, which saves only the fields of that tab.
- Tone: name, role in one sentence, form of address, who it is for and language.
- Sources: what it reads, with the status, and whether source links appear under an answer and whether it uses your product catalogue. You add the sources themselves under Knowledge.
- Channels: the allowed domains of your site, the mail address for questions it cannot answer and live chat.
- Limits: the monthly cap with what has been spent, the daily cap, messages per day and the retention period. At the bottom is Turn on or Turn off: turning on changes what visitors see. An assistant without a domain appears nowhere, even when it is on.
An invalid domain, mail address or emergency contact is refused with a message and changes nothing. You change appearance, opening hours and privacy with More in Settings.
Under Knowledge you add a source with Add a source: a drawer asks for the address and the kind. Text from a site stays a claim, never an instruction. Details on a source opens a drawer with what was read, plus Read again now and Delete.
Conversations and unanswered
The Support menu has six lines: Overview, Conversations, Live, Assistants, Knowledge and Settings, with New assistant above them. Next to Conversations you see how many conversations from the past week have a question without an answer, next to Live who is waiting for a team member right now. Anyone who may only answer conversations does not see Knowledge, Settings and New assistant.
- Conversations is an inbox: the conversations of one assistant on the left, the conversation you pick on the right, and on a wide screen the visitor next to it (name, email, page, language and how long the conversation is kept). You filter on Wants a person, Unanswered, Visitor reports and Closed, and you search for a name, an email address or a word from a message. Every answer of the assistant shows the sources it came from.
- If a conversation is still running and live chat is on, choose Take over and reply yourself; with Hand back to assistant the assistant joins in again. If a visitor left an email address, you reply from your own email.
- For an answer that was wrong, choose Improve this answer, and for a question without an answer Turn this into your own question: you write the right answer and it becomes one of your own questions. If the visitor left an email address, the question is also in your inbox.
- The assistant preparing an answer that you only sign comes later; for now a person writes the answer.
- Dashboard shows the last thirty days, without test chats: the number of conversations, how many the assistant resolved itself, how many emails went to a colleague, how many questions stayed unanswered, the thumbs, what it cost this month and which sources the answers came from most often. "Resolved" is meant strictly here: a thumbs up, or a conversation with one question, without an unanswered question and without an email to a colleague. Someone who asks a follow-up may not have been helped yet.
- Monthly report (
/support/monthly-report) puts a calendar month together: the conversations per channel (site, WhatsApp, Instagram or Messenger), what the assistant resolved, the handovers, the questions it most often had no answer to, and the suggestions you confirmed. Each source has a score: the share of thumbs up among everything the visitor reacted to. A follow-up question or an email to a colleague within ten minutes of the answer, without a thumb, counts as not helped. The report is a screen and is not sent by email.
Conversations are kept for the number of days you set (90 by default, 730 at most). After that they disappear by themselves.
Data of one visitor (GDPR)
At the bottom of Conversations you can export all conversations of one visitor as JSON or erase them, for an access or erasure request. Search by the visitor ID from a conversation or by the email address someone left.
A draft from the assistant
When you open a conversation you can have the assistant write a draft for the visitor's last message. The draft sits above the reply field, with the sources the assistant relied on. If it found no source, the screen says it is not sure and it makes nothing up.
You read the draft, edit the text, have it rewritten, discard it or send the conversation to the team (which creates a report with high priority). Nothing goes to the visitor before someone signs: Ask for a signature puts the reply under To sign. There the whole text is shown, with the channel and a link to the conversation, and signing asks for a code from your app. Exactly that text then goes out, under the first name of whoever signs. A draft costs a few cents, with the same caps as the assistant; you can have at most six made per conversation per hour.
When a shop is connected you can look up an order next to the draft with the order number (a number in the message is offered as a button). The card shows status, payment, shipping, what was ordered and the shipment, read-only and without address or amount; it is not stored on our side. If the order does not demonstrably belong to the visitor (the email address of the order is not the same as the visitor's), the card says so and the draft does not use the order. You can have the details used for the next draft. Looking up orders works for Shopify; WooCommerce follows once that connection is among the working connections.
Visitor reports
Sometimes the assistant cannot help a visitor itself. It then puts a report with your team, and you see it under Conversations, with the Visitor reports filter. A report is created in three cases:
- the assistant cannot answer the question from its knowledge (no answer);
- the visitor asks for a person while nobody can join live, because live chat is off, you are outside your opening hours, or nobody took over the conversation (human requested);
- the visitor reports that something is broken or not working (malfunction).
In the chat window the visitor sees a short confirmation: "Your question is with our team, we will get back to you." If nobody is signed in, there is also an email field where they can leave their address, so you can get back to them. That field is not required.
In the list you see for each report the question, a summary by the assistant, the page the visitor was on, who was signed in (name, email and customer, if your site passes that along) and a link to the conversation. You can filter by assistant and by status. Anyone who has the right to answer conversations can pick up a report, so colleagues see whose it is, finish it and leave a note for the team. The visitor sees none of this. A report that is still open counts as a number on the Visitor reports filter.
Every report is a ticket. You give it a priority (low, normal, high or urgent), assign it to a colleague who may answer conversations, pick at most five labels from a fixed list (order, return, payment, delivery, product, account, outage, feedback, spam) and optionally set an SLA (respond within 4 hours, 8 hours, 1 day, 2 or 3 days). You do that with Save ticket under the report. A report always starts as normal, without labels and without an assignee, whatever a visitor writes: visitor text never changes a priority and never assigns anything to a colleague or an agent. Above the list you search the question, summary and note and filter by priority, label and assignee, with quick chips for Overdue, Assigned to me and Urgent. An expired SLA shows as a red badge on the report.
For every report an email also goes to the address you set under Settings, Handover, with the same details and a link to the portal. A reply to that email goes straight to the visitor if they left an address. If a visitor only leaves an address after the report, one short second email follows. Under Handover you can also switch reports off.
A report belongs to its conversation: after the assistant's retention period it disappears by itself, and anyone you erase for a GDPR request (also by the email address under a report) takes their reports with them. There is a brake on the number of reports per conversation and per visitor, so nobody can fill your list with spam.
The test chat
Under Settings you can ask the assistant something yourself. The test chat uses the saved settings and your real knowledge, costs a few cents and doesn't count anywhere (not in the dashboard, not in the suggestions).
Live chat: a colleague takes over the conversation
By default the assistant emails a question it can't answer. With live chat a colleague can join in.
- Switch it on under Settings, Handover, "Live chat with a team member". Set how many minutes a visitor waits before the email fallback (3 by default, between 1 and 30).
- If a visitor asks for a person, they see that they are waiting and the assistant stays quiet. If you use opening hours (Settings, with time zone and exceptions such as public holidays), a question outside those hours goes straight to email.
- A colleague opens Live in the Support menu, sees the running conversations and chooses Take over. From then on they answer themselves. With Hand back to the assistant the assistant joins in again, with Close the conversation is done.
- If nobody takes over within the set time, the team gets the question by email and the assistant joins in again.
A conversation stays under Live until it has been quiet for half an hour. If a colleague is away from a conversation for ten minutes, it goes back to the assistant. Only one colleague at a time can take over a conversation. Every action is in the audit trail, without personal data.
Conversations in your plan
You do not pay per answer but per conversation, and the number is part of your plan. How many conversations your plan includes is on the Subscription page and on the price list; those numbers change with the offer and are therefore not listed here. A conversation is one visitor with everything they ask in one go (at most 25 questions; an anonymous visitor of a customer site, without proof of a signed-in user, at most 10), on your site or in WhatsApp. At the top of Support you see "Conversations this month: x of y".
- Within the limit a conversation costs you no credits.
- Above it a new conversation costs credits, once per conversation; the amount is on the Credits page. If automatic top-up is on, we already top up from 90 percent of your conversations, within the limits you set yourself. You buy more conversations by buying credits: the "Buy more conversations" button under Support goes to Credits.
- Notifications. At 80 and at 100 percent of your conversations you get a notification in the bell and by email, as you do for every automatic top-up and when the month's maximum for top-up is reached. Each notification comes once a month.
- Never a dead assistant. If your conversations and credits are used up and top-up is off or at its maximum, no new conversation starts with the AI. The assistant politely asks the visitor to leave a message with name, email address and question. It lands in your inbox as a conversation and you get a notification. Buy more conversations and it works again right away.
- Against spam. A bot cannot use up your conversations and credits: there is a limit on new conversations per hour per visitor, per IP address and per assistant, and it applies before anything is counted. Above your plan at most 10 paid conversations start per hour (80 credits). If that is reached you get a notification, visitors get the leave-a-message option and paid conversations wait until the hour is over. Leaving a message has an hourly cap too.
Costs and cap
The assistant talks to a language model, and that costs money. What you want to spend on it is up to you.
- Model. Haiku is fast and cheap, Sonnet is smarter and more expensive. Haiku is the default.
- Daily and monthly cap in euros, per assistant. Empty means no cap of its own. The monthly cap of your workspace and that of your agency also apply: the strictest limit wins.
- Messages per day, at most (1000 by default, between 10 and 20,000).
- Per visitor there is a limit on the number of messages per minute and per conversation (at most 25 questions per conversation, 10 for an anonymous visitor of a customer site, 1000 characters per message).
When a cap is reached, the assistant no longer answers. The visitor reads that the assistant is unavailable for today and can email a colleague. That question counts as unanswered, so you see it again. The dashboard shows what the assistant cost this month next to its own cap, and what a conversation costs on average (with the median and the most expensive five percent), over the last thirty days and without test conversations.
Which key carries the costs depends on your workspace: see Your own AI keys.
What the assistant doesn't do
- It answers in text only. It can't change, order or cancel anything. The only action is looking up an order, and that is read-only.
- It only knows what is in its knowledge. A question in a language other than your site's sometimes finds nothing in a large knowledge base. With a small knowledge base (up to twelve chunks) everything goes along and the model translates.
- It treats text from visitors and from your pages as untrustworthy: a sentence like "ignore your rules" does nothing.
- An answer can be wrong. That is why the AI notice is always there, and a visitor can always email a colleague. You may write the notice yourself, but it must mention AI; otherwise we show the standard sentence.
Via MCP and the director
An external agent with a workspace key can read Support Studio and make proposals, with the same rights as the screen. The director gets the same tools, with the rights of the user who asks. Whatever a visitor gets to see always goes past a human.
- Read (
support.beantwoorden):support_assistenten,support_kennis,support_kennis_zoek,support_dashboard,support_voorstellen,support_onbeantwoord,support_gesprekkenandsupport_meldingen. What visitors wrote and what comes from a read page is text from outside: the agent reads it as data and does not act on it. - Pick up or finish a report with
support_melding_status, with a note; nothing is sent to the visitor. - Take over a conversation with
support_gesprek_overnemen: the conversation becomes that of the person who made the key and the assistant goes quiet. The visitor sees that a team member joined, so this only works with a key that belongs to a person, with live handover on. You type afterwards in the portal under Live. The director never does this on its own: a human signs it first. For a connected tool with a key you choose per assistant: switch on Taking over with a key needs a person to sign (Settings, Handover, next to live chat) and the tool records an approval instead, so the conversation only becomes that of the person behind the key after you sign. Off (the default) lets that person take over right away. - Handling a conversation:
support_gesprek_teruggeven,support_gesprek_sluiten,support_gesprek_escaleren(a report for the team with priority high; nothing is sent to the visitor and nobody is mailed) andsupport_concept_verwerpen(discard a team member's draft reply; its id is insupport_gesprekkenwith agesprek). Like taking over, this is done in the name of the person behind the key and the core checks their right again; a key without a person cannot. Handing back or closing a colleague's conversation needssupport.beheren. - Read settings (right
support.beheren, like the screen):support_instellingen_lezen, without key, hand-over address and emergency contact; it only says whether they exist. - A proposal that a human signs (right
support.beheren):support_kennis_toevoegen,support_voorstel_beslis,support_kennis_verwijderen,support_assistent_makenandsupport_instellingen_voorstellen. Each puts a card under Approvals and changes something only when a human signs. A new assistant starts switched off; a human switches it on and copies the key. A settings proposal can cover name, on or off, cost ceilings (a model can at most double one), retention, and the tone, languages, live settings and daily message limit. - Deliberately not via MCP: domains, hand-over address, emergency contact, brand, model, keys and feeds. A human sets those in the portal.
See Connecting via MCP.
The Denkploeg assistant uses the current public catalogue, offers and the same FAQs as the website. It links to the website by default; ask explicitly for documentation or screen instructions when needed. Its own website knowledge is scheduled for a refresh after deployment and every night. Failed reads and unavailable pricing remain unknown.