Falaah Falaah AI

Support Widget Configuration

Configure and customize the embedded Muin support widget: connect your knowledge base, set up AI answers and ticket routing, and apply your branding.

The Muin Support Widget gives your customers instant self-service access to your knowledge base, AI-powered answers, and ticket creation. This guide covers how to configure the widget’s behavior, connect your knowledge base, set up ticket routing, and apply your branding.

Embed on Your Website

Paste this snippet before the closing </body> tag on any page where you want the AI support chat to appear. The widget renders as a floating chat bubble (bottom-right by default) and expands to a panel when a visitor clicks it.

<script
  src="https://muin.falaah.ai/embed/widget.js"
  data-type="support"
  data-tenant-slug="your-org-slug"
  data-position="bottom-right">
</script>
Attribute Required Value
data-type yes Must be support
data-tenant-slug yes Your Muin tenant slug (visible in Support → Support Settings → Embed on your website)
data-position no bottom-right (default), bottom-left, top-right, or top-left. The snippet you copy already carries the position you saved under Design Portal

The exact embed snippet pre-filled with your slug is available in-app: Support → Support Settings → Embed on your website (Copy button). No keys to manage: visitor conversations are tenant-scoped via the slug, and CAPTCHA on the chat-start endpoint blocks abusive traffic automatically.

You can also link customers directly to your hosted support portal at https://muin.falaah.ai/go/your-org-slug/support, the chat widget appears there too, alongside your knowledge base articles.

Overview

Key Features

Feature Description
Widget customization The greeting, the position, and the AI disclosure line
Knowledge Articles, verbatim custom responses and the documents you classify as public - what the assistant answers from
Sources on every answer Each answer shows what it came from, as a link the visitor can open
Refusal topics Subjects the assistant must never answer, decided before anything is retrieved
Hand off to a person A ticket with the transcript, the page and the visitor’s contact details
Learning loop A resolved answer becomes a draft article, so the next visitor is answered instantly
Allowed origins The websites that may host your widget; anywhere else is refused
CAPTCHA protection A Cloudflare Turnstile challenge on the first message
Branding Apply your organization’s colors, logo, and messaging to the widget (not available yet)

How to Configure the Widget

Basic Setup

  1. Navigate to Settings –> Support
  2. Turn the assistant on and set the greeting visitors see when they open it
  3. Set the AI disclosure line shown under the greeting (several state laws expect one)
  4. Give it something to answer from, under Support –> Knowledge Base:
    • Articles - anything you publish; the assistant summarizes and cites them
    • Custom responses - an answer returned word for word, with the phrasings that should trigger it
    • Documents - classify a document’s AI audience as Public in Documents and it is indexed and citable

Reading your website

Your answers usually already exist on your own site, so a connected URL can bring its neighbours with it. Both controls live in Settings –> Connected sources, on the form where you add a page.

Pages to read (crawl_depth) decides how far a connected page reaches:

Choice What it reads
This page only The one URL you entered. This is the default
This page + linked pages That page, plus the pages it links to
2 levels of links And the pages those link to
3 levels of links One level further, which is the deepest Muin will go

Three rules keep a crawl honest, and they are worth knowing before you pick a depth:

  • Same origin only. It follows links on your own site and never an outbound one, so a link to a district newsletter or a vendor portal can never be ingested as though you had published it.
  • Up to 25 pages per site. The cap counts every page of the crawl together rather than per level, so a deep choice on a large site stops at 25 rather than fetching for hours.
  • Each page stays its own source. Every crawled page is indexed separately and shows in the list as a crawled page, so an answer cites the page it actually came from. Re-reading a site refreshes those pages instead of duplicating them.

Re-read (refresh_interval_hours) decides how often Muin goes back:

Choice Behavior
Only when I ask Nothing is re-fetched until you press re-ingest. This is the default
Every day Re-read every 24 hours
Every week Re-read every 168 hours
Every month Re-read every 720 hours

“Only when I ask” stays the default deliberately: connecting a page should never sign you up for recurring fetches of somebody’s website. When you do pick an interval, an hourly sweep re-reads the sources whose interval has elapsed, oldest first. A source that has never finished its first ingest is left alone, because that first attempt is still the ingest’s business, not the refresh sweep’s.

A bell schedule that changes in August and a calendar that changes every term are exactly what this is for. Set the interval once and the assistant re-reads on its own.

Handing a question to a person

A visitor can ask for a person at any time, and the assistant offers one itself when it declines to answer or has nothing to answer from.

  1. In Settings –> Support, name the staff member who receives escalations
  2. Set your business hours and the message shown outside them

What happens then:

Step Behavior
The visitor asks A short form collects an email, optionally a name and phone
A ticket is created Carrying the whole transcript, the page they were on, and their contact details
Your team is told The ticket is assigned to the staff member you named, and appears in the inbox
Your reply reaches them In the open chat if they are still there, and by email either way
Outside business hours The after-hours message leads, and the form is offered first

Turning an answer into knowledge

On a resolved ticket, Add to knowledge base drafts an article from the answer your team gave. It lands as a draft: somebody approves the wording before any visitor sees it. Once published, the same question is answered instantly, citing that article.

What your assistant answers

Go to Support → Support Settings → What your assistant answers. These settings can only make the assistant stricter than the platform minimum, never looser.

  1. Words it never says lists words or phrases an answer must not contain. An answer that contains one is held back. Muin’s own safety list always applies as well.
  2. What it says instead holds one reply for each topic listed under Answer policy. Leave a reply empty to use the default polite refusal.
  3. How sure it must be to answer sets how confident the assistant must be. Below it, the assistant says it isn’t sure and offers your office instead. You cannot set it below the platform minimum; if you try, you see “That is looser than the platform minimum” and nothing is saved.
  4. Pause answers stops the assistant answering at once. Every visitor who asks a question gets your office contact instead. Nothing is deleted, and you can turn answers back on any time.

Press Save after changing the first three. Pause answers asks you to confirm first.

Security

The widget is designed to be pasted onto a website you do not otherwise trust with your data, so the controls are server-side:

Control What it does
Allowed origins List the websites that may host your widget. A copied snippet on any other site cannot start a conversation
Visitor tokens Each conversation is owned by the browser that started it. Knowing the conversation id is not enough to read or continue it
CAPTCHA A Cloudflare Turnstile challenge on the first message
Rate limits Per visitor IP and per conversation, so one open tab cannot exhaust your AI budget
No record access The public assistant has no connection to your records. It answers only from what you published

The widget runs in an iframe, so it cannot read the hosting page, its cookies or its session.

Verifying it before you go live

Settings –> Support –> Ready for the public? shows what is still missing (knowledge, citations required, an escalation owner, office hours, the snippet seen running) and lets you run your own verification questions. Each question declares what should happen - answered from a particular source, or declined - and the run reports pass or fail against the real assistant.

Every check, what makes it pass, and what to do when it does not: Support Widget Setup Checklist.

Your office’s own contact details

Under Settings → Support, the office contact card holds a phone number and an email address. When the assistant hands a question to a person, or declines to answer, it offers these rather than a generic “contact support” line, so a parent gets your office and not ours.

Collecting something before the chat starts

Pre-Chat Information links a Smart Form to the widget, so a visitor answers a few questions before the conversation begins. Pick a Pre-Chat Form from your active form templates, then Edit form template to change it or Unlink form to remove it. If you have no active templates the picker says so and offers Create custom form.

Whatever the form collects travels with the ticket, so your team sees it on the Details tab without asking again.

Checking the snippet is actually running

The installs panel in Settings → Support tells you where the snippet was last seen. A website that has the code but is not working reports a reason rather than silence:

Reason What it means What to do
Support disabled The snippet loaded but your support portal is turned off Turn on Enable Support Portal
Origin not allowed The site hosting the snippet is not on your allowed origins list Add that site under allowed origins, or remove the snippet from it

This is the check that catches the common go-live failure: the code is on the page, nobody added the domain, and the widget silently never appears.

What needs a plan feature

The AI block - the answer policy, office hours, office contact and allowed origins - sits behind the AI Support Widget plan feature. Without it you see an upgrade prompt in place of those controls, and the rest of the page still works.


Seeing How It Is Performing

Sidebar → Support → Conversation Analytics answers whether the widget is actually helping.

It opens on the last 30 days. Change the range, and change Group the chart by to switch between daily and weekly points.

The headline figures

Figure What it tells you
Questions asked Volume
Questions answered with a source How often the assistant could cite something, rather than declining
Conversations handed to a person How often it could not, and your team had to step in
Questions asked after hours The demand your office was closed for. Set your office hours to see this
Median time to a staff reply How long a handed-over question waits
Rated answers marked helpful What people thought of the answers
Parents who got what they needed The outcome, not the activity
Office replies that helped Whether your team’s replies landed

The charts

  • What happened to each question - a trend split into Answered with a source, Could not answer and Handed to a person. Click a bar to see those conversations.
  • When parents ask - a weekday-by-hour heatmap, which is how you work out whether your office hours match reality.
  • Questions without an answer and Most asked and answered - each unanswered question carries an Answer it action that opens a new knowledge base article pre-filled with the question. This is the shortest route from a gap to a fix.
  • Most cited sources and Never cited - which of your articles are earning their place and which are not being used at all.
  • Languages parents use - English, Spanish, Arabic, Urdu, Pashto, or not detected.

Download CSV report exports the period. Ask about these numbers lets you ask a question about what you are looking at.

Before you have any traffic the page says No parent questions yet and offers the two things that fix that: Install the chat and Write answers.


When it goes wrong

What you see Why What to do
The widget never appears on your site Almost always the origin, not the code Open the installs panel. Origin not allowed means the hosting site is not on your allowed origins list; Support disabled means the portal is off
The installs panel shows nothing at all The snippet has never loaded Check it is before the closing </body> tag and that data-tenant-slug is right
An upgrade prompt in place of the AI controls The AI Support Widget feature is not on your plan Talk to your account owner. The General and portal settings still work
The Pre-Chat Form picker says no templates were found You have no active form templates Click Create custom form, publish it, then come back
Questions asked after hours reads “Set your school hours to see this” Office hours are not configured Set them in the office hours section; the figure then fills in
“Settings saved successfully” never appears The save was refused Read the inline error on the field it names, fix it, save again
Analytics says No parent questions yet after go-live Nothing has reached the widget Use Install the chat and Write answers from that empty state, then re-check the installs panel
“The report did not download” The CSV export failed Narrow the date range and try again
The assistant declines questions you have written answers for The article is a Draft, or Internal Set its visibility to Public

Tips

  • Keep the knowledge base current: review the “Unanswered Questions” report weekly and add articles for gaps. The better your content, the more questions AI resolves without human intervention.
  • Use pre-chat forms strategically: collecting email and topic upfront helps route conversations correctly and lets you follow up if the visitor disconnects.
  • Test the visitor experience: open your support portal URL in an incognito window and go through the full flow as a customer would. Check that AI answers are accurate and escalation works smoothly.
  • Connect to workflows: pair the widget with workflows to auto-create tasks, send follow-up emails, or update CRM records when tickets are submitted.

Next Steps