Skip to content
AscendCore
Back to Runbook Library
Collaboration Live in production

Microsoft Teams Provisioning

Create a Microsoft Teams team with its M365 group and named owner from one approval-gated request, fully audited.

Integrates with

M365

The problem

Every new project wants a Team with the right people in it. Setting that up by hand is quick but repetitive, and it tends to land on IT rather than the project lead.

What AscendCore does

A requester names the team and its owner in Slack or Teams. AscendCore confirms the name is free, resolves the owner, and on approval creates the Microsoft 365 group with that owner bound and activates the Teams team on it. Directory replication lag is retried automatically, and the outcome is honest: if the group lands but activation needs another pass, the card says exactly that instead of claiming success. Members join afterward through the group membership runbook, and everything is recorded in the audit chain.

Status

Live in production. Stands up a Microsoft Teams team against a real tenant today from Slack and Teams: on approval it re-checks the name is free, creates the Microsoft 365 group with the named owner bound at creation, and activates the team on it, retrying directory replication lag automatically. The outcome is honest: if the group lands but activation needs another pass, the card says exactly that instead of claiming success, and members join afterward through the group-membership runbook. Everything lands in the audit chain. Requires a tenant with Teams and Microsoft 365 licensing and a Graph app credential with Group.Create and Team.Create; naming conventions and approver routing are configurable per customer.

Runbook source preview

Versioned, deterministic, auditable

Every runbook is defined as a versioned YAML manifest with explicit triggers, steps, and approval policies. The runbook itself is the audit-ready record of what AscendCore can and will do. Chat is just the interface that triggers it.

name: teams-provisioning
trigger:
  channels: [slack, teams]
  commands: [team-create]
steps:
  - validate_name_available     # re-checked at execute time
  - resolve_owner               # a team needs an owner
  - admin_approval
  - create_m365_group           # owner bound at creation
  - activate_team               # retries directory replication lag
approval:
  required: true
  approvers: [it-admins]
Ready to deploy

Run microsoft teams provisioning from Teams or Slack today

AscendCore deploys in days, not months for Slack + Okta or Teams + Entra stacks. See your first automated resolution the same day.