IT self-service in Teams and Copilot: surface first, then proof

7 min read

Last edited:  

Choose the right chat surface, verify who’s asking, and track the request through to completed IT work.

A Teams channel, a personal chat with an agent, and Microsoft Copilot can look like three doors into the same help desk. They aren't. Each one carries a different amount of information about who's asking, who else is listening, and what the agent is allowed to reach.

So the first decision in IT self-service in Teams and Copilot isn't the chat window. It's the job. Decide what a completed request should give the employee, then choose a surface that can establish the identity the job requires. The rest of this guide gives you a surface matrix, one worked access request, and a checklist that separates “answered,” “submitted,” and “done.”

Start with the job the request needs done

Not every request needs the agent to change anything. “How do I install the design plug-in?” is resolved by a correct answer from approved knowledge. Forcing a ticket or a system change onto that question adds work without adding value.

Other requests depend on the person. “Why can't I open the design app?” needs the agent to know which employee is asking before it reads their account. “Add me to the Design-Tools app group” goes further: it asks for a change that someone has to authorize, execute, and confirm.

Job type

Example

What “resolved” means

Identity needed

Information only

“How do I install the plug-in?”

A correct, sourced answer

None beyond normal access

Personal lookup

“Why can't I open the app?”

An answer about this person's own account

A verified principal for the requester

Change request

“Add me to the Design-Tools group”

The change exists in the source system and matches what was asked

A verified principal, trusted eligibility, and an authorized executor

The surface choice follows from the right-hand column.

Which Microsoft Teams surface fits which IT job?

The answer depends on the product you deploy and how it's configured. The clearest public documentation covers agents built in Microsoft Copilot Studio and Microsoft's own Employee Self-Service agent.

The matrix reflects documented limits checked on October 21, 2026. The Copilot Studio publishing guide covers “standard harness” agents; test other agent runtimes separately. These aren't rules for every Teams app or vendor.

Question

Personal 1:1 chat

Shared group chat or channel

Microsoft Copilot

Documented sign-in path

Copilot Studio supports single sign-on (SSO) with Microsoft Entra ID in Teams 1:1 chats. You configure it; it isn't on by default for every agent

Group and meeting chats don't support Copilot Studio agents set to manual authentication with Teams SSO. Microsoft says its Authenticate with Microsoft SSO path works in 1:1 chats but isn't yet available in group chats or channel messages

For the Employee Self-Service agent, the Copilot channel requires the “Authenticate with Microsoft” option. Test other products directly

Knowledge that needs the user's own permissions

Supported for Copilot Studio agents

Copilot Studio agents can't use it, by design, to prevent unintended data exposure

Not stated in the pages reviewed. Test it

Private eligibility or profile details

Can go to the verified requester, if policy allows

Keep out of the shared thread

Test your configuration

Natural fit

Personal lookups and change requests

Public how-to answers and “where do I go” routing

Where your product is supported and employees already start work

Two details matter in practice. Microsoft's Employee Self-Service agent is currently designed for Microsoft Copilot, and its publishing guide says it isn't supported in the standalone Teams experience. And a custom Teams app or another vendor's agent may handle identity differently, so treat every “test” cell as a test, not an absence.

A shared channel still has a job. It can answer the public question and offer a private next step, either an approved 1:1 sign-in path or a human. That routing is part of the larger picture of where IT self-service lives across your systems.

One access request, from chat message to confirmed change

Here's a fictional request, used only to show the method. The names, IDs, and times are illustrative, not from a real deployment.

At 9:12 AM, an employee posts in a shared design channel: “Add me to the Design-Tools app group – I'm on design now.” The agent replies in the channel without checking or revealing anything about that person: “I can help with that privately. I've sent you a direct message.” Every other participant sees only that.

In the 1:1 chat, three questions come before any action.

Who's asking? Being signed in to the Teams client proves the person signed in to Teams. It doesn't mean the agent received a token for that person.

The agent needs a verified principal, such as a validated user ID from your identity provider, attached to this exact message. A display name doesn't qualify, because names can repeat or change.

Are they eligible to ask? “I'm on design now” is a claim, not an entitlement. The agent reads the human resources (HR) system of record, which shows a transfer to Design effective October 19.

The group's approved policy says Design members may request access and the current manager must approve. The employee doesn't need directory admin rights to request. They need to be eligible.

Who can make the change? An executor identity holds permission to add members to this one group under this policy. It doesn't borrow a broad service credential to skip the employee's eligibility. The approval request goes to the manager named in the HR record, not one the employee suggests.

Step

Evidence in this example

What it proves

Request bound

Request REQ-4471 links the chat message, verified user ID, and group ID grp-dt-01

The action targets this person and this resource

Eligibility

HR record: Design, effective October 19, read at 9:14 AM

The requester may ask under policy

Decision

Manager approves at 10:02 AM in their own signed-in session

The required approval exists

Recheck at execution

10:03 AM: employment active, org still Design, approval unexpired, policy unchanged

Authority still holds when the change runs

Attempt

Membership call returns HTTP 202 Accepted with a job ID

The job was queued, nothing more

Source confirmation

10:09 AM: directory read shows the user in grp-dt-01

The change exists in the source system

Acceptance

Employee replies, “Confirmed, I see it”

The requester agrees the request is met

The agent's closing message matches the postcondition. The employee asked for group membership, so the agent reports confirmed membership. It doesn't say the app is ready, because a group record isn't proof that a paid feature works.

If the employee had asked to use the app, the postcondition would change. The agent would need to show authorized use, such as an assigned seat and a successful sign-in to the app. If no seat were free, the honest state is pending. It would name the license owner and the next step, not “done.”

The flow ends differently when the record disagrees. If HR still showed Marketing, the agent would decline privately, say which record it checked, and point them to their manager. It wouldn't add them on the strength of the message. This is the gap between reading documents and reading systems that AI for IT support has to close.

A checklist from verified identity to completed work

Use one row per state. Each row asks for evidence, and each names what doesn't count. You can merge rows for your own forms, but don't merge “answered,” “submitted,” and “completed within entitlement.”

State

Evidence required

Doesn't count

Request captured

Exact text, surface, chat, and time

A summary written later

Principal verified

Validated user ID bound to this message

A display name or a Teams sign-in alone

Eligibility checked

Current record from the trusted source

The requester's own description of their role

Decision recorded

Policy version plus any required approval

“Looks fine” in a thread

Executor authorized

Scoped permission for this resource, rechecked at execution

A broad admin or service credential

Attempt logged

Call, response, and job ID

202 Accepted read as success

Source confirmed

Read-back from the system that owns the change

The executor's own success message

Postcondition met

Evidence for exactly what was asked

Membership offered as proof of app access

Outcome closed

Employee acceptance, or a justified pending or refusal with an owner

A named owner accepting a task

The last row separates ownership from completion. A license owner accepting a seat task means the work has an owner. It doesn't mean the employee can work.

What breaks: the sign-in, the entitlement, or the action

For this evaluation, separate failures into three groups, each with a different owner. Name that owner so the next person knows where to take the failed request.

Sign-in failures belong to the identity or Microsoft 365 admin. The agent got no verified principal, maybe because SSO isn't configured on that surface or the request came from a shared thread. The agent can still answer public questions. For anything personal, it offers the private 1:1 path or a human, and doesn't guess who's asking.

Entitlement failures belong to the resource owner or the owner of the HR data. The requester isn't eligible, or the record is stale. The agent declines with the reason privately and routes the record question to whoever can fix it. It doesn't override policy because the request sounds reasonable.

Action failures belong to the owner of the system being changed. The queued job failed, timed out, or never showed up on read-back. The agent reports the real state, follows the retry policy, and escalates with the request ID and evidence attached. It never closes the request as done.

Questions for any vendor demo, including Computer

Bring this checklist to every evaluation. It applies to Microsoft's tools, third-party agents, and Computer, by DevRev alike. Ask the vendor to run one safe, fictional request like the one above, live, on the surface your employees will actually use. The broader service desk automation use case is useful context; it does not establish that the exact Teams surface or action you need is supported.

  • Which surface are you showing, and is that path native or configured for this demo?
  • Where does the verified principal come from, and how is it bound to the exact message?
  • What happens when the same request starts in a shared channel?
  • Which source decides eligibility, and when is it rechecked?
  • What identity executes the change, and what's it allowed to touch?
  • How do you tell a queued job from a confirmed change?
  • What evidence closes the request, and who sees it?

For Computer, judge the answers on the configuration you're shown, not on a feature list. Don't assume any Teams presence, identity setup, or system change works unless you see it on your own test request. Where the answers feed a purchase decision, line them up with your committee's enterprise AI agent buying criteria.

Where your current path stops

Pick one access request your service desk handled last week. Trace it from the first message to the moment the employee could actually work. Note where identity was assumed, where eligibility was taken on trust, and where “submitted” was reported as “done.”

That stopping point is your real deployment requirement, whichever surface you choose.

Comparing deployments? Bring one scoped Teams request and walk it, live, from a verified-identity question to confirmed, accepted IT work. Ask what a demonstration can cover before assuming it supports your surface or action.

Frequently Asked Questions

Mathangi Srinivasan
Mathangi SrinivasanMember of Marketing Staff

I craft content that converts and connects, using clear writing to bridge the gap between products and people.

Related Articles