Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Outlook
    • Planner
    • Power Apps
    • SharePoint
    • Teams
  • Triggers
  • Ready to use solutions
    • Approval Process Solution
    • Task Delegation App
    • The Ultimate Power Automate expressions cheat sheet
    • Power Automate HTTP requests to SharePoint cheat sheet
    • Power Automate HTTP requests to Graph API cheat sheet
  • ABOUT ME
  • Get help with your flow
  • POWER PLATFORM SERVICES
Menu

How to forward event invitation to other calendar (Power Automate)

Posted on January 22, 2023January 22, 2023 by Tom

“I’ve got multiple calendars to synchronise, can I somehow forward every event invitation to all calendars, maybe with a Power Automate flow?”


If you work for multiple companies, it’s quite common to have also multiple mailboxes. And with multiple mailboxes come also multiple calendars that various colleagues will access. Which can be a problem when looking for an available meeting time… How do you make sure that the calendars are synchronised? That users won’t book a time slot that’s already occupied in the second calendar? That each event invitation will appear instantly also in the other calendars?

Forward the invitation with a flow

There’s already an article on forwarding your events to other users, but that works only for events you created. If you’re not the initiator you can’t update it, you can’t extend the invitation directly. You must forward the event as you normally do manually.

Since you can do it, there’s a high chance Power Automate can do it for you as well, even though there’s no dedicated action to “Forward an event”. As many times before, the trick is in using an HTTP request, this time to the Graph API.

Add the Office 365 Outlook action “Send an HTTP request” to your flow and configure it with the HTTP request below.

URI:
https://graph.microsoft.com/v1.0/me/events/<eventId>/forward

Method:
POST

Body:
{
  "ToRecipients": [
    {
      "emailAddress": {
        "address": "<emailAddressToForward>"
      }
    }
  ]
}

If you need to forward it to multiple email addresses add multiple objects in the “ToRecipients” array, e.g.

{
  "ToRecipients": [
    {
      "emailAddress": {
        "address": "<emailAddressToForward>"
      }
    },
    {
      "emailAddress": {
        "address": "<emailAddressToForward2>"
      }
    }
  ]
}
Power Automate forward event invitation

That’s it, you just forwarded the event to as many other calendars as needed.

Summary

Since there’s no dedicated action to forward an event in Power Automate, you must resend the invitation via Graph API. All you need is the event id (from the trigger) and the email addresses for forwarding. A flow with two actions that’ll keep all your calendars up to date, at least until somebody starts rescheduling these events…


πŸš€ Master Power Automate

Join 2,100+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

19 thoughts on “How to forward event invitation to other calendar (Power Automate)”

  1. Stefan says:
    April 12, 2023 at 10:16 pm

    Hi
    This is very cool. It works as long I don’t delete items in my own “Source” Calendar. The deleted object is no longer accessible by the graph and therefore the request fails. That’s something to fetch. Somehow πŸ™‚

    Reply
    1. Tom says:
      May 1, 2023 at 3:35 pm

      Hello Stefan,
      that’s right, if the event doesn’t exist in the calendar it can’t be forwarded. πŸ™‚

      Reply
  2. Volodymyr Pitaiev says:
    April 13, 2023 at 5:04 pm

    How with this flow can prevent loop when you schedule an event, because when you are invited to an event all is well

    Reply
    1. Tom says:
      May 1, 2023 at 3:38 pm

      Hello Volodymyr,
      the only reliable way to prevent loops is to always use only one-way syncs, otherwise you’ll get crazy while trying to avoid them…

      Reply
  3. Oscar says:
    April 13, 2023 at 11:49 pm

    Can you also include the location here? Ex. Want to include a zoom link – is that possible?

    Reply
    1. Tom says:
      May 1, 2023 at 3:41 pm

      Hello Oscar,
      it’ll forward the whole event, with all the information inside. If you create an event an it’ll contain Zoom link then users will receive it as well.

      Reply
  4. Adrian says:
    May 15, 2023 at 6:03 pm

    Is it possible to include an IF condition to check if the event invitation has an attachment?
    Because I don’t wan’t the event to be forwarded if it has an attachment (client documents/assets must not be forwarded anywhere)

    Reply
    1. Tom says:
      July 28, 2023 at 8:43 am

      Hello Adrian,
      the check would have to be before you forward the event, I’d check the outputs of the trigger action or use the ‘Get event’ action to check whether it tells you anything about attachments.

      Reply
  5. Jon says:
    August 28, 2023 at 2:33 am

    I’m trying to send this to multiple variable contacts. The contacts are variable and the number of people that require the invite are also variable.

    So one week, i could need to send to person A, B, C and D, and the following week only people E, F and G. Or more.

    Using an apply to each loop and append to array variable gives me a weird output (below).

    Any ideas?

    [
    “{\n \”emailAddress\”: {\n \”address\”: \”Email1@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email2@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email3@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email4@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email5@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email6@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email7@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email8@email.com\”\n }\n }\n ]\n},”,
    “{\n \”emailAddress\”: {\n \”address\”: \”Email9@email.com\”\n }\n }\n ]\n},”,
    ]

    Reply
    1. Tom says:
      September 7, 2023 at 12:31 pm

      Hello Jon,
      I’d check the type of the variables, this seems like you’re using String variables when you should be using Array/Object variables instead.

      Reply
  6. kristof vanherle says:
    September 11, 2023 at 8:43 pm

    hi, I’m using this and it works but it sends the emails in a loop… I keep on getting these emails until I turn the automation off

    Reply
    1. Tom says:
      September 30, 2023 at 10:23 pm

      Hello Kristof,
      there isn’t much I can do about that, if it loops you must find why it loops and take care of it.

      Reply
    2. Jurgen Michiels says:
      May 31, 2024 at 11:34 am

      I have the same problem, did you find a solution?
      There is no option by any change to stop the workflow after step 2 is completed? Since it everytime the same invite that is forwared.

      Reply
  7. Adrian says:
    October 7, 2023 at 7:54 am

    hi! what if I want to forward an event from another calendar /account I’m a delegate of?

    I tried going with:
    https://graph.microsoft.com/v1.0/users/{UID}/calendar/events/@{variables(‘calID’)}/forward

    but got a permission denied…

    any ideas?

    Reply
    1. Tom says:
      November 19, 2023 at 1:32 pm

      Hello Adrian,
      no ideas, never needed to do that.

      Reply
  8. Christopher Thompson says:
    August 16, 2024 at 9:31 pm

    What happens if one or more of the events get rescheduled? Does the event ID change?

    Reply
  9. Joe says:
    October 7, 2024 at 7:57 am

    Great article!
    I’ve tried it, but for some reason the recipient received .eml file with calendar file (.ics) file attached to it?

    Is there a way to forward the calendar entry directly? so that the recipient can see the entry on their calendar?

    Thanks

    Reply
  10. TEst says:
    November 13, 2024 at 8:12 am

    HTTP Error 411. The request must be chunked or have a content length.

    Reply
  11. AM says:
    January 30, 2025 at 6:28 pm

    If you have a lot of series invites, this automation will forward each one separately and notify the author of the event that it has been forwarded – creating a nightmare of zillions of emails.

    Reply

Leave a Reply Cancel reply

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

πŸš€ Master Power Automate

Join 2,100+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Still exchanging emails to get things approved?

Get the Approval Process solution and the Task Delegation App to skip the hard part and deploy an automated, fully functional approval solution on a SharePoint list in minutes! And then the next one, and the next one...

Approval Template Preview ✨ Learn more ✨

Turn ideas into flows with ease!

Grab the complete Power Automate Cheat Sheet Bundleβ€”everything you need to master expressions, SharePoint HTTP calls, and Graph API in Power Automate.

Cheat Sheet Bundle Preview ✨ Get the Cheat Sheets

Didn't find what you were looking for?
Need to adjust a solution to fit your needs?
Or would you just like to get an assistance from somebody with thousands of hours of experience with Power Automate?

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2025 Let's POWER Automate | Theme by SuperbThemes