Objectives
Objectives are journey goals your agent works toward and tracks — for example booking a demo, starting a trial, or completing onboarding.
When an agent has active objectives, the agent can update their status during conversations. Your product can also sync status through the SDK, render a customer-facing checklist through the Services SDK, and teammates can advance progress manually on the account page (account-level) or the contact page (person-level).
How objectives work
Objectives are configured per agent on the Objectives tab. Like other agent settings, edits save to the draft and apply to live sessions when you publish the agent. There is no separate feature toggle — publishing active objectives enables the behavior.
Each objective has:
- A name and immutable key (used by the SDK and integrations)
- A description that tells the agent what “done” means
- A level: account (once per company) or person (per contact)
- Optional lifecycle stage and gating
- Optional completion source restrictions
- Optional Show to your users — marks the objective customer-facing so your product can render it as a checklist item (name and status only)
Create an objective
- Open the agent and select Edit Agent.
- Open the Objectives tab.
- Select Add objective.
- Enter a name. Aimdoc derives the key from the name; after the first save the key cannot change.
- Write a description that defines completion. Type
@to reference form fields, visitor data, tools, or team members. - Choose level, optional stage settings, and completion restrictions.
- Optionally enable Show to your users if this step should appear in the checklist your product renders through the SDK.
- Save the objective, then publish the agent.
Level, stage, and completion
Level
- Account — progress is tracked once for the company or tenant
- Person — progress is tracked separately for each contact
Lifecycle stage
Optionally tie an objective to a lifecycle stage:
- Advisory — guides the agent's focus when the account is in that stage
- Locked — progress cannot be recorded until the account reaches that stage
If you remove a stage that objectives still reference, Aimdoc blocks the deletion until you update those objectives.
Who can mark done
By default any source may mark an objective done. Enable Restrict who can mark this done when a milestone should only be completed by specific sources — for example, events your product reports through the SDK rather than the agent.
Statuses move forward as not started → in_progress → done. The agent
only advances status when the conversation gives clear evidence. Signed SDK
claims may set any status for keys they are allowed to complete.
Once an objective has recorded progress on the live agent, you cannot delete it. Deactivate it instead so history is preserved. The builder shows a lock on those rows.
Track progress
Open an account to review objective progress for that company. Account-level objectives can be updated manually from the account page. Person-level rows summarize progress across the account's contacts — open a contact to review and advance that person's objectives.
The Contacts and Accounts tables also show a compact completed-over-total rollup when agents have published objectives.
Show a checklist in your product
Most objectives are internal rubric for the agent. When you enable Show to your users, that objective becomes customer-facing: your product can list it for the identified user as a checklist item (onboarding steps, journey milestones, a getting-started card).
The Services SDK returns name, key, level, and status only — never the description the agent uses to judge completion. Skipped objectives are omitted. Anonymous sessions get an empty list.
Configure the Services client with a publishable key and identity assertion,
then call aimdoc.services.listObjectives() (or the React useObjectives
hook). Pair incomplete rows with aimdoc.askAboutObjective(objective) to open
the agent on that step. See SDKs.
Sync from your product
In App Mode, include objective claims on aimdoc.identify when a user
completes a milestone in your product. Claims require a signed v4
user_hash. See Identity Verification
and SDKs.