Skip to main content
Some intake is a list of specific answers rather than a conversation — a device from a list, a start date, a yes/no. Add a form to an intent and the employee gets all the questions at once instead of a back-and-forth: one card with a dropdown, a date picker and a toggle beats four rounds of questions, and the answers come back in the shape you asked for.
A branded end-user bot in Microsoft Teams. The employee wrote 'i need to onboard a new user' and the bot replied that it's opening the New/Existing User Deployment Request intake, followed by a form card with labelled fields — full name, job title, direct manager, contact number, work location, address, start date, device assignment — each marked required.

What the employee sees

The bot recognises the request from the intents offered to their company, then posts the form and waits. It doesn’t ask those questions itself and doesn’t repeat them back — the form is the intake.
  • Required questions are enforced in the card. A missing answer is flagged where the employee is typing, before anything is sent.
  • Each form is submitted once. Scrolling back and re-tapping an old card doesn’t inject stale answers into a live conversation — the bot shows what was already sent instead.
  • After Submit the card becomes a read-only summary of the answers that went through. Because the answers reach the agent as a submission rather than a typed message, that summary is the employee’s record of what they sent.
  • In a group chat, the form belongs to whoever asked. Everyone can see the card, but only the person whose request produced it can submit it.
Then the agent carries on exactly as it would after a conversation: it files the ticket to its configured Create Ticket destination with every answer in the body. Forms also render in the dashboard chat, so you can fill one in yourself to check the wording before rolling it out to a client.

Building a form

Forms are built on the intent itself, under Form, below Questions to ask.
The Neo dashboard intent editor for New/Existing User Deployment Request, showing Name and Description at the top, a Questions to ask text area, and a Form section listing question rows — each with a Question field, a Type dropdown set to Short text, and a Required toggle.
1

Open the intent

Go to Intents under Data in the left navigation and open the intent (or create one).
2

Add your questions

Under Form, select Add question. Each question has the text the employee sees, a Type, and a Required toggle. Reorder with the arrows — the form asks them in the order you list them.
3

Add options where the type needs them

Dropdown and Multi-select questions take an Options list; the other types don’t.
4

Save

The form is live on the next message — you don’t need to restart a conversation that’s already open.

Question types

Dropdown and Multi-select need at least one option; the other types don’t take options at all.

Limits

An intent’s form can hold up to 15 questions, with up to 40 options on any one question and 150 options across the whole form. The option limits aren’t taste — every option travels twice in a Teams card, and a longer list would exceed what a card can carry. The editor shows your counts as you build and blocks a save that goes over.

Forms and “Questions to ask” together

The two can coexist, and which one is used depends on where the request arrives: A ticket has nowhere to draw a form, so on a triggered agent the same questions become a numbered list in the agent’s client-facing reply, options spelled out. Nothing is lost; it just arrives as an email. That’s the reason to fill in both: write prose specifically for the email round-trip while chat users get the form. Leave Questions to ask empty and the form’s questions stand in on both surfaces.
Use form questions for answers you need in a fixed shape (which office, which laptop model, what date) and Questions to ask for anything conditional or judgement-based (“if they need RDS access, ask which existing user to mirror”). A form can’t branch — a question can.

Intents

What an intent is, how it’s matched, and how to scope one to agents and companies.

How end-user bots work

The trust boundary and the bot-ticket-agent split behind every end-user conversation.

Triggered workflows

How ticket events trigger an agent — and how a customer reply re-triggers it to continue intake.

Teaching Neo

Where intents fit next to instructions, skills, and memory — and how the four compose.