Context
Ari uses a well defined set of inputs to build the context of a thread, then uses that context to decide what to do next on a thread and act independently.
How?
Each time a customer message arrives on a thread that Ari is assigned to, it assembles a fresh snapshot of the support request.
What?
The context snapshot always contains:
Conversation
Customer details
Channel (e.g. Slack)
Files the customer attached
Tone of voice preferences
It can optionally also include:
Thread fields
Knowledge sources it found via a search, if generating a reply
Conversation
Ari reads the thread's message history, and includes:
The most recent 50 message
Who sent each message
When each message was sent
Long messages are truncated to the first 2,000 characters
Quoted email history and signatures are stripped
Autoresponder messages are ignored
Notes
Ari does not use internal notes on a thread as context, as these are private to your internal team, and could include information about the customer that Ari should not use.
Customer details
Ari is told the customer's name, and nothing else.
Channel
Ari knows what channel the conversation is happening over, e.g. email or Slack, and adapts how replies are written:
Email → Fuller, more structured replies
Chat → Shorter, more conversational replies
You can further configure this via Tone of voice preferences.
Attachments
Ari can read files a customer attaches to their message, so a screenshot, log file, or document becomes part of the context for a thread.
Ari can read:
Images → PNG, JPEG, GIF, WebP
Documents → PDF, Word, RTF, OpenDocument, Pages
Spreadsheets → Excel, CSV, TSV, Google Sheets
Presentations → PowerPoint, Keynote, Google Slides
Text → Plaintext, Markdown, HTML, source code, config files, emails
Limits:
Only files the customer attaches are read, not files your team or Ari send
Up to 10 files per request; anything beyond that is ignored
Each file must be under 2.5 MB
Audio, video, and archives (e.g.
.zip) can't be readAri only reads files uploaded directly to the conversation, it does not follow links to externally hosted files (Google Drive, Dropbox, etc)
Thread fields
You can optionally let Ari see the Thread Fields of a support request, for additional context.
This is controlled per field and is off by default. To enable this for a given field:
Head to Settings → Thread Fields
Open a field
Enable
"Include in Agent context"
Only the fields you explicitly enable are shared with Ari. We apply some filtering and limits:
Fields are sorted alphabetically by label and capped at 25
Values are shortened to 150 characters and descriptions to 200
If we fail to load the thread fields, Ari continues without them
Thread fields can hold anything, including PII, so only enable this setting if you're comfortable with Ari using that context to answer customer questions.
Knowledge
Along with the static context that is built in to the snapshot, Ari is also able to dynamically search for knowledge when generating an answer to a customer question.
Rather than reading all knowledge that is indexed, Ari searches for what's relevant based on the thread:
Ari generates search queries based on the current snapshot of the thread
Searches for documentation up to 3 times before drafting a reply
Each search returns the top 10 matching pages, combined and deduplicated across searches
The full content of each matching page is given to Ari to answer from
Two guarantees follow from this:
If the search finds nothing relevant, Ari hands the thread off to your team rather than guessing
Private or internal content can power an answer, but Ari never links a customer to it in the reply
See Knowledge Sources for more information.
Adding dynamic context
Allowing Ari to understand data that sits within your own systems as part of the context it uses when answering customer questions makes Ari far more powerful.
Achieve this via Thread Fields.
Populate one or more thread fields that are visible to Ari with dynamic context, using:
Plain's GraphQL API
Manual