Skip to main content

Authentication overview

Authentication verifies the user's identity through a short, conversational question-based flow. It is a subagent action: you drag it from the Toolkit into a dialog node, the same way you add a text response or a webhook. When the conversation reaches that node, the auth flow takes over — and only after the user passes (or fails) does the conversation continue to your regular workflow.

Because it's an action, you decide where authentication happens. Place it at the start of the session (the most common setup — see running it at session start), or deeper in a workflow so users only authenticate when they reach a sensitive operation.

Once the flow starts, the Authentication Agent — an LLM-powered subagent that runs inside the AI Agent's message path — handles the back-and-forth with the user, validates answers against the ground truth you control (variables, exact match, fuzzy match, or a webhook you own), and routes to a dialog node of your choice on success or on failure.

When to use Authentication

Use Authentication when a workflow is gated on knowing who the user is — and getting it wrong is costly.

  • Account access — looking up a balance, opening a ticket on the user's behalf, changing account settings.
  • Debt collection / financial services — required identity verification before discussing amounts.
  • Healthcare / insurance — HIPAA-style scenarios where the user must be identified before any case-specific information is shared.
  • Any flow that contains sensitive customer data as context variables you don't want to leak to an unauthenticated user.

If you only need light identity context (e.g. just look up the user's name from the channel), a dialog webhook (Dialog webhooks) is usually simpler. Reach for Authentication when you need the AI to converse through the verification — handling clarifications, multiple acceptable forms of identity, failure paths to human handover, etc.

The mental model

A typical auth flow has two steps. The distinction is easiest to see in terms of where the conversation originates:

  • Identificationwho do you claim to be? Used when the conversation is inbound and you don't yet know who you're talking to — or whether they're a real customer at all. The user supplies an identifier (an SSN, an account number, a tax ID) that the agent can use to look the rest of them up.
  • Verificationprove that you are who we think you are. Used when you already know who the user should be. Either the conversation is outbound (the agent proactively reached out to a known customer), or identification just resolved them against a record. The user supplies a second piece of information (date of birth, last 4 of card, an OTP) that you compare against the record on file.

Either step is optional, but at least one must be enabled. The shape of your flow follows from where the conversation comes from:

  • Inbound (most common) — both steps. Identification first, then verification.
  • Outbound — verification only. You already know who you called; you just need to confirm it's actually them.

Both steps pass → the conversation jumps to the Trigger node on success you chose. Either step fails → the conversation jumps to the Trigger node on failure (typically a handover or a graceful decline).

What you'll configure

You add Authentication from the subagents group of the Toolkit in the dialog builder — drag the Authentication action into a node. The action card renders the whole flow inline; clicking any part of it opens the matching configuration panel.

A dialog node containing the Authentication action card, showing the Identify the user and Verify the user steps with their success and failure boxes.
In the builderWhat it controls
Where you place the actionWhen the auth flow starts — it runs when the conversation reaches the node containing the action. For session-start auth, pair it with the Conversation start setting.
Identify the user stepThe first step. Asks the user to claim an identity. Optional.
Verify the user stepThe second step. Confirms the identity against your records. Optional.
Trigger node on successThe dialog node the conversation jumps to once auth passes.
Trigger node on failureThe dialog node the conversation jumps to once auth fails.

Each step has its own panels:

In the builderWhat it controls
Step toggle on the step cardEnables the step.
Add question / Choose from a templateUp to 10 questions per step. Each one has its own answer type, weight, and validation method.
Successful identification/verification panel → Score thresholdTotal points needed for the step to pass. See Scoring.
Guidelines drawerFree-text instructions to the agent — your tone, your scripted greeting, your offered alternatives. See Guidelines.
Failed identification/verification panelThree independent toggles: Incorrect responses, Guideline-based, Authentication timeout.
Verify the user step → Pre-enter webhookOptional. Runs a webhook just before verification starts, to fetch ground truth. See Webhooks.

For a click-by-click setup walkthrough see Set up Authentication.

Running Authentication at the start of the session

Most authentication use cases need the flow to run before anything else — the user must not reach any other part of the workflow unauthenticated. Since Authentication is an action inside a node, you get this with the Conversation start setting:

  1. Create a dialog node and drop the Authentication action into it.
  2. In the AI Agent's Settings, set When a conversation starts, trigger: to that node.

Every conversation now opens with the auth flow — the Authentication Agent generates the first message itself, shaped by your step guideline.

How Authentication changes the message path

While the auth flow is in progress, the Authentication Agent owns the conversation: each user message goes to it — not to intent classification — until the flow ends in success or failure. Then the conversation continues from the configured success or failure node, where the rest of your workflow takes over.

One run per session

The outcome is remembered for the rest of the session. If the conversation reaches an Authentication action again after the user has already passed, the flow does not re-run — the conversation routes straight to the success node (or to the failure node, if the user had failed).

See How messages flow for the wider picture.

What the Authentication Agent can see

The Authentication Agent has limited context by design — the central safety property of Authentication.

Visible to the Authentication AgentHidden from the Authentication Agent
Question textExpected answers / ground-truth values
Question type (date, number, etc.)Validation method on each question (exact match, fuzzy match, webhook, …)
Your step guideline + failure guidelinePoint values, score threshold, and number of failed attempts
The conversation so farWebhook URLs, tokens, headers
User's display name (if available from the channel)Other workflows / dialogs in the AI Agent

Validation happens server-side. The Authentication Agent submits a candidate answer for validation and learns only whether it was accepted — never why, never the expected value, never how close it was. Even if the Authentication Agent is prompt-injected, it has no secrets to leak.

Where to next