Skip to main content

Knowledge base

Every draft Notifizz writes — the campaign flow, the subject line, the in-app copy — comes from an AI that only knows what your organisation has told it. Most of what it reads is a by-product of how your product is built: your event catalog, your enricher catalog, the campaigns you already published. The knowledge base is the part you write on purpose, and it is the only organisation-level control you have over how the AI sounds. A campaign brief steers one campaign; the knowledge base steers all of them. It has three parts, and they answer three different questions: which language do we work in, what is this company and how does it speak, and what do our words mean.
Written for Marketing and Product/Ops — the people who fill it in. Developers meet the same knowledge base from their IDE, and there is a section for that below.

TL;DR

  • Three tabs under Settings → Knowledge base: Languages, Context, Vocabulary. All three feed every AI in the product.
  • One default language per organisation. It is the only one the AI reads and the only one it writes in — whatever language you happen to be chatting in.
  • Context is three prose fields: what the business does, the tone of voice, and hard rules the AI must never break.
  • Vocabulary is your glossary — up to 100 approved terms, one sentence each. Star a term to make it a brand word the copy should prefer.
  • The AI proposes, a human approves. A term the AI picks up during a conversation stays out of the glossary — and out of the AI’s own context — until someone validates it.
  • Everything you write here is handled as data, never as instructions: a sentence inside a definition cannot steer the AI into doing something else.

What each part changes

Working language

An organisation picks the languages it works in from a curated catalogue — French, English, Spanish, German, Italian, Portuguese, Dutch — and marks one of them as the default. The default is not a preference. It is the single language the AI reads its context in and writes its output in:
  • The campaign copilot answers you in it, even if you typed in another language.
  • The notification copy is written in it.
  • The variable names the design agents coin are written in it.
  • The setup plan an AI coding tool runs in your IDE produces its descriptions in it.
The other languages you add are for your team, not for the AI: they give the vocabulary and the context a readable version for colleagues who work in them. Notifizz will not silently mix them into the model’s context. Changes save as you make them — there is no Save button. Two guard rails apply: you cannot remove the language currently marked default (mark another one first), and you cannot remove the last one.
The definition guard. Because the glossary is read by teammates in the working language, a definition written confidently in a different catalogue language is refused, with a message naming both languages. The term itself is never checked — acronyms and coined nouns like RL or Backfill carry no reliable language signal. Other languages belong in the translation tabs, never in the canonical definition.

Business context

Three prose fields, edited under the Context tab. They are visually separate because they do different jobs, and mixing them makes all three weaker. A worked example, for a fictional B2B scheduling product:
Business description — Rosterly is a shift-planning tool for independent retail chains. Managers build weekly rosters; staff swap shifts from their phone. Buyers are operations managers in chains of 5 to 50 stores. Tone of voice — Plain, direct, no exclamation marks. Short sentences. Address the reader as you. Never sell inside a transactional message. Rules to respect — Never use an emoji in an email subject. Always show times in the store’s local timezone. Never promise a shift is confirmed unless the message says who confirmed it.
The description field is the one that pays for itself fastest. Without it, the AI has your event names and nothing else to reason about — and it will fill the gap with a generic version of your industry. Edits auto-save as you type, per language. When you work in several languages, each has its own tab, and a Translate action fills a non-default tab from the default one as a first pass. That first pass is a draft: it lands directly in the editable fields, and reviewing it there is the validation step.
Rules are constraints, not instructions to the AI. Your text is passed to the model wrapped as data, so a sentence like ignore the previous rules inside a field is read as content, not obeyed as a command. Write rules about your messages, not about the AI.

Vocabulary

A flat glossary: a term, and one sentence saying what it means.
Its purpose is narrow and worth stating: so nobody has to explain the same acronym on every new campaign. An organisation with an empty glossary re-runs that conversation from scratch each time; one with a filled glossary starts from shared ground.

Rules of the list

Terms are matched loosely: accents are folded, casing ignored, punctuation stripped. RL, rl and R.L. are the same entry, and so are Créneau and creneau. Adding a term that already exists under a variant spelling updates it rather than creating a duplicate. At 100 terms the Add term button is disabled and any further write is refused with an explicit message. Delete a stale entry before adding a new one — Notifizz will not silently evict one for you, and neither will the AI.

Brand words

The star on a row marks a term as a signature word — a word that matters to the business and to the wording, not just a definition worth remembering. Starred terms are handed to the design agents a second time, under an explicit instruction to prefer them when writing copy. The star is human-only curation. The AI never sets it, and an AI re-capture of a starred term never clears it.

Several languages

A term’s identity is its default-language form: that is what the AI reads and what the entry is keyed on. Other language tabs hold a translation of the term and its definition, for the teammates who read the glossary in that language. A per-tab counter shows how many terms are still missing a translation, and a Translate action fills them from the default in one pass — again as an editable draft.

How the AI adds to it — and why it cannot decide

Both the campaign copilot and the technical orchestrator chat can pick up an unfamiliar term while talking to you. Neither of them writes it into your glossary.
1

It asks

The AI hits a term it does not know, asks you what it means, and waits. It is told never to invent a definition.
2

It proposes

With your answer, it files a proposal. A proposal is not a glossary entry: it does not appear in the list, and it is deliberately kept out of the AI’s own context — so an unvalidated guess cannot start feeding the next campaign.
3

You validate

A small floating panel shows each proposal with its term and definition editable. Approve it — with your wording, if you rewrote it — and it joins the glossary; reject it and it is discarded. The panel does not block the conversation, and a badge keeps count so proposals raised in an earlier session are still there when you come back.
Three properties of that gate are deliberate:
  • An approved term can never be downgraded. If the AI re-encounters a term you already validated, the capture is a no-op — it cannot push a human-validated definition back into limbo.
  • Approving keeps the origin visible. The row stays badged as AI-captured even after you edit the wording, so the glossary remembers where each definition came from.
  • Deletion is yours. The campaign copilot cannot remove anything at all. The technical orchestrator chat can, but only when you explicitly ask it to — the case being a definition it got wrong. It is instructed never to delete anything to free space.

Filling it from your IDE

Developers meet the vocabulary during the setup pass an AI coding tool runs against your codebase over MCP. Two things happen there:
  • The org’s working language is injected into that plan, so the descriptions and definitions it produces land in your language rather than the developer’s chat language.
  • Confirmed terms are pushed with the vocabulary_upsert tool, once — and only once — a human has confirmed them in the conversation.
That tool takes terms and definitions only. It refuses anything that looks like a machine identifier (a lower-case dotted name such as billing.invoice_paid): an event, an enricher or a data source is not vocabulary, and letting one in pollutes every campaign the glossary touches afterwards. Terms written this way are recorded as human-confirmed, so they go straight into the glossary rather than into the validation queue.

Which AI reads what

The orchestrator reads the vocabulary but not the tone: its job is code and data, not copy. That asymmetry is intentional — a tone-of-voice instruction has nothing to say about which enricher to call.

Where to find it

  • Settings → Knowledge base, split into three pages: Languages, Context, Vocabulary.
  • The book icon in the campaign copilot’s toolbar and in the orchestrator panel opens the same three sections in a modal, without leaving the campaign. It is the same editor, not a reduced copy — fixing a wrong definition mid-conversation takes a few seconds and the next turn already reads it.

What not to put in here

The knowledge base is shared with an AI and read by your whole team. It holds definitions, not data:
  • No customer names, addresses, order contents or any personal data. Notifizz holds no customer data by design — see privacy friendly — and the knowledge base is not the exception.
  • No credentials, API keys or endpoint URLs.
  • No event names, enricher names or field names. Those already have a catalog; duplicating them here makes both harder to trust.

FAQ

Almost always because the term was proposed and never validated — a proposal is deliberately invisible to the AI until a human approves it. Open the validation panel from the sparkle badge in the copilot or orchestrator toolbar and approve it. The other possibility is that your organisation is at the 100-term ceiling, in which case the capture was refused; delete a stale entry and re-add it.
The canonical definition must be written in the organisation’s default working language, because that is the version the AI reads and the version your teammates read. Write it in the default language, then use the other language tab — or its Translate action — for the version in your language.
No. It writes in the default one, always. Adding a second language gives your team a readable glossary and a readable business context in that language; it does not make the AI bilingual, and it does not translate the notifications your campaigns send.
Terms are matched with accents folded, casing ignored and punctuation stripped, so Créneau and creneau are one entry, as are RL and R.L.. This is what keeps the AI from accumulating three spellings of the same acronym. If you genuinely need two entries, they need genuinely different words.
It cannot add. Every capture lands as a proposal you edit, approve or reject, and an approved term can never be pushed back to pending. Deletion exists only in the technical orchestrator chat, and only when you explicitly ask for it — the typical case being a definition it got wrong and you want gone. The campaign copilot has no way to remove anything. The star on a term is human-only: the AI never sets it and never clears it.
No. The working language is a setting, not a rule, and the rules field is not a channel for talking to the AI: your text is passed to the model as data so that a sentence inside it cannot redirect its behaviour. Write rules about the messages you send — formality, forbidden formats, what a message must never claim — and set the language under Languages.
Everything still works. The copilot interviews you from scratch on every campaign, the copy comes out generic, and the same acronyms get re-explained. The cost is not an error message; it is a slow, unremarkable drift in quality that is very hard to attribute later.

See also

Campaign copilot

The AI that reads all of this and drafts the campaign.

Why AI

What the AI is for, and where it stops.

Orchestrator

The technical half — reads your vocabulary, not your tone.

Brands & variables

The visual identity the copy is written into.