Meetings can be productive, provided they’re planned and scheduled properly. There are numerous tools available to schedule meetings, with Calendar for Outlook being one of the best tools in this category.

To learn how to create a mobile meeting planner app, you can use Xamarin.Forms and the Microsoft Graph API. Xamarin.Forms ensures that the app will run on Android, iOS, and Windows, while the Microsoft Graph API ensures that the app can communicate with Outlook.com (Microsoft Account) or Office 365 (Enterprise Account).

Register the Application

The first step in creating an app that has access to personal information is to register it with the required service. This can be accomplished by signing into the Application Registration Portal, clicking the ‘Add an app’ button, and completing the required workflow. You can find a previously documented ‘Leave’ application app in this blog sample. Note that you must add delegated permissions for "User.Read", "Calendars.Read", "Calendars.ReadWrite". Once app registration is complete, make a note of the Client iD and URLs.

Displaying Meetings

When the user authenticates, a list of the last five meetings can be displayed on the page. The following XAML code example shows how this can be accomplished using a ListView:


The OnAppearing() override is executed when the page appears, as shown in the following code example:

Creating Meetings

As well as displaying meetings, a mobile meeting app must be able to schedule meetings. This can be accomplished by using the DatePicker and TimePicker controls from Xamarin.Forms to set the meeting date and time. The following XAML code example shows a basic form for scheduling a meeting:


When the toolbar button is clicked, the following code is executed:

The App

Once your code is complete, you can run the app and schedule meetings!

Wrapping Up

The Microsoft Graph APIs allow you to send email and schedule meetings using unified app registration, among other functionality. Xamarin.Forms can consume these APIs, making it possible to build cross-platform apps to schedule meetings. You can find the sample used in this blog post on GitHub

Discuss this post on the forums!