Knowledge Sources
Knowledge Sources in the sidebar of the admin console at app.flexivity.ai is where you decide what the AI knows. Everything it answers from is listed here, one card per source: your help desk’s knowledge base, any public websites you connect, and the documents you upload.
An Admin or a Knowledge Manager can change everything on the page. A Read Only user can see it, with every control switched off. See Users.
Brands
Knowledge is kept per brand. If you have more than one, choose the brand from the selector at the top of the page. Each brand has its own sources, its own counts and its own sync history.
What the AI may pass on to customers
Anything you give the AI may be passed on to a customer, including internal articles and uploaded documents. “Internal” controls whether an article is named and linked in a reply, not whether what it says can be used. Include only content that customers may read.
When the AI hands a conversation to one of your agents, it can pass on what your articles say while the customer waits, such as the usual cause or what to have ready. It passes on only statements taken from your articles, never its own description of the customer’s situation or a promise about what happens next.
Readiness
The Readiness card at the top shows two separate signals:
- AI replies: Ready once the brand has synced knowledge to answer from, from a help desk knowledge base or a website. Until then it reads Not ready, and tells you to sync one.
- Ticket history: Synced once your resolved tickets are indexed. It is used by the Knowledge Builder and by Related Tickets, and it does not delay AI replies.
They are separate because the AI can answer from your articles while your ticket history is still syncing.
Your help desk’s knowledge base
The first card is your help desk’s own knowledge base: Zendesk Knowledge Base for Help Center articles, or osTicket Knowledge Base for FAQ articles. It appears by itself when the brand’s help desk is connected, and you cannot add or remove it.
The card shows when it last synced and the size of the index, for example 22 articles · 18 public · 4 internal. Its Sync button opens the sync page (see Syncing).
Buckets
Articles are grouped into buckets, and each bucket has an Include switch. Only included buckets contribute to what the AI knows.
- Zendesk has a Public bucket for articles everyone can read, and one bucket for each user segment your Help Center uses.
- osTicket has a public bucket and a private one, decided by whether the article is published.
For a Zendesk user segment, choose whether its articles are Public or Internal before you include it. The switch stays off until you do. A segment Zendesk reports for the first time stays excluded until you have reviewed it.
Including or excluding a bucket changes the counts on the card straight away. You do not need to sync.
Public and internal articles
- A public article can be named and linked in the citations at the end of a reply to a customer.
- An internal article is used to answer, but a reply to a customer never names it, cites it or links to it. Agents see it in the ticket’s knowledge panel, marked (internal).
Scrub personal information from internal articles
On by default. Internal articles have personal information removed before they are stored. Public articles are stored as written, because they are already meant for customers. Turn the switch off if your internal articles contain nothing that needs removing.
Website content
A Website Content source lets the AI answer from a public website, such as your documentation site. Its pages are read into the same knowledge as your help desk articles, are always treated as public, and are cited to customers the same way.
Only public pages can be read. A page that needs a sign-in, or an address on a private network, is refused.
Add a website
Click Add website, give it a name, and choose what to read:
- Whole site: enter a Start address. The crawler starts there and follows links that stay on the same website. A sitemap address works too.
- Specific pages: enter one Page address per line. Only those pages are read, and the links on them are not followed.
A brand can have up to ten website sources.
Two optional filters narrow what is read. Enter one pattern per line, starting with /, and matched against the page’s path:
- Only read paths matching, for example
/docs/* - Skip paths matching, for example
/docs/blog/*
Leave both empty to read everything reachable. A path that matches a skip pattern is skipped even if it also matches an include pattern.
The crawler is polite
The crawler identifies itself as FlexivityBot and follows your site’s robots.txt. A page it disallows is not read. A site with no robots.txt is treated as allowing everything, but if the file returns a server error or cannot be reached, the crawler reads nothing from that site until it can. It waits between requests, and reads at most 500 pages in one crawl.
Keeping a website up to date
Each website card has:
- Update: how often the site is read again. Choose Every week, Every two weeks (the default), Every month, or Only when I sync.
- Sync now: reads the site straight away.
- Edit scope: change the addresses and the filters. Changes apply on the next sync, and pages the new scope leaves out are removed then.
- Remove: takes the source’s pages out of what the AI answers from. It asks first, and your help desk knowledge base is not affected.
The card shows the last sync time and how many pages it stored, for example 54 pages indexed. Pages that your filters skipped, or that ask not to be indexed, are not counted.
A crawl only removes pages when it has seen the whole site. If a crawl fails, or stops at the page limit before it has read everything, the pages from before stay in place. The card keeps showing when the last successful sync was, so you can see how old they are.
Sync history
Once a brand has a website source, a Sync history log lists every crawl, newest first. Each entry shows the source, when it started, how many pages it indexed, and one of Succeeded, Failed, In progress or Interrupted. A failed crawl carries a short reason. Show older loads earlier entries.
Your Shopify store
When you connect a Shopify store and claim it into a brand, the store’s pages, policies and products become a Knowledge Source of that brand, called Shopify store, with nothing more to set up. The AI answers from your store’s own text (your shipping page, your refund policy, your FAQs, a product’s description) and cites each by its title, with a link to it on your store.
Only what your store publishes is read: published pages, published blog articles, policies you have written, and products that are active and published to your online store. Drafts, hidden pages, unpublished or archived products and empty policies are never read. Because these pages are already public, their text is used as you wrote it, including the contact details on a contact page.
It works on a password-protected store too, because the content comes from your store’s records rather than from its website. Before your store opens, a customer following a link reaches your store’s password page.
What the AI uses
The card has a switch for each kind of content:
- Pages: on by default.
- Policies: on by default. Refund, shipping, privacy, terms and your other written policies.
- Blog articles: off by default, because blogs are often marketing. Turn them on if your posts answer customers’ questions.
- Products: on by default. Each product’s description, type, brand, tags and options (such as sizes and colours), so the AI can answer “does it run small?” or “is it machine washable?”.
Prices and stock are never taken from here. They change too often to keep a copy, so a product’s price, sale price and whether it can be bought now come only from a live lookup of your store, the Shopify product lookups. If those lookups are off, the AI says it cannot check the price or availability. A price written in a product’s description (such as “now only $49!”) is kept as you wrote it, but the AI never quotes it as the price.
To keep your policies and pages from being crowded out by a large catalog, at most three products take part in any one answer.
Turning a kind off stops it answering straight away. Turning it on reads it within a few minutes.
Keeping it up to date
The source checks your store every 15 minutes and picks up what changed: an edited page, a new one, and a page you unpublished or deleted. Sync now checks straight away. A check reads at most 200 changed items, so a large store fills in over a few checks, and the card says how many items are still to come.
A check only removes content when it has read your whole store. If a check fails, nothing is removed. A store with more than 2,000 pages and articles uses the first 2,000. Products have their own limit: a store with more than 5,000 products uses the 5,000 most recently updated, and a check reads at most 500 changed products, so a large catalog fills in over a few hours the first time.
When the store is disconnected
If the app is uninstalled from your store, its content stops answering at once but is kept. If you install the app again, the content answers again straight away. If Shopify asks for the store’s data to be deleted (48 hours after an uninstall), it is deleted. Removing the store’s connection under Data connectors deletes it too.
Remove on the card takes the store’s pages, policies and products out of what the AI answers from, and leaves your store connected. You can add them again with Add Shopify store content.
Your website too
If the same brand also has a website source that reads your store’s website, the store’s own copy of a page answers, and the crawl leaves that page to it. The website card says how many pages it leaves to your store.
Documents
The Documents card lets you upload files the AI can answer from: policies, runbooks, product documentation. It is always there, one per brand. You do not add or remove the card, only the documents on it.
What you can upload
- PDF, Word (DOCX), Markdown and plain text files.
- Up to 25 documents per brand, each up to 30 MB. You can choose up to ten files at a time.
- A failed document does not count towards the 25.
Older Word files (.doc), spreadsheets, presentations and images are not supported.
The type is decided from what is inside the file, not from its name. A plain text file that has been renamed to end in .pdf is added as the text file it is, and its row shows that; a file that is none of the supported types is refused whatever it is called.
Documents are always internal
The AI uses a document to answer, but a reply to a customer never names it, cites it or links to it, because a document has no address to link to. Agents see it in the ticket’s knowledge panel, once, marked (internal).
Do not upload anything confidential. What a document says may be summarised in replies to customers. Do not put personal information in a document’s name either: the name is a label for you, is stored as you typed it, and is shown to your agents.
What is read
The AI reads the body text and tables of a document. It does not read text that appears only inside images or charts, so a scanned page has nothing to read. A PDF made entirely of scans is refused with a message saying so; upload a version with selectable text instead. A document with several columns or a complex layout may be read imperfectly. A very long document (about 300 pages) is refused; split it and upload the parts.
A table’s column headings are kept with each part of the table that is read, so a fact that lives in a table can still be found.
Personal information
Personal information such as email addresses and phone numbers is removed from a document as it is added, following your brand’s Scrub personal information from internal articles setting (see above). Changing that setting affects documents you upload or replace afterwards; documents already added stay as they are until you replace them.
What this means in practice: while the setting is on, a document cannot be used to give a customer a contact detail. If a document says “call 415-555-0134” or “write to jane.doe@example.com”, the AI reads a placeholder in its place and cannot repeat the number or the address, so a customer asking who to contact is not answered from it. Names, job titles and places are not removed. To let the AI give customers a phone number or an email address, put it in a public help center article, which is stored as written (see above).
After you choose a file
Each file is checked and then processed, and its row shows Processing… and then Ready. Files are judged one at a time, so one file being refused never stops the others. If a file cannot be used, its row shows Failed and says why, in words, for example that the file is password protected or has no selectable text. The file you uploaded is not kept once processing has finished, whether it worked or not.
A file with the same text as a document already added is refused, and the message names the document it duplicates.
Rename, replace and delete
- Rename changes the label agents see, at once.
- Replace uploads a new file for the document. The current version keeps answering until the new one is ready, then the change happens all at once: the AI never answers from part of the old version and part of the new. If the new file cannot be used, the current version stays and the row says why. A different supported type is fine, and the name is kept.
- Upload again is what Replace is called on a Failed document: it is how you try that file again. It needs a free slot, since a failed document holds none.
- Delete removes the document, and everything the AI learned from it, straight away. It asks first. You can delete a document in any state, including one still processing or failed.
Replace is unavailable while a document is still being added, or while another replacement for it is already being processed.
Who can change documents
An Admin or a Knowledge Manager can upload, rename, replace and delete. A Read Only user sees the list and every control, switched off.
Syncing
The Sync button on a help desk card opens the sync page for that brand’s knowledge base. It has the controls to start a sync, follow its progress, cancel or resume it, delete the index, and read past sync jobs. A Read Only user sees progress and history, with the controls switched off.
A Zendesk knowledge base syncs when you connect, and articles are picked up as they change. A website is read on the schedule you chose, or when you click Sync now.