MicrosoftMicrosoft Office 365Microsoft TeamsPowershell

Automate Microsoft Teams Recurring Meetings with PowerShell


Streamlining administrative tasks, such as scheduling recurring meetings in Microsoft Teams, can save time and effort. PowerShell offers a way to automate this process, ensuring consistency and reducing the risk of errors.


  • Basic understanding of Microsoft Teams and its meeting features
  • Familiarity with PowerShell scripting
  • Access to Microsoft Teams admin center
  • Microsoft Graph Permissions (see note below)

Important Note: Microsoft Graph

Scheduling Teams meetings with PowerShell often requires working with the Microsoft Graph API. Ensure these are in place:

Recommended For You:  Efficiently Managing Hyper-V VMs with PowerShell: A Guide to Bulk Import from CSV

Scheduling Recurring Meetings with PowerShell

Here’s a basic outline of the steps involved. Please be aware this requires more advanced PowerShell and Graph API knowledge:

1: Install Modules:

Install-Module -Name MicrosoftTeams
Install-Module -Name Microsoft.Graph

2: Connect to Teams and Microsoft Graph:

Connect-MgGraph -Scopes Calendars.ReadWrite

3: Define Meeting Details:

  • Set variables for subject, start/end time, time zone, recurrence pattern (daily, weekly, etc.).

4: Create the Meeting using Graph API:

  • Use the New-MgCalendarEvent cmdlet (or equivalent) to create a new event in the team’s calendar.
  • Specify the meeting details, including the recurrence pattern.

Example (Conceptual)

# ... (connect to Teams & Graph)

$meetingSubject = "Weekly Team Sync"
$startTime = (Get-Date).AddDays(1).Date.AddHours(9) # Tomorrow at 9AM
$endTime = $startTime.AddHours(1)
$recurrencePattern = @{ type = "weekly"; interval = 1 }

New-MgCalendarEvent -Subject $meetingSubject -Start $startTime -End $endTime -Recurrence $recurrencePattern -LocationDisplayName "Main Conference Room"  # ... (other parameters)

Real-World Scenarios

  • Standups: Automate daily or weekly standup meetings.
  • Project Check-ins: Schedule recurring project status updates.
  • Training Sessions: Set up a series of training sessions.

Muhammad Faizan

Hi, My name is Muhammad Faizan and i have spent last 15 years working as System Administrator mainly with Microsoft Technologies. I am MCSE, MCTP, MCITP, certified professional. I love scripting and Powershell is the scripting language i am in love with.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button