PowerApps is a service that lets you build business apps that run in a browser or on a phone or tablet.  PowerApps not only replaces InfoPath but adds many more capabilities including mobile-device capability.  PowerApps integrates with Flow and opens a world of possibilities to build powerful workflows. Flow connects with many with popular apps such as SharePoint, Salesforce, DocuSign, Mailchimp and SurveyMonkey to name just a few.  The complete list of Flow connectors can be found here.

Microsoft has recently added pre-built screens that makes it easier to add Microsoft Office capabilities to PowerApps:

  • Email – Add this screen anywhere in your app to send an email.
  • People – Use this screen to Search for users in your organization.
  • Meeting – This screen can be used to quickly send a meeting invite via Outlook. Suggested meeting times are automatically populated.
  • Calendar – View your schedule for any given date. Use the components from this screen to add custom calendar functionality to your app.
  • Tutorial – Use this as the first screen in your app to guide users on how to use your app.
  • Success – This simple screen can be used anywhere you want to add confirmation for a user action. For example after submitting a form or sending a meeting invite.
Photo courtesy of Microsoft

These screens are fully themable and are built to work together. For example, if you add the People screen, the Email screen, and the Meeting screen to a PowerApp, the selected people will automatically populate across all 3 screens.

Technical Considerations

  1. Navigation is not pre-defined for these screens. You’ll need to set this behavior to navigate to the next screen.

2. The People, Meeting, and Email screens all read and write from the “MyPeople” collection. If you want to change the behavior, simply change the Items property of MeetingPeopleGallery to a different collection name.

3. The MyPeople collection will be cleared once the primary action is taken on a screen. For example, sending an email will clear the collection. Other screens reading from this collection will also have the list of people cleared.

4. When searching for people, only the top 15 results will be returned.

5. When searching for rooms on the Meeting screen, only 20 rooms can be returned at a time. This is the maximum the connector can return.

a) First the rooms lists are retrieved, then stored in a collection.

b) Next the selected list context is passed to fetch the available rooms for the rooms list location selected.

6. The events on the Calendar screen returns all events in your calendar for the selected date. To filter out events marked as “Free,” set the Items property of the CalendarEvents gallery to:

  • SortByColumns(Filter(MyCalendarEvents, Text(Start, DateTimeFormat.ShortDate) = Text(_dateSelected, DateTimeFormat.ShortDate), ShowAs <> “Free”), “Start”)