Image: Shutterstock/Travelpixs

Cortana may have stopped offering consumer services, but that doesn’t mean that Microsoft’s virtual assistant is pushing up the virtual daisies in some corner of the metaverse. Instead, she’s got a new job, offering a natural language interface into Microsoft 365 services.

One of those services is ideal for the new world of hybrid work, where we spend much of our time trying to schedule both physical and online meetings. With meetings needing to be coordinated across internal and external calendars, setting up the average meeting now takes anything up to 30 minutes. Each meeting you’re trying to organize adds up to quite a bite out of the workday, a hefty distraction that takes you out of your workflow.

What is Microsoft 365’s Scheduler service?

That’s why Microsoft’s Scheduler service builds on natural language AI tools and the Microsoft Graph to help you find the right time for your meetings. It’s intended to coordinate calendars using intent-based models, like those used in Azure’s Cognitive Service’s LUIS, to extract the requirements from a request. The system is designed to learn from your interactions, so initial interactions may include having to clarify what you mean by phrases like “a big meeting room.”

One difference between the Cortana-powered Scheduler and the original voice-powered virtual assistant from Windows Phone is that this is an email-powered service. Requests are sent to a mailbox, which uses Cortana as an interface to the Scheduler workflow service. Natural user interfaces don’t need to be voice or gestures; they can be a casual email that asks, “Please set up a marketing team meeting on Friday.”

SEE: Microsoft 365: A cheat sheet (free PDF) (TechRepublic)

If you were doing that yourself, you’d be checking everyone’s availability in Outlook, only to discover that not everyone blocks out time the same way. Instead, Scheduler will handle it all for you, checking calendars, sending messages to negotiate times, and then finally creating the calendar invites for you. All you need to do is turn up to the meeting.

One advantage of a tool like this is that it can automate the process of choosing times that suit attendees from outside your company. Scheduler can first find a block of times that work for your internal attendees, as it has access to free/busy data through the Microsoft Graph. That can then be used to suggest possible times to external invitees, negotiating a set of times that can be proposed to everyone on the initial invitation. Your internal team isn’t distracted by those emails — they’re all processed by Scheduler, and all they see is the final calendar invite appearing in their inboxes.

How to set up Microsoft 365’s Scheduler service

Scheduler needs an Exchange Online-enabled Microsoft 365 account to work, with a wide selection of different plans supported. A subscription comes in at $10 per user, per month, with a free trial to help you get started. Only meeting creators need a license; attendees don’t need one for their replies. That can help you budget for the number of licenses you need by, for example, defining specific roles as meeting organizers.

Once you’ve subscribed to the Scheduler service, you’ll need to set up a Schedular-specific mailbox in your domain. This should contain the name Cortana as part of its SMTP address, something like “,” and once it’s created, you should designate it as the Scheduler Assistant mailbox.

Microsoft provides PowerShell to help you create and manage your Scheduler mailbox. Like all Exchange Online services, it uses the familiar PowerShell management module to configure and make connections to your tenant. Once connected, create your mailbox as a resource mailbox, ensuring that it’s configured to keep non-calendar messages. The default for resources, like rooms or equipment, is to keep only calendar information so the mailbox acts as a record of bookings. For a service like Scheduler, which depends on email body content, you can’t automatically delete messages; they need to be kept for processing and records. Microsoft recommends a 30-day retention policy, so you have a trail for meeting requests but you don’t fill the mailbox with years’ worth of requests.

Once the mailbox has been created you can assign it to Scheduler. Again, this is a single line of PowerShell that enables it as the Scheduler Assistant. Finally verify that it’s been set up correctly and is ready for use.

SEE: Microsoft PowerShell: Learn how to automate your workday (TechRepublic Academy)

Planning meetings with Cortana

You can now send meeting requests to Scheduler. However, don’t leap into adding it to a message thread. Instead, you’re best creating requests in simple, relatively easy to parse messages using concise language: “Find us time for a 30-minute meeting at the start of next month.” Add everyone you want to include in a meeting to your message, along with the Scheduler mailbox. Currently the recommendation is to use it for up to five people, so don’t try to use it to set up an all-hands meeting!

If you use internal contacts, their calendars provide the appropriate signals to the Scheduler service. External contacts will get requests for their time that are used to negotiate a meeting that works for both internal and external users, without disturbing internal attendees. If you need a meeting time that works for attendees in another time zone, you need to include it in the first message. If you’re in Canada and need to include someone in Germany: “Schedule a 1-hour meeting next week that works for CET.” The Scheduler service may occasionally make additional requests of the organizer, but these should be fairly rare.

Is there a little bit of people in my AI?

An important aspect of Scheduler is that it’s not entirely artificial intelligence. There’s an escalation mode where the system can send messages on to humans for additional insights. These are security and privacy certified and trained call center staff who can see only messages sent directly to your Cortana scheduler mailbox. While they can’t see other messages in a thread, they will be able to see quotes in messages sent via Cortana.

If you want meetings to remain completely private, either only send specific meeting scheduling messages to Scheduler or don’t use it at all. While the escalation staff are unlikely to leak messages, it’s a risk you need to take into account. You can’t encrypt mail sent to Scheduler either. It will only work with un-encrypted mail, rejecting everything else.

It’s not surprising that there are humans involved in the Scheduler process. We’re still in the early days of surfacing intent through natural language machine learning tools. Something like Scheduler is going to be good at easy to parse requests but will struggle with less formal emails. So, it needs people as an extension of the AI, giving it that extra information it needs to understand requests. What human escalation ends up giving the system is new training data, not in the contents of your email, but in understanding what the language that’s been used means.

At its heart Scheduler is a very focused bot, designed to do one thing to the best of its abilities. Luckily for us, it’s something that’s time-consuming and tedious — exactly the sort of thing that computers are good at. The only real question is whether having your meetings organized for you is worth $10 a month.

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays