← Blog

Identity & access · · 4 min read

An Okta agent should explain the access before it changes anything

Design an Okta agent workflow that resolves the user, traces group and application assignments, and separates an access investigation from an identity change.

Deixic

A person asks why they cannot open an application. The agent proposes creating a new user. The existing user already belongs to a group that should provide access, and the actual problem is elsewhere.

An Okta agent workflow should start by explaining the access that already exists.

Resolve the person and the account separately#

A display name is a search hint, not the account that should change: people have similar names, alternate accounts, and identities in different environments.

Begin with the intended organization, the user identifier, and the application the person is trying to reach. When the request comes from another tool, keep the original request reference. An email address copied from an old support conversation must not replace the identity the operator intended.

Have the agent show the resolved account before proposing a write. If several candidates match, ask a narrow question: which account and application does this request concern?

Trace the relationship behind the permission#

Access depends on relationships between users, groups, and applications. Preserve them in the result, because a flat list of group names leaves the reviewer to reconstruct the part that matters.

Okta's user API documentation distinguishes group membership from application links, including assignments obtained through groups. Use those concepts to structure the investigation, and check the resources the Okta connection exposes. An example investigation produces:

Observation Reference to keep What it establishes
A matching user was found User identifier Which identity was inspected
The user belongs to a relevant group User and group identifiers A membership relationship
The application has a relevant assignment Application and assignment references The assignment the agent observed
A relevant event appears in the logs Event reference and time What occurred at that time

None of these observations alone establishes that the person can complete their task now, because the application can have additional requirements. Keep that uncertainty attached to the conclusion instead of filling it with a guess.

Keep an access request distinct from authority to grant it#

"Please give me access" describes what the requester wants. It does not establish who approves the change, which account receives it, or whether the connected agent has that operation.

Decide those before execution. A proposal names the target identity, the requested change, the reason, the requester, and the approval decision needed. The operator can reject the change and keep the investigation and its references.

The Okta operation reference lists the operations available on the connection. Reading groups and assignments does not imply the connection can perform every group, application, or lifecycle change. Select the tool the task needs, and do not compensate for a missing operation with broader credentials.

For sensitive calls routed through Deixic, use the approval flow to review the exact action. A prompt asking the agent to be careful is not an enforced decision before execution.

An uncertain create result needs investigation#

If a create-user attempt times out, the agent inspects the destination before trying again. A second request creates another identity or fails for a reason that hides the first attempt.

Preserve the intended target and any returned identifier. If the outcome cannot be determined, escalate that specific uncertainty. Do not let the agent broaden its search, create a different account, and describe the sequence as one successful onboarding.

The same discipline applies after approval. Approval grants permission to try an action, and the provider result shows what happened. Then verify any further outcome the request required, through the appropriate authorized process.

Save the investigation method, not a permanent access verdict#

A team can reuse instructions for resolving a user and tracing an application assignment, but the conclusion that a particular person has access changes over time. Keep the method in a reviewed skill, and refresh the identity data when a new decision depends on it.

Test the workflow with:

  • Similarly named users.
  • An assignment obtained through a group.
  • An incomplete resource response.
  • An access request that needs a different approver.
  • An interrupted create response.
  • A request for an operation the connection does not expose. The agent should name the missing operation plainly.