# Conversation goals and stance: what the agent works towards, and how it behaves

> A goal is what the agent is working towards in a conversation: a stance for how to behave, required fields that complete it, and exits to other goals.

Source: https://www.linkubit.com/docs/conversation-goals-and-stance  
Section: Linkubit help centre › How the AI agent works  
Updated: 2026-10-09

## In short

A goal has a stance (how to behave), optional required fields (what completes it), exits (when to switch to another goal), and what happens on completion (a qualification class, a hand-over). One goal steers at a time; the others keep recording. A goal with no required fields is a mode — it never completes on its own. A lead is created from the first required field captured.

## What a goal is made of

| Field on the form | What it does |
| --- | --- |
| **Stance** | How the agent behaves while on this goal — "They are cold. Earn a reply before asking for anything." It is sent to the AI every turn: guidance, not a guarantee. |
| **What falls under this goal** | Which kinds of conversation belong here and which belong to another goal. Helps the agent tell when the conversation has changed shape. |
| **Exits** | Named moves: switch to goal X when the customer says or does Y. These come first, ahead of the general signals. |
| **Required fields** | Fields from Fields you collect. The agent asks for them one at a time, in the order they are listed in Fields you collect. The goal completes when all of them have values. |
| **Optional fields** | Recorded if the customer gives them; never asked for, never needed to complete. |
| **Qualifies as** | The class the lead gets when this goal completes: high, medium, low or disqualified. Blank means completing this goal says nothing about qualification. |
| **Escalate to a human when this goal completes** | Hands the conversation to a person the moment the last required field is captured. |
| **Allowed tools** | Optional. Narrows what the agent may do while on this goal. It can only narrow the role, never widen it. |

## Goals that collect, and goals that are a mode

A goal **with** required fields is a destination: the agent asks for the next missing field, and the goal completes in code when they are all captured — the AI is never asked whether it is finished. A goal **without** required fields is a way of behaving (welcoming, handling an objection, after-sales). It never completes on its own, because nothing to capture is not the same as done.

A good setup has a stance-only opener (welcome and discovery), one goal that collects the details your team needs, and one or two modes for the moments a conversation goes sideways (pushback, a complaint). Keep only one goal with required fields unless two genuinely different journeys need different details.

## Which goal is running

- A new conversation starts on the active role's **Goal it pursues**. It starts once: when it ends, the next message does not restart it.
- The agent may switch goals itself. It is shown your exits first, then general signals: move **forward** when the customer names what they want, a quantity, a budget, a date or a place; move **away** when they push back, do not understand, or go quiet; move **back** when they re-engage. A switch is a recorded action, not a silent change.
- A workflow can start a goal with **start_goal**.
- Several goals can be live at once. The most recently started one steers; the others keep recording what the customer says, and complete on their own if their fields fill.
- Nothing captured is lost when the goal changes — values live on the contact, not on the goal.

## What happens when a goal completes

1. The lead is updated with the goal's fields (it already exists — a lead is created from the **first** required field captured, so someone who answered one question and went quiet is still a lead).
2. The lead's class is set from **Qualifies as** — or, with **Lead qualification: AI judges the class** on, by a classifier reading the conversation, falling back to **Qualifies as** if it cannot decide. A class of high, medium or low counts as qualified and fires `lead.qualified`.
3. If **Escalate to a human when this goal completes** is on, the conversation goes to a person.
4. `goal.completed` fires, with the goal's key — workflows on it run.

## When a person takes over

Every live goal is paused, not ended. When the conversation is returned to the AI, the same attempt resumes with everything already captured.

## Questions

**The agent keeps asking questions in a goal that should just chat.**

Check the goal has no **Required fields**, and that its stance says what to do instead. Also check the role's **Goal it pursues** is the opener, not the collecting goal.

**The goal never completes.**

A required field the agent cannot get — a field the customer is never asked for, or one with enum values that do not match how customers answer. Open the conversation's contact and see which required field is still empty.

**Should I use Qualifies as or a workflow?**

**Qualifies as** when finishing this goal is what qualifies a lead. A `qualify_lead` workflow when qualification depends on the score or on several things. Using both is fine; a lead is qualified once, by whichever comes first.

**Should I escalate from the goal or from a workflow?**

From the goal when the hand-over should happen once the details are collected — that is the common case. A workflow on `goal.completed` when the hand-over depends on more than one goal or needs a task too. Avoid escalating on `lead.qualified` unless your qualification is strict — see [From a conversation to a lead to a deal](https://www.linkubit.com/docs/conversation-to-lead-to-deal).

## Related
- [Fields you collect](https://www.linkubit.com/docs/fields-you-collect)
- [AI agent rules, goals and handover](https://www.linkubit.com/docs/agent-rules-and-goals)
- [Human escalation: every trigger](https://www.linkubit.com/docs/human-escalation-explained)
