Custom qnaCategories broken in v12? [solved]

Hi there,
I have a brand new installation of v12.0.0 running in Windows Sandbox.
I followed the instructions at https://botpress.io/docs/tutorials/contextual-faq/ to add categories for qna. I had to create the “config” folder in data > bots > [bot_name], and then create the file qna.json into which I pasted the example json from the article.

I see no change in the studio UI when I refresh or even close/reopen the browser. There are no custom categories. Am I doing it wrong? Or is the documentation out of date with the new version?

Solved my own problem:
I hadn’t realized the server needs to be re-launched to integrate changes to config files. It’d be great if this were mentioned somewhere in the “Getting Started” docs!

1 Like

Hi @nathanielgranor - I am also trying to define custom categories. I have a question - If I add a question to a new category, the bot (emulator) doesn’t answer the user questions but it works if I move the questions to the “global” category. Did you experience the same problem?

Good point, we’ll add that to the roadmap and also display “config has changed, reload the server for changes to take effect”

1 Like

I think I see what you’re getting at. It’s not a problem - that’s the design.

The category isn’t really a category. It’s more like a “context”. The bot starts in the general context and will use the questions/answers in the general category. At any point, you can have the bot move into a new context and then it will only use the questions/answers from that category.

For example, you could set up a question in the “general” category so that when the user says “Tell me about giraffes” the bot replies “OK, let’s talk about giraffes” AND the bot moves to the “giraffe” context. Within the giraffe category, you could have a question that says “how tall are they” and an answer “giraffes grow up to 15 ft tall”.

You could have another question “how tall are they” in the “dog” category with answer “dogs grow up to 3 feet tall” which would only be triggered if the bot is in the “dog” context.

There’s an example of how this works in the “Welcome-bot” bot template.

2 Likes

Thanks for the detailed reply. Your reply made the concept very clear. How do we set the context? Do we need to define nodes in a flow (like the “Welcome bot” does)?

Yes - you’d have a node with the “appendContext” action. This documentation has it: