0

I need to create an automation to migrate scheduled meeting invites (including attendees, organizers, attachments, start time, end time, meeting occurrence, and external email attendees) of all users in the existing tenant to another new tenant. Kindly advise on the usage of logic app consumption workflow with Microsoft graph API will help me to achieve this. Looking for suggestions and advises I create a JSON schema which helps to migrate scheduled meeting invites from one tenant to another tenant as shared below:

{
   "$schema":"http://json-schema.org/draft-07/schema#",
   "type":"object",
   "properties":{
      "sourceTenantId":{
         "type":"string",
         "description":"The ID of the source tenant where the meetings are currently scheduled.",
         "examples":[
            "sourceTenantId"
         ]
      },
      "sourceTenantToken":{
         "type":"string",
         "description":"The access token for the source tenant, obtained through the Microsoft Graph API authentication process.",
         "examples":[
            "sourceTenantToken"
         ]
      },
      "destinationTenantId":{
         "type":"string",
         "description":"The ID of the destination tenant where the meetings will be migrated.",
         "examples":[
            "destinationTenantId"
         ]
      },
      "destinationTenantToken":{
         "type":"string",
         "description":"The access token for the destination tenant, obtained through the Microsoft Graph API authentication process.",
         "examples":[
            "destinationTenantToken"
         ]
      },
      "userIds":{
         "type":"array",
         "description":"An array of user IDs whose scheduled meetings will be migrated.",
         "items":{
            "type":"string"
         },
         "maxItems":80000,
         "examples":[
            [
               "user1",
               "user2",
               "user3",
               "..."
            ]
         ]
      },
      "meetingFilter":{
         "type":"string",
         "description":"An optional filter to limit the set of meetings to migrate, based on the Microsoft Graph API filter syntax.",
         "examples":[
            "$filter=start/dateTime ge '2022-01-01T00:00:00Z' and start/dateTime lt '2022-02-01T00:00:00Z'"
         ]
      }
   },
   "required":[
      "sourceTenantId",
      "sourceTenantToken",
      "destinationTenantId",
      "destinationTenantToken",
      "userIds"
   ]
}

I was thinking of using HTTP trigger of logic app consumption workflow as mentioned below,

  1. A connector to authenticate and Authorize the source and destination tenant using Tenant Id

  2. An HTTP trigger with GET action to retrieve all scheduled meetings from the source tenant which includes attendees, organizers, attachments, start time, end time and meeting occurrence, external email ids

  3. An HTTP trigger with POST to create a meeting in the destination tenant using the above GET action HTTP trigger

  4. A notification message to all users using a response trigger

  5. Where to find Audience I'd while performing azure ad oauth in HTTP trigger of any action like GET, PUT, POST, PATCH, DELETE.

Do I need to use for each loop action to automate the migration process without me entering details manually to ensure no details are getting missed while migration? Kindly advise on the approach I am planning to take and I am open to hearing from your perspective as well.

James Z
  • 12,209
  • 10
  • 24
  • 44
kar122
  • 1
  • You should really ask clear questions to get the answers you're looking for, instead of vague phrases like `Kindly advise on the usage...`, `Looking for suggestions and advises...`, `Kindly advise on the approach...`, `...open to hearing from your perspective...` – James Z Jul 27 '23 at 04:51
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Jul 28 '23 at 06:19
  • Outlook Calendar invites migration from one tenant to another tenant through automation To get the one-time events and recurring events both in specified date, please use **[“Get calendar view of events(V3)”](https://i.imgur.com/oD6mcuY.png)**. and Use its output data to create the events using **“HTTP”**. – Naveen Sharma Jul 29 '23 at 05:57
  • You can use **“HTTP”** action in Logic app or power automate to create an event using Graph API using user id **“POST /users/{id | UserPrincipalName}/calendars/{id}/events”** [User Id](https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http) and providing details of tenant ID and application id in **“HTTP”** action. [\[HTTP action Image\]](https://i.imgur.com/JcJnHCL.png). – Naveen Sharma Jul 29 '23 at 05:57

0 Answers0