Create Teams Meeting invite from Power Automate

Here’s an example of several use cases which can let you create a Teams meeting from within Power Automate based on your business use case.

In my example, I’m using Power Automate to schedule a meeting from a Project in Project Operations inviting all Team Members for a follow up!

PS: Creating an Appointment in Outlook doesn’t set the Teams call. ūüėä

Scenario

For example, in Project Operations’ sample Project example – I want to simply put a Teams meeting to all the Project Team members of this sample Star Piping Project.

  1. Here are my Project Team Members whom I want to send the Teams invite to.


  2. And I should just be able to run a Flow from the Project itself to send an invite to all the Team Members.
    I’m calling my Flow as ‘Teams Roundtable Meeting’

  3. And my Flow is asking me when this meeting should be. So, I’ll mention the same.
    So, I want the meeting to be on 16th Sep 2021 and start at 10:30am


    And End it by 11:30am


  4. And once the values are accepted, the Meeting should be on the Teams of all the Team Members





    Let’s see how I built this Flow.

The Flow

Now, this is subjective – in your case, this could be anything we can imagine!!

  1. I’m accepting the important parameters in the form of Dataverse (Legacy) connector [Because, this connector let’s you Run the Flow in the context of the record, the new Dataverse green connector doesn’t allow this.]

    These are the values which we filled when we ran the Flow on the Project.


  2. Further, I have some steps to retrieve the Team Members, then eventually their Email addresses (In Project Operations, you need to retrieve the Email addresses from the Bookable Resources and further – see if User record has these email addresses or not)
    Next, I’ll create a variable of type Array to collect the Email Addresses which the meeting invite should go to.

  3. Now, I’ll append all the Email Addresses I retrieved from the Team Members in the array.

  4. Now, the Array is formed with all the Email addresses separated by commas. But, we are not done yet. We need to form a string.


    So, I use Join operation to join the email addresses into a string separated by semicolon (just like how you enter in the To field of emails)


    The result will be a string of Email addresses separated by semicolon


    Finally, once all the important data is collected, we can proceed towards creating the Teams invite.

Create a Teams meeting

Here’s how you can create a Teams meeting from Microsoft Teams connector in Power Automate

  1. Look for Microsoft Teams in Power Automate

  2. Now, in this Meeting, I can set the parameters based on how I want the meeting to be created.
    I’ll fill in the information which is required for the Invite to be created.
    The Start Time and End Time need to be set in the date-no-TZ format, hence, I’ve arranged the same accordingly
    Select Calendar Id as Calendar (Other options are Birthdays and United States Holidays)

  3. The Outputs are from the result of the Join operation we performed to form the string of Email addresses to be added as attendees.

  4. Finally, you can select these optional parameters to make sure the invite is created based on your preference.

    And that’s it!

Teams Invite vs Calendar Invite

Now, if you have a normal Calendar Appointment, it’ll look like below – It doesn’t have a Join button


Whereas, the Teams Calendar Invite has a Join button on it

Caveats

Some caveats worth mentioning –

  1. In case you are planning to have Appointments created in D365 and eventually either sync it to Outlook using Server-Side Sync, the invite will not be a Teams Invite.
  2. No option to later retrieve this Outlook Appointment in Flow and convert/update it to a Teams call.

Hope this was useful!

  1. Action.ShowCard vs Action.ToggleVisibility in Adaptive Cards | Microsoft Teams
  2. Admin Center URLs under M365 ‚Äď Power Platform, Teams, SharePoint, Power¬†BI
  3. Tag a User in a Microsoft Teams post made using Power Automate
  4. Visualize Adaptive Card for Teams user action within a Cloud Flow | Experimental Feature
  5. Create a Team, add Members in Microsoft Teams upon Project and Team Members creation in PSA / Project Operations | Power Automate
  6. Task Completion reminder using Flow Bot in Microsoft Teams | Power Automate
  7. Turn Teams On / Off at Org Level, provisioning users | M365 Admin Center Tip
  8. Adaptive Cards for Teams to collect data from users using Power Automate | SharePoint Lists

Thank you!

Refresh Invoice Line Transactions for Actuals in Project Operations Invoices | Project Operations [Quick Tip]

Here’s how you can add Missed Time Entries in Time and Material types of Invoices to be Included in the Invoice after it has been created

Scenario

Let’s consider this common scenario –

  1. Assume there is 1 Time Entry that have been Billed on the Invoice. The current state of the Invoice is Draft.


  2. If I zoom and show, this Time Entry is worth $170 for 2 hours.


    Which is based on this “Unbilled Sales Actual record on the T&M Project associated with this Invoice’s Project Contract


  3. Now, let’s consider this scenario where you realize 1 hour worth of Time Entry more needs to be also added to the already created Invoice.
    Here’s the Actual for the same.
    And, the Ready to Invoice on this Actual was performed “after” the Invoice is created.


    So, the Invoice is supposed to be $170 + $85 = $255.
    But the Invoice is already created, right?
    Let’s see what we can do here!

Refresh Invoice Lines on Draft Invoices

You’ll see this on a Draft Proforma Invoice on the Invoice record in Project Operations

  1. On your Draft Invoice, look for Refresh Invoice Line Transactions.


  2. It takes a few moments and your Invoice Transaction Lines included will be refreshed to show the reconsidered values.

  3. Now, here’s when this works –
    1. When any Actuals have been marked as Ready To Invoice after the Draft Invoice is generated. The Actuals must fall within the Invoice Schedule set on the Project Contract to which the Project is tied.
    2. When the Invoice is still in Draft state.

Here are some more Project Operations / Project Service Automation posts you might want to check –

  1. Sign up for a Dynamics 365 Project Operations (Lite Deployment) environment and provision a new instance | Power Platform
  2. Create a Team, add Members in Microsoft Teams upon Project and Team Members creation in PSA / Project Operations | Power Automate
  3. Cancelled Bookings Imported in Time Entries in Dynamics 365 PSA issue | [Quick Tip]
  4. Change Booking Status colors on Schedule Board for Field Service/PSA [Quick Tip]
  5. Modify Project tab’s view in Schedule Board in PSA v3 | Quick Tip
  6. Update Price feature in D365 PSA v3
  7. A manager is required for non-project time entries, absence, and vacation error in D365 PSA v3
  8. Import Time Entries in PSA from your Bookings in D365 PSA v3
  9. Time/Expense Entry Rejection comments in D365 PSA v3
  10. Booking Resources more than their capacity in D365 PSA v3

Thank you!