AI assistant
The AI assistant lets your workspace answer with an AI model. Configuration is per workspace and managed by an admin under AI settings.
This page covers AI configuration, the knowledge base, and how to train the bot so it answers your contacts automatically.
Open Settings and use the AI assistant and Knowledge base tabs. Both tabs are admin-only — supervisors and agents do not see them.
Credentials (BYOK)
API keys live in their own Credentials tab — n8n-style: you store each key once with a name and a provider type, then bind it to whichever feature needs it. The assistant's model can run on:
- OpenAI (chat + embedding)
- Anthropic (chat)
- Google Gemini (chat)
- xAI (chat)
- DeepSeek (chat) — only with your own key, not on ConnectWiz's key; never in a workspace with a TikTok channel, a Google account (YouTube, Business Profile) or a Gmail mailbox connected, where the assistant answers on ConnectWiz's default model instead
- Meta (Muse) (chat)
Web search, voice, image and request keys live in the same place. Everything about adding, testing, replacing and deleting keys — on the web and in the mobile app — is on Credentials.
A credential is encrypted at rest and is never displayed again after you save it — the list shows only the last 4 characters so you can tell two keys of the same provider apart (e.g. Prod OpenAI ····qZ4d vs Test OpenAI ····HM87).
Each credential has a Test connection button that calls the provider's public list-models endpoint and records the verdict (🟢 OK / 🔴 Failed) on the row. Failed probes show the short status — no key fragment, no headers.
If you migrate from the previous (single-key) shape, your existing OpenAI key is moved automatically into a credential named Default OpenAI and both the chat and embedding bindings point at it. No reconfiguration needed.
Settings
The AI tab no longer asks for an API key — it asks which credential to use for chat and which to use for embedding, then offers a model picker filtered by the credential's provider type.
| Setting | What it does |
|---|---|
| Enabled | Master switch for the workspace's AI assistant. |
| Chat credential | The stored credential that powers chat replies. |
| Chat model | One of the catalogue models the chat credential offers (filtered to chat-capable models only). The picker shows context window, vision / tools / JSON-mode / reasoning tags inline. |
| Embedding credential | The credential that powers knowledge-base indexing. Currently OpenAI-only — see the note below. If left blank, the chat credential is reused (when it is OpenAI). |
| Embedding model | Embedding catalogue entry (e.g. text-embedding-3-small). |
| System prompt | Instructions that shape the assistant's tone and behaviour. |
| Temperature | How creative replies are (0 = focused, 2 = exploratory). |
The knowledge base stores vectors at a fixed dimension (1536, matching
text-embedding-3-small), so only OpenAI credentials are accepted for the
embedding binding. Other providers' embedding models will land in a later
slice alongside multi-vector support.
The chat / embedding bindings update immediately — there is no migration step. Switching to a different chat credential (e.g. swapping OpenAI for Anthropic) reroutes the next bot reply through the new provider.
If the assistant is turned off, or no credential is bound, the AI simply stays silent — nothing breaks.
Knowledge base
Teach the assistant about your business by adding knowledge sources. Each source is broken into small pieces and indexed so the assistant can find the most relevant material when answering.
Three kinds of source are supported:
- Text — paste any block of text (a policy, an article, an FAQ section).
- Q&A — a single question and its answer.
- File — upload a document (PDF, Word
.docx, plain text, or Markdown). - URL — fetch a single public web page and train on its readable content.
After you add a source it is processed automatically. Its status shows the result:
| Status | Meaning |
|---|---|
| Pending | Queued for indexing. |
| Processing | The source is being indexed. |
| Ready | Indexed and searchable. |
| Failed | Indexing could not complete — for example AI is turned off or no key is saved. The failure reason is shown on the source. |
The list shows only each source's title, type, status and chunk count — never the raw text you added or the underlying index.
You can edit a source to update its title and re-enter the training material. Saving triggers a re-ingest: the old chunks are deleted and the new content is indexed under the same source. The source's type is fixed — to switch a text source to Q&A (or back), delete it and create a new one. Since the raw text is never returned, the editor starts blank and you re-enter the full content.
You can also remove sources you no longer want; deleting a source also removes everything indexed from it. Knowledge sources are private to your workspace.
File uploads
File sources accept PDF (text-based), Word .docx, plain text, and
Markdown documents up to 25 MB. Uploads are parsed and indexed in the
background, so a new file row starts as Processing and flips to Ready
once embedding finishes — refresh the page or wait a few seconds.
Things to know about file sources:
- Scanned (image-only) PDFs are not supported. Text-based PDFs work; if a PDF was created from scans, export the original document or transcribe the text into a text or Q&A source instead.
- The original filename is shown when you don't set a custom title. The underlying storage path is never displayed.
- Editing a file source is a re-ingest: choose a new file to replace the old training material entirely. You can also update only the title without uploading a new file.
- Each plan has a knowledge-base size limit measured in chunks (small indexed pieces). The panel shows your current footprint at the top of the page; if you hit the limit, delete unused sources or upgrade your plan to add more.
Train from a URL
URL sources let the assistant learn from a single public web page — paste the URL, give the source an optional title, and save. The server fetches the page, runs a readability extractor to strip navigation / ads / footers, and indexes the readable article in the background. A fresh URL row starts as Processing and flips to Ready once embedding finishes.
Contact facts are always captured. The readability extractor deliberately
drops boilerplate — but a footer or contact widget is exactly where a business
puts its phone number, e-mail, address, opening hours and social links. So,
in addition to the article text, the server harvests those structured facts
straight from the raw HTML (JSON-LD business schema, tel: / mailto: links,
footer / contact regions, visible phone-number patterns, meta description) and
stores them as a dedicated "İletişim / Contact" chunk. The result: asking
the bot "telefon numaranız nedir?" / "what's your address?" retrieves a tight,
on-topic block even when that information never appears in the page's main body.
What's supported and what isn't:
- Public HTML pages over http(s) only, up to 10 MB of body. Pages behind a login or behind a JavaScript-only renderer can't be indexed this way — for those, paste the content into a Text or Q&A source instead.
- PDFs and Word documents served from a URL are not crawled. Download the file and use the File source type — the parser there extracts text natively. For whole-site indexing see Train from a sitemap / site below.
- Private and internal addresses are blocked. URLs that resolve to loopback, link-local (including cloud metadata services), or any private subnet are refused at request time with a clear "private network" error — we never let the bot probe internal infrastructure.
- Editing a URL source re-fetches the page. Saving with a new URL (or the same URL) deletes the old chunks and re-trains on the freshly fetched content. Editing only the title leaves the indexed page untouched.
- The same knowledge-base size limit applies as for file sources — if the page's chunks would exceed your plan's chunk cap, the row ends Failed and no partial chunks are indexed.
The original text you add is used only to build the search index. The assistant never returns your raw sources or the underlying index to anyone.
Train from a sitemap / site
Site sources let the bot learn from many pages on the same domain in one go. Pick the Site source type, paste either a sitemap URL or the front page, set how many pages to index, and save. The crawl runs in the background and the row shows how many pages were indexed plus how many were skipped.
How the crawler picks pages:
- If you paste a sitemap URL (or one that returns a
<urlset>/<sitemapindex>XML), the URLs in the sitemap are used. Nested sitemap indexes are followed. - Otherwise the crawler probes
/sitemap.xmland/sitemap_index.xmlat the site root; if neither responds, it falls back to same-domain BFS from the page you gave it.
Every crawled page gets the same structured contact-fact extraction as the single-URL path, so each page's phone / address / e-mail / hours land in a dedicated contact chunk for that page.
Limits and policies:
- Hard ceiling of 200 pages per source; default budget 50. The knowledge-base chunk limit on your plan still applies — if the crawl would exceed it, indexing stops early and a "truncated" note is stamped on the row.
- robots.txt is respected. Disallowed paths are skipped silently.
- One request per second per host, identifiable user-agent.
- Each page goes through the same private-network guard as the single-URL path — internal addresses are refused.
- Editing the URL re-crawls. Saving with a new sitemap / page drops the
indexed pages and starts again. Editing only the title (or only
max_pages) leaves the index intact.
Headless rendering (advanced, optional):
The default crawler reads server-rendered HTML. For sites whose pages are
empty until JavaScript runs, the operator can enable a headless mode that
renders each page in Chromium first. This needs a separate Browserless
container in the deployment — see docker-compose.yml for the commented
service block — and the env flag KNOWLEDGE_CRAWLER_DRIVER=headless. If the
container isn't reachable, the site source fails fast with a clear error and
the static crawler keeps working for every other tenant.
Training the bot
The knowledge base is the bot's training. The more relevant sources you add (policies, FAQs, product details), the better the assistant answers.
Knowledge-base lookup is hybrid, combining two signals with Reciprocal Rank Fusion (RRF):
- Vector similarity — how semantically close a chunk is to the question.
- Keyword match — how many of the question's distinct terms literally appear in the chunk (case- and accent-insensitive). A question mentioning both "telefon" and "numara" ranks a chunk containing both above one containing only "telefon".
The two rankings are fused, so a chunk that scores well on both signals wins — no hand-tuned weights. A chunk that contains the visitor's exact phrasing — a phone number, a product name, an address fragment — bypasses the relevance floor entirely (an exact-term hit is a high-precision signal), so it surfaces even when its embedding alone would rank it mid-pack.
Chunks with no keyword hit must clear a relevance noise floor to be used; the floor is tuned so genuinely relevant material is kept while orthogonal noise is dropped. Because irrelevant chunks are dropped, the bot's "sources used" panel only ever lists the sources that actually fed the answer (the chip's tooltip shows the percent match).
Sources are indexed in small, sentence-aware chunks (roughly 1000 characters, split on sentence boundaries with a short overlap). Smaller chunks keep each embedding sharp — a single fact embeds far better in a short, topical chunk than buried in a wall of text — which makes retrieval more precise.
Tips:
- Add short, focused sources. A clear Q&A pair or a single-topic text block is easier to match than one giant document.
- Use the system prompt to set tone and rules (for example: "Answer only about our store. If unsure, ask the customer to wait for an agent.").
- Keep sources up to date — delete anything outdated so the bot doesn't answer from stale material.
Learning from your team's answers
Besides the knowledge base, the assistant can learn from real conversations: a question a customer asked and the answer given becomes a Q&A example it can reuse.
By hand. Open a message's menu in the inbox and choose Use in AI training — for this contact, this department or everyone. It works on a reply from your team and on one of Wiz's own answers, so a workspace can lock in a good answer the assistant gave. A customer's message or a system line can never be used.
Automatically. Turn on AI assistant → Knowledge & answers → Auto-learn from agent replies. From then on, every substantive reply a person on your team sends is learned — never the assistant's own replies. Before anything is stored, one short AI call (on your workspace's own chat model, metered like any other assist call) rewrites the pair:
- it decides whether the answer is general — true for any customer: policies, how-to steps, prices, opening hours, product information — or personal — about this person's own order, booking, appointment, balance or account;
- it writes the question as a short, generic question with no names,
contact details, order numbers or dates, and removes personal details from
the answer (replacing them with placeholders such as
[name]).
A general answer is then learned for everyone; a personal one only for that contact (and only when the contact is saved with data capture on — otherwise it is not learned). The customer's own words are never stored as the question, and emails, phone numbers and long digit runs are masked once more on top. If the AI call fails, the answer is kept for that contact only, masked, and never for the whole workspace.
Review before use. With Review learned answers before they are used on, answers learned for everyone arrive in Settings → Training as Waiting for review; the assistant does not use them until an admin chooses Approve. Reject removes the answer. Filter the list by Waiting for review to see what is open. Answers kept for one contact are not held. The same review works in the mobile app (AI training → Learned answers).
Answers learned before 13 October 2026. Until then, automatic learning stored the customer's own words as the question and made answers available to everyone. Those examples were left as they are. To review them, open Settings → Training, filter Scope: Global and Source: Auto-added, and remove any example whose question or answer is about one person or repeats what a customer wrote word for word.
Mask personal data applies to the examples you save by hand; answers learned automatically are always masked.
Rebuilding the index (operators)
When the retrieval pipeline is upgraded (a new chunker, the structured contact-fact extraction above), existing chunks are built the old way. Operators can rebuild every workspace's knowledge base from each source's stored raw material with:
php artisan knowledge:reindex # dry run: lists what would be rebuilt
php artisan knowledge:reindex --tenant=acme --apply # one background operation per source
php artisan knowledge:reindex --tenant=acme --source=<id> --apply
The command is a dry run by default; --apply queues one background
operation per source. Text and Q&A sources are re-chunked from their saved
input, files are re-parsed from disk, and URL / site sources are re-fetched. The
new version is built next to the old one and replaces it only when complete;
if it fails, the old content stays. Passages whose text did not change keep
their embedding. Details: Knowledge health and background
operations.
Automatic replies
Once AI is enabled with a saved key, the bot replies on its own:
- When a customer sends a message, the assistant reads the recent conversation, finds the most relevant knowledge, and posts a reply.
- The reply appears in the conversation as a bot message, in real time, just like an agent's reply.
- The bot only answers customer messages. It never replies to itself or to your agents, so there are no reply loops.
- An agent can step in at any time — the bot does not lock the conversation.
If AI is turned off, no key is saved, or nothing relevant is found, the bot simply stays quiet and the conversation continues as normal.
Per channel
Each channel has its own AI auto-reply switch (Settings → Channels → Manage → AI, or the quick switch on the channel's row). Turn it off for a channel the team answers by hand; the workspace switch still decides whether the assistant answers anywhere at all.
The same tab holds Instructions for this channel: extra instructions the assistant follows only in that channel's conversations — for example "This is our wholesale number: quote prices without VAT." Up to 8,000 characters; leave it empty for none.
Both can be set while the assistant is still switched off for the workspace (or has no model yet): the tab says what is missing, and the settings take effect once it answers. Voice-only lines have neither — there is no written conversation to answer.
Where the assistant's instructions come from
The assistant stacks every instruction that applies to a conversation, from the broadest to the most specific. A later layer refines the ones before it; empty layers add nothing:
- Workspace — the system prompt (AI assistant → Prompt & rules), plus your company profile.
- Channel — the channel's own instructions (see above).
- Department — the department's AI instructions (Settings → Departments).
- Contact — the contact's AI instructions (the contact's Edit form), then what the assistant remembers about them.
- Conversation — instructions set on this one conversation.
A channel comes before a department because one channel (a WhatsApp number, say) can feed several departments.
Before all five come ConnectWiz's own security rules, which no layer can change — see AI security baseline.
Conversation memory
Before every answer the assistant reads the latest messages of the conversation — the customer's, your team's and its own. Three settings decide how much, all under AI assistant → Limits & safety → Conversation memory (in the mobile app: AI training → Limits and safety):
- Messages Wiz looks back — how many of the latest messages are sent with each answer. Default 20, at least 5, at most the platform ceiling (60). System events (an assignment, a status change) do not take a seat.
- Conversation budget (characters) — the most text those messages may add up to, default 24,000. The newest message always goes in; walking back, older messages stop once the budget is spent, so a few long e-mails cannot crowd out the rest. Any single message longer than 4,000 characters is shortened, with a note telling the assistant that part was left out.
- Summarise older messages — on by default. When a conversation outgrows the window, the assistant keeps a short running summary of the earlier part and reads it before the recent messages. The summary is refreshed in the background once ten more messages have fallen out of the window — one small call on your chat model, shown in AI usage as conversation summary. It keeps what the conversation needs (what was asked, order or booking references, what is still open) and leaves out codes, passwords, card and account numbers; e-mail addresses, phone numbers and long numbers are masked. It is given to the assistant as background information, never as instructions, and the recent messages win where they disagree. If a summary cannot be made, the assistant simply answers from the window.
Cost versus context. The whole window is sent with every answer, so more messages and a bigger budget mean more tokens on every reply. Raise them for long, detailed conversations (support cases, e-mail threads); lower them for quick chats. The summary is the cheaper way to remember a long conversation: one short call every ten messages instead of a larger window on every reply.
The same window is used everywhere the assistant answers from a conversation: automatic replies (including e-mail), smart reply suggestions, the flow AI answer and AI agent steps, and the Playground.
When the other side is a machine
The bot answers people. Sometimes the thing on the other end is another program — an auto-responder, a bridge, a bot on the customer's side — and two automated systems answering each other never stop on their own. That costs money on every turn and it does not stop at closing time.
ConnectWiz watches the shape of an exchange rather than its volume. A reply that comes back faster than a person could read counts as a machine turn, and an unbroken run of them trips the loop brake under Settings → AI assistant → Usage limits. It ships on, at ten turns.
The usual usage caps cannot see this: they count consecutive customer messages, and in a back-and-forth our own reply resets the count on every single turn.
What it looks at
Two things, and either one is enough:
- Pace — a run of replies that come back faster than a person could read.
- Content — the other side says it is automated ("this is an automated message", "do not reply"), our own words come back to us word for word, or the same sentence arrives three times. A bot that answers in eleven seconds is invisible to a stopwatch and obvious here.
The content checks are deliberately narrow. Repeating yourself when you are being ignored is the most human thing there is — but people rewrite as they repeat ("hello?", "are you there", "hello??"), and a program sends the identical string. Short words do not count at all, so "ok" three times is a person being brief.
There is no model call and no writing-style guessing: a feature whose job is to stop a runaway must not depend on the thing that runs away, and typo rates misfire on people writing in a second language.
What happens when it trips:
- The AI stops on that conversation for good — the same state as a visitor asking for a human.
- The conversation is handed over: it appears as needing an agent, is routed by your normal rules, and your agents are notified the way they always are.
- The other side is told once, and only once.
- The inbox banner says WHICH signal fired — "the same message arrived three times", "the other side identified itself as an automated system" — rather than one sentence for all of them. The brake has two triggers and they are not the same news to walk in on.
- The old wording, kept for anything handed over before the signal was recorded, says why — "this conversation was moving at machine speed" — rather than the wording used when a visitor asks for a person.
It does not undo itself. Below the limit the count clears on the first pause, so someone who merely types quickly is very unlikely to reach it. But once the brake has handed over, the AI is finished on that thread until an agent gives it back with Give back to AI.
The message the customer gets is yours to edit or switch off, next to the limit itself. Write it in English only — it is translated into the customer's language when it is sent, so you are not maintaining one apology in fifty-two languages. It is not sent when a channel's messaging window has closed (WhatsApp's 24 hours), because the conversation is already with a person by then.
The default wording never accuses anyone of being a bot. The brake reads a pattern, and a fast-typing person can produce one; what it says is true either way.
When the conversation is over
An assistant answers whatever it is sent. In the middle of a conversation that is right; at the end of one it is a loop with manners — "thanks" earns "you're welcome" earns "thanks again" — and a customer who notices can keep it going for as long as they find it funny.
Under Settings → AI assistant → Usage limits, Stop replying once the conversation has ended does what it says. The bot answers the first goodbye — not answering "thank you" at all would be ruder than the problem — and then lets the conversation end. You choose how many goodbyes it answers; the default is one.
Two things it will not do:
- It never silences a question. "Thanks! One more thing — can I change the address?" is a closing phrase in front of a request, and it is answered.
- It hands nothing to an agent. Nothing is wrong: the conversation ended well. The next real message re-arms the bot by itself.
WhatsApp rich replies
By default the bot answers in plain text everywhere. Under Settings → AI Assistant you can switch on Let the bot send WhatsApp rich messages, and it may then answer with one of WhatsApp's own interactive bubbles instead of a paragraph:
- Quick-reply buttons — up to 3 tappable answers, for a real either/or ("Confirm" / "Change the time").
- A menu — up to 10 options grouped in sections, for "which branch", "which service", "which delivery slot". A tapped row is unambiguous; a typed "the second one" is not.
- A media carousel — 2 to 10 scrollable cards with a picture and a caption, for things worth seeing. No Meta catalog and no template approval needed.
- A link button — a link delivered as a labelled button ("Book now") rather than a bare address.
- A location request — asks the customer to share their location with one tap, for a delivery or a courier pickup.
Three things to know:
- WhatsApp only, and only inside the 24-hour window. These bubbles exist only on WhatsApp, and only while the customer's service window is open. On every other channel — and on WhatsApp once the window has lapsed — the bot is not even offered them and simply writes text.
- The bot decides, and the choice is deliberate. It is told when each shape beats prose and, just as importantly, when it does not. A carousel only goes out when the bot has a real picture for every card from your own data; it never makes an image address up.
- One message, not two. The bubble carries its own text, so the bot does not send a "here are the options" line above it. In the inbox the message reads exactly like the same menu sent by an agent from the composer.
Off by default. With it off, the bot's replies are unchanged.
Multimodal (images, voice, files, video)
By default the bot only reads the text of a message. Under Settings → AI Assistant → Multimodal you can let it understand attachments too. Each capability is a separate toggle and all of them are off by default — with everything off, the bot behaves exactly as the text-only assistant.
-
Read images (vision). When on, images a customer attaches are sent to the chat model so it can "see" them. This uses your chat model — it must be a vision-capable model. If the selected chat model can't process images, the settings page warns you and images are skipped (never sent to a model that can't read them). To bound cost, only a few of the most recent images are sent per reply and very large images are skipped.
-
Listen to voice messages (transcription). When on, voice notes are transcribed to text and added to the conversation the bot reads. Transcription is OpenAI-only — it needs an OpenAI credential (it reuses your chat or embedding OpenAI credential by default, or you can pick a dedicated one). You can choose the transcription model (
whisper-1is the recommended default;gpt-4o-transcribeandgpt-4o-mini-transcribeare also available). If you have no OpenAI credential, the toggle is disabled with a hint. -
Read files. When on, the bot extracts the text of attached documents and adds it to the prompt. Supported formats: PDF, Word (.docx), plain text and Markdown. Long files are truncated to keep the reply cost bounded.
-
Understand videos. When on, the bot makes sense of attached videos using one of two strategies (chosen with the Video strategy selector):
- Frames + audio (any provider). The server samples a few keyframes from the video and sends them to your vision-capable chat model, and extracts the audio track and transcribes it (reusing the same OpenAI transcription credential as voice notes). This works on any chat provider — whatever of the two is available is used; if neither a vision model nor an OpenAI transcription credential is configured, the video is skipped. The number of frames is capped to bound cost, and frames share the same per-reply image budget as still images.
- Native video (Gemini). The whole video is passed directly to a
Gemini video-capable model (e.g.
gemini-2.0-flash). This is Gemini-only — if the bound chat model isn't a Gemini video model the settings page warns you and suggests Frames mode. Large videos are skipped to bound cost; video bytes are never sent to a non-Gemini provider.
Requirements: Frames mode requires
ffmpegto be installed on the application host (it is used to sample frames and demux audio). Ifffmpegis missing or fails, video frame/audio extraction is skipped gracefully and the bot still replies from the rest of the message. Native mode has noffmpegdependency but requires a Gemini video model.
To keep costs predictable, a transcript or extracted file text is computed once and cached on the attachment, so re-processing the same message never calls the provider twice (the video audio transcript is cached the same way). A failed transcription, parse, or video step is skipped — the bot still replies using the rest of the message.
AI Playground
The AI Playground is an admin-only chat surface where you can talk to your configured bot the way a customer would — without creating a real conversation.
Open it from the left navigation under AI Playground.
- Stateless. The chat is never saved. No conversation, message, or contact rows are created. The transcript only lives in your browser; clicking New chat clears it.
- Real call. Each send goes through the same prompt path the customer-facing bot uses (system prompt, knowledge base retrieval, fallback chain). Token costs still count toward your workspace quotas and per-credential metrics, just like a production reply.
- Debug view. Every bot reply shows the model that answered, the token total, the round-trip latency, and a chip for each knowledge source whose chunks fed retrieval — title only, never chunk text. When the fallback credential rescued a reply, a Fallback used chip appears too.
- Controls. A Knowledge base toggle lets you ask the bot to answer without retrieval, and a one-call Temperature slider lets you preview a different value without changing your saved setting.
- Attachments. The composer lets you attach an image, a file or a video, or record a voice note, to test the multimodal capabilities above. Attachments are sent inline for that single turn and are never stored — they respect the same toggles, so an image is only "seen" when vision is on, a voice note is only transcribed when transcription is on, and a video is only understood when video understanding is on (and the chosen mode is usable).
If no AI key is configured, the playground shows a banner and the composer is disabled until you fix the setting.
Turning the assistant on from the Playground
The Playground works while the assistant is off — testing before going live is the point — and a bar under the title says which it is:
- Off: "Your assistant is off — customers aren't getting AI replies", with an Activate AI button. It is the same activation as the setup tour's: the same checks (AI service available, credit for the model, business details saved, a channel the tour names that is not connected yet) and the same confirmation, which lists what switching on does. Only people who may change AI settings see the button; anyone else reads who can turn it on.
- On: a short "Your assistant is on". Switching it off stays in Settings → AI assistant.
Opened from the setup tour's Try it first, the bar also offers Back to setup, and — once you switched the assistant on here — Finish setup, which shows the tour's closing page. See Quickstart.
Training the assistant from the mobile app
Everything on this page can also be done from the ConnectWiz app on your phone. Open Menü → AI training. The row appears only for people who may open the same tabs on the web panel, and only when AI is in your plan.
| On the phone | What it is on the web panel |
|---|---|
| Prompt and rules — system prompt, Rewrite with AI (with undo), ready-made rules, default reply language | AI assistant → Prompt & rules |
| Department instructions — each department's extra instructions | Settings → Departments → AI instructions |
| Channels — every channel's AI switch and its own instructions | Settings → Channels → Manage → AI |
| Knowledge base — add text, a Q&A pair, a document (PDF, Word, text, Markdown — picked from your phone's files), a web page or a whole website; edit or replace, delete; status updates by itself while a source is processing | Knowledge base |
| Review links on a website source — search and filter the discovered links, tick pages and Train selected, Train all filtered, remove trained pages (for example ones marked Thin content) | Knowledge base → Review links |
| Learned answers — every captured Q&A example with the scope, origin and review filters, the full text, removal, Approve / Reject for answers waiting for review, and the Auto-learn, Review learned answers and Mask personal data switches | Training |
| Limits and safety — the workspace's own limits with the value in force and the platform ceiling, and the public comment checks | AI assistant → Limits & safety |
| Test the bot — the playground, with the knowledge-base switch, a one-off temperature, images, and the sources each answer used | AI Playground |
| Knowledge and answers, What Wiz may do, Agent tools, Images, voice and files, Generation and limits, Model | The other AI assistant tabs |
| AI tools — web search, Image Studio: switch, providers, keys, limits, test, profiles (listed; edited on the web) and recent runs | Settings → AI tools (AI tools) |
Where Model and AI tools ask you to choose a key, an Add a key row adds one without leaving the screen and comes back with it chosen. The keys themselves — list, test, replace, delete — are under Menü → Workspace → Credentials (Credentials).
Turning the assistant on from the phone
The assistant's workspace switch sits at the top of AI training, and on the Menü's Wiz card. It is there for whoever may change AI settings on the web panel (the AI management permission) — also while the assistant is off.
If turning it on would not make it answer yet, the card says why, with the fix:
- No model or key chosen yet — tap the line to open Model, then pick the platform model or one of your saved keys. Until then the card reads Wiz is on but not answering.
- Your plan doesn't include Wiz (AI) — there is no switch; AI comes with the plan.
Per channel, from the phone
AI training → Channels lists every written channel with its AI switch, so you can set them all in one place; tap a channel for its Instructions for this channel. The same switch and instructions are on the channel's own screen (Menü → Channels, then the channel). Both are open to whoever may manage channels, and both work while the assistant is off for the workspace — a line under them says the setting applies once it is on.
One contact
A contact's profile has a Wiz for this contact section:
- AI instructions and AI memory — what the assistant is told and remembers about this person. Tap either to edit them in the contact's Edit sheet (with the two per-contact memory switches). They stay editable while the assistant is off; Refresh from conversations waits until it answers.
- Knowledge for this contact — knowledge sources used only in this contact's conversations. Opens the knowledge base narrowed to this contact: add text, a Q&A pair or any other kind of source for them, or delete one.
- Learned from this contact — answers learned from your team's replies to this contact. Opens Learned answers narrowed to this contact; remove any the assistant should not repeat.
The web panel's contact page shows the same two lists. In the general Knowledge base → Add, the Scope choice (everyone, a department or one contact) works the same way on the phone and on the web.
Teaching from a reply
Long-press a reply of yours — or one of Wiz's answers you want it to keep giving — in a conversation and choose Use in AI training (for this contact, this department or everyone), or Remove from AI training.
What stays on the web panel: adding or rotating an API key (Credentials), the transcription key and model for voice notes, and voice assistants.
AI security baseline
Wiz answers people you have never met, so a few rules hold in every workspace. They come from ConnectWiz, sit before your own instructions, and no prompt, channel, contact or conversation setting can switch them off.
What Wiz refuses. Whatever a message, a document, a web page or a tool result says, Wiz:
- treats your knowledge base, web search results, customer messages, attachments, what it remembers about a contact, form answers and tool results as information, never as orders — "ignore your rules" or "you are now…" written inside any of them is not followed;
- does not reveal its instructions, your internal notes, or anything about another customer;
- uses its tools (bookings, orders, payment links…) only for the person in the conversation;
- does not promise a price, discount, refund, deadline or condition that is not in your knowledge base or in a tool's answer. It offers a member of the team instead.
Booking limits. When Wiz books an appointment on its own:
- it needs the person's name and a way to reach them — a phone or e-mail on the contact, or a channel that already proves who is writing (WhatsApp, Messenger, Instagram, e-mail…). On the web chat it asks for a name and phone number first; what the visitor types is saved on the appointment, not on the contact;
- it makes at most one booking per reply, and a contact can have at most two upcoming appointments made by Wiz (your workspace can change both under Limits & safety). Past that it hands over to the team;
- with Calendly, the invitation only goes to the contact's own e-mail address — the one on the contact, or one their channel proved. An address typed into the chat is not accepted unless it is that same address.
A tool budget per reply. Wiz may call at most 8 tools in one reply, at most 3 of the same tool, and about 30 in one conversation per hour (by default; see Limits & safety). Past that it answers with what it already knows.
Tables are opt-in. Wiz searches a table only when Wiz can search this table is switched on for it. Every table starts off, including the ones you made before this switch existed.
Auto-learning keeps personal details with their owner. Auto-learn from agent replies learns from your team's replies only, never from Wiz's own. Each answer is first rewritten as a generic question and an answer without personal details: a general answer is learned for everyone, an answer about one person only for that contact, and the customer's own words are never stored as the question. If you want to check answers before Wiz uses them, turn on Review learned answers before they are used. Details: Learning from your team's answers.
Contact memory keeps facts and preferences, never instructions, links or promises — except a promise a person on your team made — and is kept short (1,000 characters by default).
Public comments. An automatic answer to a comment (Instagram, Facebook, YouTube, TikTok, X, LinkedIn, Threads, store reviews) is not posted when it contains a link to a site that is not yours (your company website and your knowledge-base sites are fine), a phone number, an e-mail address, or a price, discount, refund or "free" claim. It waits in the comment inbox as a suggestion for your team instead. One person gets at most three automatic answers a day on a channel (by default); after that their comments get suggestions too. You can switch individual checks off and add your own words under Limits & safety.
Limits & safety
The numbers above are defaults. A workspace can set its own in AI assistant → Limits & safety (in the mobile app: AI training → Limits and safety):
| Limit | Default |
|---|---|
| Upcoming bookings per contact (made by Wiz) | 2 |
| Bookings per reply | 1 |
| Tool calls per reply | 8 |
| Calls of one tool per reply | 3 |
| Tool calls per conversation per hour | 30 |
| Automatic comment replies per person per day | 3 |
| Contact memory length (characters) | 1,000 |
| Messages Wiz looks back (conversation memory; at least 5) | 20 |
| Conversation budget (characters) | 24,000 |
Leave a box empty to use the default. Each limit has a platform ceiling set by ConnectWiz; the screen shows the value in force and the ceiling, and a number above the ceiling is refused.
Public comment checks. The same screen lists the checks behind the public
comment rule — percentages, the words discount / refund / free (and their
Turkish forms), and prices written with a currency. Every check is on unless
you switch it off (a shop that offers free delivery on every order may switch
off "free"); a check ConnectWiz adds later is on for you too. Under Your own
words and phrases add, one per line, anything else that should hold a reply
for your team — for example coupon. They match as whole words, in upper or
lower case; you never write a pattern. Links, phone numbers and e-mail
addresses are always checked.
Privacy & security
- Your API key is encrypted at rest and never appears in any screen, export, or log.
- AI configuration and your knowledge base are isolated per workspace; one workspace can never see another's settings, key, or sources.