TBW / MICROSOFT 365 / USE CASE

Microsoft 365 Workflow Automation

Use AI inside Outlook, Teams, SharePoint and OneDrive workflows while keeping permissions, review and audit explicit.

Discuss a Microsoft 365 Pilot See the Workflow Pattern

The Problem: Context Is Scattered Across the Workday

A request starts in Outlook, is discussed in Teams and depends on a SharePoint policy or OneDrive file. A person can often reconcile these sources, but copying everything into a model loses the permission boundary and leaves no clear record of which source supported the answer. A broad integration right is not a substitute for the requesting user’s right to see a specific message or file.

The important distinction is between a draft for review and an action in Microsoft 365. Summarizing a permitted document does not authorize sending email, modifying a list or sharing a file. Put that transition in the workflow, not in an instruction to the model.

From Trigger to an Approved Action

Trigger → User Context → Retrieve Allowed Data → AI Draft/Summary → Human Review → Approved Action → Audit. A mailbox item, meeting follow-up or request form supplies the trigger. Capture the initiating user and the intended task; a connector retrieves only data that identity and the configured application may access. The model receives the minimum relevant material, with source references, and returns a proposed artifact—not a permission to execute it.

For example, an incoming request may produce a draft reply that cites a current SharePoint procedure. A reviewer checks the source, recipient and text before sending it in Outlook. The approved action is bound to that exact draft and recipient, and the audit trace records what was reviewed, what changed and whether execution succeeded. If either the draft or destination changes, review again.

Microsoft Identity and Graph at the Boundary

Entra identity

Authenticate the user and separate the workflow runtime from reviewers and operators. Choose delegated Microsoft Graph permissions when the workflow should act in the user’s context: effective delegated access is bounded by both the application’s granted scopes and that signed-in user’s access. Application permissions operate without a signed-in user and generally require admin consent; consider them only where a background service needs app-only access, with tighter review of the wider blast radius.

Graph connector

Request only required granular scopes and administrator/user consent appropriate to the operation. Where supported, evaluate resource-specific consent (RSC) for a bounded Teams or other resource instead of assuming a tenant-wide grant. Enforce content-level checks as well as token scopes.

Draft and review

Keep Graph access tokens and refresh material in a secured connector, outside model context, logs and prompts. Show the reviewer source links, proposed recipients and the full draft; require a new review after material edits.

Action and evidence

Allow only the reviewed Graph operation, then correlate trigger, source IDs, identity, consent/scope, review decision, action result and errors in a retention-limited audit record.

Graph permission grants alone do not make every returned item suitable for an AI prompt. Apply organizational access rules, sensitivity labels and data-loss-prevention policy before sending content to the selected model service. The particular scopes and consent route depend on the chosen Microsoft 365 workload and tenant configuration.

Four Bounded Workflows

  • Outlook inbox triage: classify an agreed mailbox class and suggest a reply or routing category; leave send and reassignment to a named reviewer.
  • Teams meeting follow-up: draft a source-linked summary and open questions from permitted notes or transcript content; a meeting participant checks attribution before distribution.
  • SharePoint policy Q&A: return a short answer linked to the accessible document and version, with “cannot verify” when evidence is missing. For retrieval architecture, see RAG; this example focuses on Microsoft 365 permissions and workflow review, not a duplicate RAG design.
  • Request intake: turn an approved form or message into a draft list item with proposed owner and fields; confirm the destination and data classification before the write.

Each workflow needs its own approved source set, output destination and review rule. A helpful summary is not evidence that a file can be reshared or a message auto-sent.

Six Controls That Stay Outside the Model

  • Delegated access where suitable: use the signed-in user’s context and minimum Graph scopes for user-initiated tasks; test effective access to a restricted mailbox or document.
  • Separate app registrations: isolate background services from user-facing workflows; review admin consent and justify any app-only grant against the required workload.
  • DLP and sensitivity labels: check source permissions, labels and the selected model route. A custom integration must enforce its own data policy rather than assume Copilot-specific controls apply.
  • Draft before send: leave email, sharing and list writes unavailable in the first pilot; if later enabled, bind approval to exact recipient, content and destination, then revalidate.
  • Action logging: correlate trigger, user, source IDs, reviewed draft, decision, permitted API action and result while limiting sensitive content in traces.
  • Secure token handling: keep access and refresh tokens in a secured connector outside prompts and model logs; define rotation, revocation and expiry tests.

What the Pilot Produces

Agree on reviewable artifacts before connecting a mailbox or site:

  • A workflow map naming trigger, initiating identity, source location, draft, reviewer, proposed action and audit owner.
  • An Entra app/Graph scope and consent inventory, with delegated versus app-only rationale and a token-handling diagram.
  • A source/label/DLP decision sheet for allowed and denied retrieval, including cross-user and stale-document tests.
  • A draft-and-review screen specification showing citations, recipient/destination, edit history and reject or rework path.
  • A run trace and disable/revoke procedure so operators can investigate or stop the workflow without relying on model logs alone.

These are proposed pilot outputs, not a claim of an existing deployment.

Measure Useful Drafts and Safe Decisions

Baseline the existing human workflow and inspect pilot outcomes; do not infer value from generated volume alone. Track accepted drafts, how often reviewers edit them and why, and actions reversed or corrected after review. Review permission findings—including attempted cross-user access and overbroad consent—alongside adoption by the pilot team. Pair these measures with source-link usefulness and audit completeness. Define targets with the owner after observing the baseline; no numerical benefit is assumed here.

Start with One Team and One Mailbox Class

  1. Define the boundary: choose one team and one mailbox class, named reviewers, approved sources and a short list of messages to exclude. Inventory current access and consent before configuring a connector.
  2. Draft only: generate proposed triage labels and replies from permitted content, with source links. Do not enable auto-send, file sharing or background writes. Test an unseen mailbox, a restricted document and a malicious instruction embedded in email.
  3. Review and decide: compare drafts with human replies, record edits and denials, test revoke/expiry, and decide whether any later approved action warrants a separately scoped phase.

Keep the initial outcome as a reviewed draft and a traceable decision, not an autonomous messaging system.

Risks to Test in the Microsoft 365 Pilot

Failure mode, control and denial test
Risk Control and test
Excessive admin consent Inventory and narrow Graph grants; test whether the app can read a mailbox or site outside the pilot before allowing it into the workflow.
Content the user should not see Retrieve under the appropriate identity and check effective access and labels; test a restricted file and another user’s message.
Email prompt injection Treat message body and attachments as untrusted data; insert an instruction to send or leak content and verify the draft-only gate holds.
Automatic send or write Remove write scopes in the pilot; later require exact-draft review and reject changed recipient, destination or payload.
Stale or exposed tokens Store tokens only in the connector, protect refresh/rotation and expiry, test revocation and prevent token content entering prompts or logs.

Frequently Asked Questions

Does delegated Graph access mean the AI can read everything the user can?

No. The workflow still needs a task-specific source set, effective access checks and data-classification controls. A delegated grant is a ceiling for the connector, not an instruction to collect all accessible content.

When would an application permission be considered?

Only when a service genuinely needs app-only access and an owner has justified its broader trust boundary, consent and resource restrictions. Do not switch to app-only access to bypass a missing user permission.

Can a Teams summary be sent to everyone automatically?

Not in the draft-first pilot. A participant reviews source links, attribution and audience before distribution; sending is a distinct action that needs its own scope and approval path.

How do SharePoint sensitivity labels affect an answer?

Check the tenant’s label and DLP policy before retrieval and model processing. If a document is not permitted on the selected data path, exclude it and show that the answer lacks verified support rather than laundering its contents into a summary.

What if a reviewer edits an Outlook draft after approving it?

Treat a material edit, changed recipient or different destination as a new proposal. Revalidate access and require another explicit review before any later send operation.

Scope a Draft-First Microsoft 365 Workflow

Bring one mailbox class, its reviewers and the SharePoint or Teams sources they already use. We can map the access path, permitted draft and audit handoff before any send or write permission is considered.

Back to top button