---
title: Public Experts
description: Publish an Expert so customers and visitors can ask it without an account — on its own link or as a chat on your website — set its limits, and answer questions left for a person.
new_in: "3.13"
---

A **public Expert** is one of your Experts opened to people who aren’t on
your team: anyone with its link, or a chat button on your website. Use it to
answer customers and visitors from your own documents, such as a caterer
answering from its menus and price list. It answers only from the files you
choose, and from the web if you allow it; when it can’t, the visitor can leave
the question for a person, and you reply from **Visitor questions**. This
page covers publishing, the limits, what visitors see in each situation, and
what to do when something doesn’t work.

<!-- media: knowledge-public-expert-publish | Publishing an Expert and asking it from its link | Web app → Experts → Configure on an Expert → Set it up → choose two files → Publish → Copy the link → open it in a private window → ask a question → Leave your question for a person -->

## What it can read

The panel sums it up: “People outside your team ask this Expert on a page of
its own, with no account. It reads only the files you choose here, never your
connected tools, and it can’t send or change anything. Their questions use
your credits.” When a limit is reached or your credits run out, it rests
instead of failing, and visitors can still leave their question.

## Who can publish

| Account | Who can publish |
|---|---|
| An organisation | Its **owners and admins**. A member reads: “Only an owner or admin of your organisation can make an Expert public.” See [Members and roles](../workspace/organisation.md). |
| Your own account | You. |

The built-in Expert, Ysra, can’t be made public: create your own Expert first.
See [Experts](experts.md).

## For your team, and for a visitor { #what-a-public-expert-can-do }

| | For your team | For a visitor |
|---|---|---|
| Reads | Its sources, your files, the web, your memories | Only the files you chose, and the web if you allowed it |
| Slack, Jira and Gmail | As its capabilities allow | Never |
| Connected services (MCP servers) | As its capabilities allow | Never |
| Proposes Slack messages or Jira changes | If it has the capability | Never. It answers and hands over to you |
| The real browser, making images, looking at photos | If it has the capability | Never. Directions to your business still come as a route link |
| Memory | Yours | None, and nothing from your own conversations |
| Name | “Ysra” or the Expert’s name | The Expert’s name only. It never names Ysra or signs its answers |

It answers only from what it was given. When that doesn’t cover a question, it
says it doesn’t have that information and that the visitor can leave the
question for the team. It doesn’t guess, quote prices or agree to anything the
files don’t state.

### Its job is its description

A public Expert keeps to the job its **Description** gives it, in your words.
It declines anything else in one sentence: general knowledge, code, homework,
translation or jokes. So write the description as the job, clearly, for
example “Answers questions about our catering menus, prices and delivery
area.” Only the first 400 characters are used.

## Directions to you { #directions }

Give the Expert a **Location** in its settings, and getting to you becomes
part of its job. A visitor who asks the way, sends where they are or pastes
a map link gets a few short lines on the usual way to come (taxi, car, on
foot or public transport, with “about” for times and distances), what to know
on arriving, and a link, **Open the route in Google Maps**, that opens the
route turn by turn in their own Maps app.

| Setting | What it holds | Example |
|---|---|---|
| **Address** | Street, number and city, up to 300 characters. | “12 Derb Lalla Azzouna, Marrakech” |
| **On arriving** | What to know on getting there, up to 1,000 characters. | “The medina is pedestrian-only: ask the taxi for Place Ben Youssef.” |

| The visitor | What happens |
|---|---|
| Asks “how do I get to you?” with no starting point | The route link opens in Maps from where their phone is. |
| Says where they are (“from the airport”, a hotel’s name) | The route starts there. |
| Pastes a shared Google Maps link | Ysra reads the place the link points to and starts the route there. |
| Says how they travel (on foot, by bus) | The route opens in that mode; otherwise Maps chooses. |
| Asks the way with no Location set | The route goes to the place they name. |

Emptying the address removes the Location.

<!-- media: public-expert-directions | A visitor asks the way and opens the route in Maps | Expert with a Location (a riad in the medina, On arriving filled in) → its website chat on a phone → paste a Google Maps link of a hotel and ask “how do I get to you from here?” → answer with taxi time and the arriving note → tap Open the route in Google Maps → the Maps app opens the route -->

### How fast it answers

A public Expert answers on its Expert’s **Speed**. On **Auto**, it answers
**Quick**: a fast lookup in the files you published. Set the Expert to
**Thorough** for answers that need more reading. See
[Auto, Quick or Thorough](index.md#speeds).

## Publishing an Expert { #publish-an-expert }

<div class="steps" markdown>

### Open the Expert

Go to **Experts** on the rail, and choose **Configure** on an Expert you own.
Find the panel **Anyone with the link can ask**. It shows **Off**. The web and
desktop apps show the same panel.

### Set it up

Choose **Set it up**, then choose what it reads and its limits:

| Setting | What it does | To start with | Range |
|---|---|---|---|
| **Files a visitor’s question may read** | The only files it may read, from the Expert’s workspace. Visitors never see your files or their names; **Visitor questions** show which ones an answer used. | None | Up to 50 |
| **It may search the web** | “Web pages it used are named and linked under the answer.” | Off | — |
| **Questions per visitor, per hour** | Under **Limits**. | 10 | 1 to 60 |
| **Questions per day, in total** | From all visitors. | 200 | 1 to 5,000 |
| **Most credits a month (empty: no ceiling)** | The most credits it may spend in a calendar month. | Empty | Any ceiling |
| **Websites its chat button may be placed on** | See [On your website](#on-your-website). | None | Up to 10 |
| **Show “Powered by Ysra”** | Under the chat. | On | — |

### Publish

Choose **Publish**. The panel shows **On**, the link with **Copy the link**,
and how it is doing: **Questions today**, **Credits this month** and
**Waiting for a person**. Below the panel, the [report](#the-report) shows more.

</div>

To change it later, choose **Change what it reads and its limits**, then
**Save changes**. Visitors get the new settings from their next question.
**Switch off** stops the link and the chat button at once; the conversations
are kept.

### Choosing files

Choose files with text Ysra can search: documents, PDFs, images once Ysra has
read them (a few seconds after upload), and the reports and workbooks Ysra
made for you. An Expert publishes files only from the workspace it belongs
to.

| What the panel says | Why | What to do |
|---|---|---|
| “… has no text a visitor’s question can search (it’s still being read, couldn’t be read, or has nothing written in it). Choose another file.” | The file is still being read, couldn’t be read, or has no text. | Wait a few seconds and try again, use **Retry indexing** on the file, or choose another. |
| “This Expert belongs to every workspace, so it has no files to choose. Put it in one workspace to choose files; it can still answer from the web.” | The Expert isn’t tied to one workspace. | Put it in one workspace. |
| “One of those files isn’t in this Expert’s workspace.” | The file belongs to another workspace. | Upload it to the Expert’s workspace. |

## Link states

| State | What visitors see | What moves it on |
|---|---|---|
| **Off** (never published, or switched off by you) | “This assistant isn’t available.” and “The link may have been switched off. Ask whoever sent it to you.” | **Set it up** and **Publish**, or switch it on again |
| **On** | The page or chat, answering. | **Switch off**; a limit; credits running out; Ysra switching it off |
| **Resting** | “This assistant is resting for now. Leave your question and an email address, and the team will get back to you.” | The hour or day passes, the monthly ceiling resets, credits come back, or you raise a limit |
| **Switched off by Ysra** | That it isn’t available. | Only Ysra support. Once support lifts it, the link stays off until you switch it on. |

## What visitors see

A visitor needs no account. The link opens a page with the Expert’s name and
“An assistant for …, answering from their published information.” (“…and the
web” when it may search the web), then its description and “Ask a question to
get started.” They type in **Type your question** and choose **Ask a
question**.

| Situation | What the visitor sees |
|---|---|
| It is answering | “Answering…”, then the answer as it is written, usually starting within a few seconds. A web page it used is linked under the answer; your file names never show. |
| They leave the question for a person | **Leave your question for a person**, then **Your email address**, **Anything to add (optional)** and **Send to the team**. |
| They left an email address | “Sent. The team will reply to …” |
| They left no address | “Sent. The team’s reply will appear here.” |
| Waiting for the team | “Your question is with the team. Their reply will appear here.” Replies are labelled “The team”, never with a person’s name. |
| The question is too long | “That’s too long. Keep it under 2000 characters.” |
| Too many questions at the same moment | “Lots of people are asking right now. Try again in a moment.” Asking again a little later works. |
| A limit is reached, or your credits are out | Resting (see [Link states](#link-states)); no error. |
| The link is switched off or never existed | “This assistant isn’t available.” |
| The chat is on a website you didn’t list | “This assistant isn’t available on this website.” The link’s own page still works. |

Each conversation keeps its last 60 turns.

Every visitor page also shows “You're chatting with an AI assistant. Answers
can be wrong.” and a **Report abuse** link, which opens a short form at
[ysra.ai/report](https://ysra.ai/report).

## Visitor questions

Every conversation visitors have with your public Experts is kept in
**Experts → Visitor questions**. The list, the waiting count and Home’s
**Visitor questions** card show the Experts of the workspace you have open,
and those available in all your workspaces. Show **All**, or
**Waiting for a person** with how many are waiting. You get an email when a
visitor asks for a person.

| Conversation state | What it means |
|---|---|
| **Waiting for a person** | The visitor asked for one, or the Expert couldn’t answer. |
| **Answered** | The Expert answered. |
| **Couldn’t answer** | It said it didn’t have the information. |
| **Replied** | Someone on your team replied. |

Open one to read the questions and answers, and what the visitor added. A
reply from your team shows who wrote it: “Answered by …”.

| To | Do this | What happens |
|---|---|---|
| Answer the visitor | Write in **Reply to the visitor** and choose **Send reply**. | They see it in the same conversation, and by email if they left an address. If they answer that email, it comes to you by email. |
| Close it without answering | **No reply needed**. | It leaves the waiting list and stays in the history. |

### Answering for teammates

In an organisation, everyone sees and answers the visitor questions of every
public Expert in it, in the same list: “Everyone in your organisation sees and
answers these, for teammates’ Experts too.” A teammate’s conversation names
whose Expert it is, such as “(Sam’s Expert)”, and when open adds “its
settings stay with them”: only the Expert’s owner can publish it, change its
settings or switch it off. On your own account, you see only your own
Experts’ conversations.

> Diagram: A public Expert answers within its limits, never guesses, and hands over to a person.


## The report

Under **Anyone with the link can ask**, in an Expert’s settings on the web and
**Configure** in the desktop app, the **Report** shows “What visitors asked,
what this Expert could not answer, and which files its answers used.” Choose
**7 days**, **30 days** or **90 days**.

| Figure | What it counts |
|---|---|
| **Questions** | Every question visitors asked, “in … conversations” |
| **Answered by the Expert** | Questions it answered, with their share |
| **Could not answer** | Questions it said it didn’t have the information for, with their share |
| **Answered by your team** | Replies from a person in **Visitor questions** |
| **Waiting for a person** | Conversations still waiting for a reply |
| **Credits used** | What its answers cost, in credits |

| Section | What it shows |
|---|---|
| **Questions per day** | Each day of the period: how many were asked, and how many of those it could not answer. |
| **Questions it could not answer** | Newest first: “Each opens its conversation. A file that covers the question, published to this Expert, answers it next time.” Each opens in **Visitor questions**, marked **Waiting for a person** while it still waits. |
| **Published files** | Every published file, most used first, with how many answers used it. **Not used**: no answer used it in the period. **No longer published**: answers used it, but it is no longer published. |

Until the Expert has a link, the report says “Nothing to report yet. Turn on
“Anyone with the link can ask” above; what visitors ask is counted from then.”
In a period with more than 2,000 conversations, the figures cover the newest
2,000, and the report says so.

## On your website

The same Expert can appear on your website as a chat button.

<div class="steps" markdown>

### List your websites

In **Websites its chat button may be placed on**, put one address per line, up
to 10, such as `https://www.example.com`. Use `https://`; `http://localhost`
is allowed for trying it out. Then **Save changes**.

### Copy the code

Under **Chat button for your website**, choose **Copy the code**. It is one
line:

```html
<script src="…/widget.js" async></script>
```

Paste it before `</body>` on a listed website.

### Change how it looks (optional)

Add any of these to the tag:

| Add | What it does |
|---|---|
| `data-accent="#rrggbb"` | The colour of the button, the chat’s header and the visitor’s messages, for example `data-accent="#00aa77"`. Text on it stays readable. |
| `data-theme="light"` or `data-theme="dark"` | Keeps the chat light or dark. |
| `data-side="left"` | Puts the button in the left corner instead of the right. |

</div>

| Part | How it behaves |
|---|---|
| The button | A round icon in the corner of the page, named “Ask a question” for screen readers. Choosing it opens the chat, and the button becomes an arrow that closes it. |
| On a phone | The chat fills the screen, with a close button in its header. |
| The header | The Expert’s avatar (or the first letter of its name), its name, and your organisation, or its description when there is no organisation. |
| An empty chat | The avatar, the name, the description and the Expert’s conversation starters. |
| While it works | Moving dots, then the answer as it is written. |
| Links in an answer | A route link or a page opens with a tap. |
| Light or dark | Light, and dark only when your website is dark, whatever the visitor’s computer is set to. Use `data-theme` to fix one. |

Conversations go to **Visitor questions** too.

<!-- media: knowledge-public-expert-widget | The chat button on a website: opening it, asking, and the answer | A listed test site with the widget line and data-accent → click the button → pick a conversation starter → answer appears → close with the arrow → same page on a phone -->

## What it costs { #what-it-costs }

A public Expert’s answers are charged to its owner’s credits, like your own
questions. That includes opening your own link: you are a visitor like any
other, and it counts against the limits. Set **Most credits a month** to cap
it. See [Credits and usage](../workspace/credits.md) and
[Limits and costs](../workspace/limits.md#public-experts).

## When Ysra switches a link off { #when-ysra-switches-a-link-off }

Ysra can switch off a public Expert that is misused. Visitors then read that
it isn’t available, and you can’t turn it back on yourself: write to
support@ysra.ai to have it looked at. When support lifts the switch-off, the
link stays off until you switch it on again.

## Limits

| Limit | Default | Can be set to |
|---|---|---|
| Questions per visitor per hour | 10 | 1 to 60 |
| Questions per day, all visitors | 200 | 1 to 5,000 |
| Credits per month | No ceiling | Any ceiling |
| Files it may read | — | Up to 50 |
| Websites it may sit on | — | Up to 10 |
| Length of a question | 2,000 characters | — |
| Conversation kept | The last 60 turns | — |
| Description used as its job | The first 400 characters | — |

## If it doesn’t work { #if-it-doesnt-work }

### “This assistant is resting for now…” { #when-it-is-resting }

**Why:** a limit was reached (per visitor per hour, per day, or the monthly
credit ceiling), or your credits ran out or your account is paused.
**What to do:**

1. Check **Questions today** and **Credits this month** on the panel.
2. Raise the limit under **Change what it reads and its limits**, or add
   credits.
3. Otherwise it answers again when the hour, the day or the month turns over.

### “This assistant isn’t available.”

**Why:** the link is switched off, never existed, or Ysra switched it off.
**What to do:**

1. Check the panel shows **On**; if not, switch it on.
2. Check the visitor has the whole link (**Copy the link** again).
3. If you can’t switch it on, Ysra switched it off: write to support@ysra.ai.

### “This assistant isn’t available on this website.”

**Why:** the page’s address isn’t one of the websites listed. Each address is
matched exactly, scheme and host: `https://example.com` and
`https://www.example.com` are two websites.
**What to do:**

1. Add the address exactly as the browser shows it, with `https://`, one per
   line, and **Save changes**.
2. Add both the `www.` and the bare address if your site answers on both.

### The chat button doesn’t show on the website

**Why:** usually, the line isn’t on the page that loaded.
**What to do:**

1. Check the line from **Copy the code** is in the page, before `</body>`.
2. Check the panel shows **On** and the website is listed.
3. Open the link’s own page: if that works, the website setup is the problem
   (see above).

### It says it doesn’t have that information

**Why:** no published file covers the question, and it never guesses.
**What to do:**

1. Look under **Questions it could not answer** in the [report](#the-report).
2. Publish a file that covers it: the next question like it is answered.
3. Reply to the waiting visitor from **Visitor questions**.

### It declines a question in one sentence

**Why:** the question is outside the job its **Description** gives it.
**What to do:** rewrite the description as the job it should do. See
[Its job is its description](#its-job-is-its-description).

### “Lots of people are asking right now…” or “Too many requests from here…” { #when-many-people-ask-at-once }

**Why:** too many questions arrived at once, or from one address in a short
time.
**What to do:** wait a moment (a few minutes for “Too many requests from here.
Try again in a few minutes.”), then ask again.

### “Only an owner or admin of your organisation can make an Expert public.”

**Why:** you are a member of the organisation.
**What to do:** ask an owner or admin to publish it.

## Related

- [Experts](experts.md) — the Expert behind the link: description, files and capabilities.
- [Limits and costs](../workspace/limits.md#public-experts) — the limits next to every other cap.
- [Set up with Ysra](../getting-started/set-up-with-ysra.md) — a public Expert and its website code made for you.
- [Credits and usage](../workspace/credits.md) — what visitor questions cost you.
