Skip to main content

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​

CategoryUsed For
pewsearchDirectory, Premium Pages, claim flow
churchwiseaiVoice agent, chatbot, admin dashboard
billingPricing, trials, payment, refunds
accountLogin, magic links, admin access, password
troubleshootingCommon error fixes, "it's not working" questions
getting_startedOnboarding, setup, first steps
integrationsCal.com, Twilio, widget embed, PewSearch connection
policiesCancellation, 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:

  1. Start a new chatbot conversation at churchwiseai.com/admin/[token] (or via the API).
  2. Ask a question that should be answered by the updated entry.
  3. 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 answer field contains the updated text.
  • updated_at is 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