Skip to main content

Multi-Client Agency Setup

Manage multiple clients from a single Fiko account. Each client has their own knowledge base and contact details — your AI agent always gives the right answer to the right customer without leaking one client's promotions or information to another.

The Problem This Solves

Agencies managing multiple clients face a specific challenge: each client has their own brand, promotions, and support channels. A customer on Client A's LINE channel should only see Client A's promotions — never Client B's. Fiko solves this through group-scoped knowledge sources and intent-aware context routing.

Client Isolation

Each client's KB content is scoped to their group. Retrieval is filtered at the vector database level — other clients' chunks are never considered.

Intent-Aware Facts

Contact details (email, phone, website) are only injected into the AI prompt when the customer actually asks for them, preventing brand confusion.

Automatic Routing

The AI classifies intent before building context. A promotion question only sees promotion KB. A contact question gets the right client's contact details.

Core Concepts

Groups

A group is a named context bundle for one client. It holds two things: KB sources (the client's product and promotion knowledge) and Aux Facts (the client's support contact details). A channel belongs to one or more groups, giving customers on that channel access to exactly that client's knowledge.

KB Sources (Knowledge Base)

Uploaded documents, URLs, or text that the AI uses to answer product and promotion questions. Each KB source is scoped to a group when added. The AI searches only within that group's KB when a customer on that group's channel sends a message.

Aux Facts (Auxiliary Facts)

Verified contact information for a group: support email, phone, website, social media links, help center URLs, and feature guide URL mappings. Configured per group via Team → Groups → ⋮ menu → "AI Facts". These are separate from KB sources — they are not for product knowledge. The AI only includes them in its context when the customer's question is specifically about contact details, preventing them from interfering with promotion or product answers.

Example: Agency with Two Casino Clients

An agency called Acme manages two online casino clients — Kub55 and BetMax — each with their own promotions and support channels.

Company: Acme Agency

Group: Kub55

KB source: kub55-promotions.pdf

Aux facts: [email protected] · kub55.com

Group: BetMax

KB source: betmax-promotions.pdf

Aux facts: [email protected] · betmax.com

Channel: LINE-Kub55Group: Kub55

Channel: LINE-BetMaxGroup: BetMax

Customer on LINE-Kub55 asks:

“Do you have promotions?”

  • AI searches Kub55's KB only
  • Returns Kub55 promotions
  • BetMax content never considered

Customer on LINE-Kub55 asks:

“How do I contact support?”

Setting Up a New Client

1

Create a group for the client

Go to Team → Groups and create a new group with the client's name (e.g. "Kub55"). This group will hold all KB sources and contact facts for that client.

2

Configure Aux Facts for the group

In Team → Groups, click the ⋮ (three-dot menu) on the client's group row and select "AI Facts". The modal has four sections — Company (name, website), Support (email, phone, portal URL, live chat toggle), Documentation (help center URL, feature guide URL mappings), and Social (Facebook, LinkedIn). Fill in what the client wants the AI to share when customers ask for contact details. Leave fields blank if the AI should not share them.

3

Add KB sources scoped to the group

Go to Knowledge Hub → Add new source. Upload the client's promotion PDF, FAQ document, or paste their website URL. In the Scope dropdown, select the client's group name. The AI will only search this content for customers on that group's channels.

4

Assign the client's channel to the group

In Channel settings, add the channel to the client's group. The channel can belong to multiple groups if needed — for example, the client's own group plus a global company-wide KB for shared platform FAQs.

5

Test in a fresh chat session

Open a new chat from the client's channel. Ask a promotion question — the AI should answer from the client's KB. Ask for contact details — the AI should respond with that client's support info only.

How Cross-Client Isolation Works

The system uses multiple layers to ensure no client's data bleeds into another client's responses.

KB retrieval filtered by group

Every KB chunk stored in the AI's vector database carries the group ID it belongs to. When retrieving for a customer, only chunks from that channel's groups are searched. Other clients' chunks are excluded at the database level, not at the prompt level.

Aux facts only injected for contact questions

The AI classifies the customer's intent before building the prompt. Aux facts (contact email, phone, website) are only included when the question is about contact details. For product, promotion, or policy questions, aux facts are excluded entirely — so agency-level contact info cannot interfere with client-level KB answers.

Intent classification for technical questions

For technical support questions, aux facts are only included if the message also contains contact-seeking language (e.g. "reach an agent", "talk to support", "email", "phone"). A troubleshooting question like "my login is broken" goes to the KB path only.

Original customer message used for LLM evaluation

The AI internally rewrites queries with company context to improve search recall. However, the LLM's final answer check always uses the customer's original unmodified message — preventing the AI from anchoring on agency branding injected during the search rewrite.

Intent Routing Reference

This table shows which context is included in the AI prompt based on the customer's question intent.

Example questionDetected intentClient KBContact facts
Do you have promotions?product / promotion YesNo
How do I deposit?how-to YesNo
My login is brokentechnical support YesNo
How do I contact support?contact Yes Yes
What is your email?contact Yes Yes
My login is broken, how do I reach an agent?technical + contact Yes Yes

Tips for Better Results

Upload KB content in the customer's language

Semantic vector search works across languages, but similarity scores are higher when the KB content and the customer's question use the same language. If your clients serve Thai-speaking customers, upload promotion documents in Thai for the most reliable recall.

Separate promotion KB from general FAQ

For best results, create separate KB sources for promotions and for general FAQ or policy content. This keeps promotion-specific chunks from being diluted by unrelated content during retrieval.

Use global KB for platform-wide information

If your clients share a common platform (e.g. all built on the same SaaS), add a company-wide (no group) KB source for platform FAQs. This content supplements client KB answers without overriding them — client KB always gets retrieval priority.

Company-Wide KB as Fallback

KB sources added without a group scope are visible to all channels. When a customer asks something not covered by their client's group KB, the AI can fall back to company-wide content. Group-scoped KB always takes priority — up to 8 of the 12 context slots go to group content, with at most 4 slots for company-wide fallback.

Multi-Client Agency Setup — Fiko Docs