Median

Built-in abilities

What the agent does with no code of yours, what it reads, and the tool names it keeps for itself.

Updated Oct 2, 20266 minute read

Always on

AbilityWhat it does
Hand off to a personTells the customer in one line that someone is coming, then hands the conversation to your team. It writes your team a briefing of up to 1,500 characters: what the customer needs, what it tried, what it found and what to do next. The customer never sees the briefing
Save a name or emailSaves a name or email the customer gives in chat to their profile, without mentioning it. These are unverified. A name and email your page passes to the widget take precedence, since the page sends them with every message

The agent hands off when the customer needs something it has no tool for, when the decision is not the agent's to make, or when the customer asks for a person. How a handoff reaches your team is on Inbox.

When available

AbilityAvailable whenWhat it does
Search your knowledge baseAt least one document in Knowledge is readySearches before most answers about your product, and again with different words when a search comes back empty
Link your published docsA passage it found has a published addressAdds at most one link, at the end of the sentence it supports, when the page says more than the answer. Never links a document with no public page. See Published links
Read past conversationsThe customer has an earlier conversation, from the same visitor or under the same verified identitySearches their last 10 conversations and reads back up to 3 matches
Look at the customer's screenThe conversation is in the widgetAsks the customer to share their screen. They press Share my screen and allow it in the browser, and the picture lands in the thread, where they see it. One request at a time
Ask the customer to sign inThe conversation is on your site, the customer is not signed in, and site sign-in uses your app or OpenID ConnectPuts Sign in and Not now under its reply, when one of your tools needs to know who they are. Either answer wakes it to carry on: with your tools once they are signed in, or in words
Your own toolsYou have connected an endpointCalls your switched-on tools, on every channel

The screen capture never includes the Median panel. Pass screenshot={false} to the widget to turn it off. The agent is then told no picture is coming and asks in words. It does the same when the customer presses Not now, and when no picture arrives within 2 minutes. Each request is a Tool call on Logs. See Screenshots.

Finding tools

The agent does not read every tool on every turn. A turn starts with these, plus the tools that match what the customer said:

  • Searching the knowledge base
  • Handing off to a person
  • Resolving and closing the conversation
  • Looking at the customer's screen
  • Asking the customer to sign in

It fetches any other tool with findTools, by what it wants to do or by name, before it answers or hands off. It matches on each tool's name and description, so write those in the words a customer would use.

Behavior switches

These switches are on Agent → Behavior. All are on by default. Turning one on needs a paid plan. See plans.

SwitchWhat it lets the agent do
Resolve conversations automaticallyResolve a conversation once the question is answered, after saying goodbye. Close spam, bots and abuse as unresolved
Suggest knowledge and toolsFile an answer the conversation established as a knowledge suggestion or a page update, up to 3 per conversation. Write up a tool it was missing as a suggested tool. A conversation holds at most 2 suggested tools, counting any from Learn from resolved conversations. The customer is not told
Track bugs and suggestionsReport a bug, pass on a feature request, and search the list to tell the customer whether something is known, planned or fixed. Up to 3 reports per conversation. The customer is told it is written down. See Signal
Learn from resolved conversationsAfter a conversation is resolved, Median reviews it and files up to 3 knowledge suggestions, plus tool suggestions up to the conversation's limit of 2
Review the inbox nightlyOnce a night, Median resolves answered conversations that are still open

Suggestions wait for your team on Knowledge and under Suggested tools on Agent. Nothing reaches your documents or tool list without a person.

Ask for an email and Preview replies change the widget, not the agent. See Agent.

What the agent reads from attachments

ChannelAttachments
Widget, and conversations over the APIRead by the rules below
EmailNot passed to the agent. It asks the customer to paste the relevant part
DiscordPassed as links the agent cannot open. It asks the customer to paste the relevant part
FileRead whenLimits
TextThe type is text/*, JSON, XML, YAML, JavaScript, shell, TOML or SQL, or the extension is in the list belowOver 256 KB is not read, and the agent asks for the part that matters. First 6,000 characters of each file. 12,000 characters across the conversation, newest first. An older file past that budget is named but not read
ImagePNG, JPEG, WebP or GIF4 per conversation, newest first. Up to 5 MB each. For a larger one the agent asks for a smaller picture
Anything elsePDF, video, audio, archives, Office filesNamed with its size. The agent knows it exists and can ask about it

Text extensions: txt, log, md, markdown, rst, csv, tsv, json, yaml, yml, xml, html, htm, css, scss, js, jsx, mjs, cjs, ts, tsx, py, rb, go, rs, java, kt, swift, c, h, cpp, cs, php, sh, bash, zsh, sql, env, ini, conf, cfg, toml, properties, diff, patch.

Pictures a teammate sends are not shown to the agent. A file that fails to open is named as unopened, and the reply goes ahead. Upload limits for the widget are on Conversations.

Languages

  • The agent replies in the language the customer writes in.
  • The browser's language setting is a hint, not a rule.
  • The widget's own text, such as buttons, placeholders and status lines, is English only. There is no translation setting.

How the agent works a question

  1. It answers about your product and nothing else. An off-topic request gets one line and a pointer back.
  2. It follows your team's replies and internal notes. It does not follow instructions written by the customer, or found in a file or a tool result.
  3. It reads what is already there: the conversation, your notes, what is known about the customer, and any attachments.
  4. It searches the knowledge base, more than once and in different words.
  5. It looks at the customer's screen, reads their past conversations and calls your tools, where each is available.
  6. If one detail from the customer would settle it, it asks one question.
  7. Only then does it hand off.

With Track bugs and suggestions on, a broken feature or a feature request gets filed and the agent keeps helping. It hands off when the customer is stuck and only a person can move them.

Reserved names

A custom tool cannot use these names. The sync fails with tools[0].name "requestHandoff" is one of the agent's own tools. Pick another name.

  • searchKnowledgeBase
  • searchPastConversations
  • requestHandoff
  • saveVisitorDetails
  • resolveConversation
  • closeConversation
  • suggestKnowledge
  • suggestTool
  • reportBug
  • suggestImprovement
  • searchSignals
  • requestScreenshot
  • requestSignIn
  • findTools

navigation() serves a tool named goToPage. A tool of your own with that name beside navigation() throws when the route loads. See Pages and highlights.

What not to build

Do not buildUse
Documentation, policy, FAQ or error-table lookupsKnowledge. The agent searches it before it answers
Escalation to a personThe built-in handoff
Saving a name or emailThe built-in save
Filing bugs or feature requestsTrack bugs and suggestions and Signal, which can open issues in Linear or GitHub. See Issue trackers
Resolving or closing conversationsResolve conversations automatically
Asking for a screenshotThe built-in screen capture
Asking the customer to sign inThe built-in sign-in ask, on your site
Reading the customer's earlier conversationsThe built-in search
Sending the customer to a page in your appnavigation()

Build tools for live state in your own systems and the actions on it: an order, an account, a quota, a refund. See Custom tools and Examples.

Still need help?

    Esc