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