Some conversations always need the same detail before anyone can help: an order number, which product it's about, what kind of problem it is. Asking up front saves a round trip, and it's built as a workflow rather than as a separate form.
In Automation, create a workflow and add a Collect data step for each thing you want to ask. Then point a menu item on the messenger's home screen at that workflow, so choosing it runs the questions before the conversation opens.
Each Collect data step has two parts: the question the customer sees, and the attribute the answer is stored in.
You pick an existing attribute rather than inventing a field, and its type decides what's accepted — so an email attribute won't take something that isn't an address. If the attribute has predefined options, the customer chooses from them instead of typing, which is how you get a category you can actually route on rather than free text.
Because the answer lands on a real attribute, it's available afterwards: visible on the ticket, usable in routing rules, and readable by Kai and your agents.
Each step has a Skip question when data already set option. With it on, anyone whose attribute is already filled — because you identified them, or because they answered last time — goes straight past.
Every question is a chance for someone to give up before they've told you anything. Two questions are usually tolerated; five feel like a form, and people either abandon them or answer carelessly to get through.
Ask only for what changes what happens next — something that routes the conversation, or that your team would otherwise have to ask for anyway. Anything you're collecting because it might be interesting later is better left out.
It's also worth checking whether you need the questions at all. If Kai answers the question directly, the customer never reaches your team and the details were never required.