For chat apps and AI assistants

Give your chatbot answers people can see

Your LLM is great at conversation. For the weather, a recipe or the calories in lunch, WebKnox hands your app a sourced card, and your model keeps everything else.

Trip plannerYour app
Do I need an umbrella tomorrow?

Only first thing. The overnight rain in Dresden eases off by about 7 am; the rest of Thursday stays mostly dry, between 8 and 12°.

Great. Any ideas for a rainy afternoon with kids?
The Verkehrsmuseum and the Hygiene-Museum both have hands-on exhibits for kids…Your LLM · WebKnox said matched: false

Same question, two answers

Your LLM alone
Sure! A medium banana, about 118 grams, contains roughly 105 calories. Most of that comes from carbohydrates, around 27 grams, of which about 14 grams are sugars. It also provides about 3 grams of fiber, a little protein (around 1.3 grams) and very little fat. Bananas are a good source of potassium, with roughly 420 milligrams, and also contain vitamin B6 and vitamin C. If you're looking at a large banana instead, the numbers go up by about 15 percent, while a small one has around 90 calories…
With WebKnox

A medium banana (118 g) has about 105 kcal, mostly from carbohydrates: 27 g, including 14 g of sugars. It also gives you 3.1 g of fiber and 422 mg of potassium.

Where it fits in your backend

One extra call before your model runs. Nothing to migrate, no session to manage.

  1. User asksin your chat UI
  2. Your serversends the messages to WebKnox
  3. matched: truerender the card, keep its text in history
  4. matched: falseyour LLM replies as it does today
// server.js: your chat endpoint
const res = await fetch('https://api.webknox.com/v2/answers', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WEBKNOX_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ messages }),
});
const answer = await res.json();

if (answer.matched) return { type: 'card', answer };  // <webknox-answer> renders it
return { type: 'text', text: await myLlm.reply(messages) };

Good to know for chat apps

Follow-ups are chips

“And tomorrow?” arrives as a webknox-follow-up event. Send it as the next user message.

Keep the text in history

Store the answer's text as the assistant turn, so your model and WebKnox both understand “a large one” later.

Match your app's look

Pick a style, set your accent colour, or override any --wk-* property from your CSS.

Ship your first card this afternoon