Knowledge > Runbooks > Content Ops > Update Product Knowledge
Update Product Knowledge
Update the product_knowledge table, which is injected into both the chatbot and voice agent system prompts at runtime. Changes take effect immediately — no deployment required.
When to Update
Update product_knowledge any time you change:
- Pricing (new plans, price changes, trial periods)
- Features (new tools, tier changes, plan inclusions)
- User flows (checkout, onboarding, claim flow, admin access)
- Troubleshooting steps (how to fix common issues)
- Policies (cancellation, refunds, data handling)
- Integrations (new connected services)
- Account/access rules (magic links, admin URLs, password resets)
Prerequisites
- Supabase MCP or direct DB access
- The canonical
knowledge/data/YAML files (pricing, features, policies) — read these first to ensure accuracy
Categories
| Category | Used For |
|---|---|
pewsearch | Directory, Premium Pages, claim flow |
churchwiseai | Voice agent, chatbot, admin dashboard |
billing | Pricing, trials, payment, refunds |
account | Login, magic links, admin access, password |
troubleshooting | Common error fixes, "it's not working" questions |
getting_started | Onboarding, setup, first steps |
integrations | Cal.com, Twilio, widget embed, PewSearch connection |
policies | Cancellation, data retention, privacy, GDPR |
Steps
View Existing Entries for a Category
SELECT id, category, question, priority, is_active, updated_at
FROM product_knowledge
WHERE category = 'billing'
AND is_active = true
ORDER BY priority DESC, question;
Update an Existing Entry
UPDATE product_knowledge
SET
answer = 'Updated answer here. Be specific, accurate, and actionable. Agents will quote this verbatim or paraphrase it.',
updated_at = now()
WHERE question = 'How much does the Pro Chat plan cost?'
AND category = 'billing';
Verify the update:
SELECT question, answer, updated_at
FROM product_knowledge
WHERE question = 'How much does the Pro Chat plan cost?';
Add a New Entry
INSERT INTO product_knowledge (
category,
question,
answer,
keywords,
priority,
is_active,
created_at,
updated_at
) VALUES (
'churchwiseai',
'How do I add the chatbot to my church website?',
'After signing up, go to your admin dashboard at churchwiseai.com/admin/[your-token]/settings. Your embed code is on the Settings tab. Copy the script tag and paste it before the closing </body> tag on any page of your website. The chatbot widget will appear automatically.',
ARRAY['embed', 'widget', 'website', 'install', 'setup'],
7,
true,
now(),
now()
);
Priority guidance:
10— Critical (pricing, primary features, how to get started)7–9— Important (common questions, flows)4–6— Useful (secondary features, integrations)1–3— Reference (edge cases, detailed policies)
Deactivate an Outdated Entry
Do not delete entries — deactivate them so they can be referenced if needed:
UPDATE product_knowledge
SET is_active = false, updated_at = now()
WHERE id = '[entry-uuid]';
Verify Immediate Effect
The chatbot picks up product_knowledge on every conversation (no caching). The voice agent loads it at call initialization. To verify the update was applied:
- Start a new chatbot conversation at
churchwiseai.com/admin/[token](or via the API). - Ask a question that should be answered by the updated entry.
- Confirm the response reflects the new answer.
For voice, place a test call and ask the relevant question.
Keeping canonical files in sync
After updating product_knowledge, check whether the same information lives in canonical YAML files:
- Pricing changes → also update
knowledge/data/pricing.yaml - Feature changes → also update
knowledge/data/features.yaml - Policy changes → also update
knowledge/data/policies.yaml
Run the derive pipeline to propagate YAML changes:
cd /c/dev/knowledge
pnpm derive
Verification
- Query confirms the
answerfield contains the updated text. updated_atis current timestamp.- Live chatbot returns the updated information for relevant questions.
- Canonical YAML files are updated if applicable.
See Also
- update-kb-content.md — church-specific FAQ content (different table)
- chatbot-debug.md — if agent is not picking up the update
- Canonical sources:
knowledge/data/pricing.yaml,knowledge/data/features.yaml,knowledge/data/policies.yaml