Knowledge Base

The knowledge base is what your agent answers from - pricing, policies, FAQs, product detail, objection handling. Anything not in here (and not in the agent's business description) is something the agent should decline to state rather than guess at.

Ways to add knowledge#

From Agent → Knowledge, "Add knowledge" gives you three routes:

SourceBest forStays in sync?
FileCSV, Excel or PDF - price lists, policy documents, product catalogues.No. Re-upload to update.
TextPasting an FAQ, a policy, or notes you typed yourself. Give it a label so you can find it later.No. Edit in place.
WebsiteYour public site, docs or help centre - the fastest way to a useful agent on day one.Yes, optionally: daily, weekly or monthly.

Files & spreadsheets#

Upload a CSV or Excel file and each row becomes a retrievable unit. The column headers give the values their meaning, so Plan, Price, Includes reads far better than three unlabelled columns. PDFs are parsed to text and split by structure instead.

Use caseColumns that work well
PricingPlan, Price, Included features, Limits
FAQQuestion, Answer, Category
ObjectionsObjection, Response, Notes
Case studiesCustomer, Industry, Problem, Outcome, Quote
CompetitorsCompetitor, Their strength, Our advantage

Spreadsheet sources stay editable in the dashboard: open a table and you can fix a cell, add a row, or delete one without re-uploading the file.

Crawling a website#

  1. 1Paste the root URL. Splice crawls up to 50 pages, JavaScript-rendered sites included.
  2. 2Review the list of pages it found and tick the ones worth keeping - skip careers pages, blog archives and anything that would only confuse the agent.
  3. 3Save. The selected pages are cleaned of navigation and boilerplate before they're indexed.
  4. 4Optionally set a refresh interval so the source re-crawls itself daily, weekly or monthly.

Refreshes are delta-based

A re-crawl compares content hashes and only re-processes what actually changed, so a monthly refresh of a mostly-static site is cheap. The source shows its sync state - fresh, syncing, stale or failed - and when it last synced.

What happens on ingest#

Nothing is stored as one giant blob. Every source goes through the same pipeline, which is why a well-structured document retrieves better than a wall of text:

  1. 1Parse - the file, page or paste is converted to clean text.
  2. 2Chunk - text is split on paragraph and sentence boundaries into overlapping pieces, so a sentence is never cut in half mid-thought.
  3. 3Contextualise - each chunk gets a short line describing where it came from, so an isolated table row still makes sense on its own.
  4. 4Embed - every chunk is vectorised and indexed for both semantic and keyword search.

A table shows processing while this runs and ready when the agent can use it. Large sources finish in the background - you don't have to sit on the page.

How retrieval works#

When a message arrives, Splice first works out what kind of question it is, then retrieves accordingly - a question about "the cheapest plan" is not answered the same way as "how do I cancel".

Question typeWhat Splice does
SemanticMeaning-based search across chunks - the default for how-to and policy questions.
FilterPulls the specific rows matching a condition, for structured tables.
List allReturns the full set when someone asks what's available.
AggregateCounts or totals across rows rather than quoting one.
Out of scopeRetrieves nothing, so the agent doesn't dress up an unrelated chunk as an answer.
  • Search is hybrid: a vector search and a keyword search run together and their rankings are fused, so exact terms like a SKU or a plan name are found alongside paraphrased questions.
  • Only tables that are ready and switched on are searched.
  • Retrieval runs in parallel with the rest of the reply pipeline, so it doesn't add its latency on top.
  • Chunks are passed to the reply model ranked and labelled, so it can tell the closest match from the near-misses.

Every reply tells you whether knowledge was used

Open any message in the inbox and its detail line says either "used a KB match" or "no KB match". The Playground shows the same signal. A factual answer with no KB match is the single most useful thing to go fix.

Scoping to an agent#

  • Knowledge lives at workspace level. Each agent is then pointed at the tables it should use, from its Knowledge step.
  • An agent with no tables selected can read all of the workspace's knowledge - narrow it deliberately when a support agent shouldn't be quoting the sales deck.
  • Any source can be switched off without deleting it, which takes it out of retrieval everywhere at once.

More is not better

Two contradictory price lists produce contradictory answers. When something changes, update or delete the stale source rather than adding a newer one alongside it.

Finding the gaps#

Splice tracks the questions your agent couldn't answer well - low-confidence replies, no-match retrievals, and conversations customers gave negative feedback on - and surfaces them as knowledge gaps in Analytics. Each gap can be answered right there: type the answer (or have it drafted from what you already have), and it's written back into the knowledge base so the next customer gets it. Gaps that aren't worth answering can be dismissed.

Writing good knowledge#

  • One fact per unit. A row or paragraph that answers exactly one question retrieves far more reliably than a page covering nine.
  • Write the question the way a customer would ask it, not the way your team refers to it internally.
  • Include the numbers - prices, limits, turnaround times, notice periods. Vague sources produce vague replies.
  • Cover the same question two or three ways if customers phrase it differently ('refund', 'money back', 'cancel and get charged?').
  • Prune ruthlessly: outdated pricing in the knowledge base is worse than no pricing, because the agent will state it with total confidence.