Tutorials/Power Automate/Add a Meeting Attendee Silently with Power Automate and the Graph API
Power Automateintermediate

Add a Meeting Attendee Silently with Power Automate and the Graph API

Learn how to add a new participant to an Outlook calendar event without sending update notices to the entire group, using the ‘Send an HTTP request’ action and the Microsoft Graph API.

NA
Narmer Abader
@narmer · Published June 3, 2026

One frequent requirement when managing dynamic meetings is adding a new participant to an existing appointment without notifying every existing attendee. The built-in Office 365 Outlook – Update Event action in Power Automate always triggers an update email to all invited people, which can be disruptive. By using the Office 365 Outlook – Send an HTTP request action and calling the Microsoft Graph API directly, you can update the attendee list while suppressing notifications for everyone except the newly added person. This article walks through a complete, business-focused example.

Scenario: Adding an External Consultant to a Pre-scheduled Review

Your organization, Contoso Ltd., has a weekly Quarterly Review Meeting on the personal calendar of a team member, Alex. An external consultant, Jamie (j.rodriguez@external.contoso.com), needs to be added to the upcoming meeting. The rest of the team (about ten internal employees) has already accepted the invitation and should not receive another email about this specific change. You decide to build a Power Automate flow that adds Jamie silently.

To keep this guide focused, we assume the meeting already exists and you have the Calendar ID and Event ID for the event. One way to obtain these is to use the Get Events (V4) action with a filter query such as subject eq 'Quarterly Review Meeting'. The Calendar ID is found in the table parameter of the action inputs, and the Event ID comes from the id field of the first returned event.

The Core Technique: Read, Modify, Patch

The flow follows a three‑step pattern:

  1. Retrieve the current attendees list from the meeting with a GET request.
  2. Add the new attendee to the list using array operations.
  3. Patch the meeting with the updated list, using a carefully crafted HTTP request that prevents broadcasting to all existing attendees.

Step 1: Store the Meeting’s Current Attendees

After you have the varCalendarId and varEventId variables, make a Send an HTTP request action to retrieve the event:

textGET request to read the current meeting
Method: GET
URI: https://graph.microsoft.com/v1.0/me/calendars/@{variables('varCalendarId')}/events/@{variables('varEventId')}
Headers:
Content-Type: application/json

The response’s attendees array contains all current participants with their status and type. Store this array in a new variable of type Array, for example varCurrentAttendees.

textInitialize varCurrentAttendees
body('Send_an_HTTP_request_1')?['attendees']

Step 2: Append the New Attendee

Create an Initialize variable action for the new attendee object. You can use a Compose action to build the object and then append it to varCurrentAttendees with Append to array variable.

jsonNew attendee object (use in Compose or directly in Append)
{
"type": "required",
"status": {
  "response": "none",
  "time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
  "name": "Jamie Rodriguez",
  "address": "j.rodriguez@external.contoso.com"
}
}

After the append step, varCurrentAttendees contains the original list plus the new participant.

Step 3: Update the Meeting with the Modified Attendee List

Now send a PATCH request to the same URI. Do not use the standard Update Event action – it always triggers notifications. The Graph API PATCH operation, when performed with this specific body, only sends an invitation to the newly added attendee.

textPATCH request to silently update attendees
Method: PATCH
URI: https://graph.microsoft.com/v1.0/me/calendars/@{variables('varCalendarId')}/events/@{variables('varEventId')}
Headers:
Content-Type: application/json
Body:
{
"attendees": @{variables('varCurrentAttendees')}
}
Why this works

The Graph API does not send update emails to existing attendees for a PATCH that only modifies the attendee list, as long as you don’t include the sendExistingAttendees parameter set to true (which would force notifications). The Power Automate HTTP request sends the request without that flag, resulting in a silent update for all except the new person.

Testing the Flow

Trigger the flow manually. After a successful run, check the meeting in Outlook. You should see that Jamie Rodriguez has been added, and only he receives an invitation email. No other participant receives a meeting update notification.

Result
  • New attendee (Jamie): receives a standard meeting invitation.
  • Existing attendees: no notification is generated.

Important Considerations

Permissions

The Office 365 Outlook connector (and its HTTP request action) requires the Calendars.ReadWrite delegated permission. If you are using a service principal (application permissions), the behavior may differ, and you might need to manage notification settings explicitly. For most personal calendar scenarios, the delegated permission is sufficient.

Calendar Type

This approach works with the user’s default calendar (/me/calendars/{id}). If the meeting is on a shared or group calendar, replace me with the appropriate user or group identifier.

Error Responses

If you receive a 400 Bad Request, double‑check the JSON syntax. The attendees array must be a valid JSON array. Also ensure the time field in the status uses the exact format "0001-01-01T00:00:00Z" (the default “none” time).

Common Mistakes and How to Avoid Them

MistakeConsequencePrevention
Using Update Event (V4) actionAll attendees receive an update emailUse Send an HTTP request with PATCH instead
Forgetting to include type (required/optional)The attendee is not added correctlyAlways specify type in the attendee object
Using a malformed calendarId or eventIdThe HTTP request fails with 404Verify the IDs by first retrieving the event
Not appending the attendee to the existing arrayThe patch body contains only the new attendee, removing all othersAlways start with the current attendees array from the GET response

Final Recommendation

For any scenario where you need to add an attendee to a meeting without notifying the entire group, the Office 365 Outlook – Send an HTTP request action paired with the Graph API PATCH method is the reliable, low‑code approach. It keeps existing participants undisturbed while seamlessly adding the new person. Remember to store the existing attendees array before appending, and always test in a non‑production environment first.

References