Automation · Customer service and scheduling
Book a meeting in Outlook from WhatsApp with Microsoft 365
An AI agent offers the free slots in your Outlook calendar on WhatsApp, creates the meeting with the customer invited and moves it when needed.
How do I let a customer book a meeting in my Outlook by writing on WhatsApp?
A Met connected to Microsoft 365 reads the connected account's calendar view for the week the customer asks about and offers only the free slots in Outlook. With the chosen time and the person's email, it creates the event with the customer as an attendee, and Outlook sends them the invitation. Then it reads the event to confirm the time that was saved. If the customer asks for another time, it moves it; if they cancel, it sends the cancellation to the attendee. Everything goes through Microsoft's official Work IQ server, which your organization has to enable and which is billed by consumption on your Microsoft account.
What starts it
When the customer writes
It starts when a customer writes on WhatsApp to ask for a meeting, a demo or a consultation, or to move one they already have. There is no trigger to configure: the Met assigned to the line runs the procedure inside that conversation.
Nothing to set up. The Met assigned to that channel picks up the conversation and runs the procedure inside it.
Who runs it
Scheduling Met with an Outlook calendar
Customer service team
This is not a named, seeded Met. It is the Met that already answers the business's WhatsApp, with Microsoft 365 connected. Its work ends when the meeting is on the Outlook calendar with the customer invited, or when it was moved or cancelled with notice.
Channels: WhatsApp
What you need connected
- Microsoft 365 Automate and collaborate
6 steps · 7 tools
The procedure, step by step
Each step shows the tool that runs. They belong to the real connector: if one of them stopped existing, this page would not build.
- 1
Confirm the event path and format
Since Work IQ works on Microsoft Graph paths, the Met looks up the calendar events path and asks for its schema to build the request correctly: subject, start, end, time zone and attendees. That way it does not send a field with a name Graph does not recognize.
- 2
Read the week's calendar
The Met calls the calendar view for the range the customer asked about and crosses the busy events with the business hours the skill states. It offers only free slots, in the customer's time zone, and does not show the subject of other meetings.
- 3
Create the meeting with the customer invited
With the chosen time, the Met creates the event on the connected account's calendar with the subject your team sets, the duration and the customer's email as an attendee. Outlook sends the invitation to the person's email.
- 4
Check the time that was saved
The Met reads the newly created event by its ID and confirms to the customer the date and time Outlook saved, not the ones said in the chat. It keeps that ID to move or cancel the meeting later.
- 5
Move it to another free slot
If the customer asks for another time, the Met reads the calendar again, offers the free slots and updates the start and end of the same event. Outlook notifies the attendee of the change, and no duplicate meeting is left behind.
- 6
Cancel it with notice to the attendee
If the customer cancels, the Met runs the cancel action on the event with a short message. Unlike deleting, cancelling sends the cancellation to the attendee, so the customer also sees it in their email. This step only happens if the admin turned on do_action, which starts turned off.
Before you start
What you need ready
The Met solves none of these for you. If one is missing, the automation stops there.
-
Work IQ enabled with writes allowed
A global administrator sets up Work IQ in your organization and configures usage based billing in Copilot Studio with an Azure subscription. In addition, the Work IQ policy has to allow creating, updating and running actions on events, which are blocked by default.
-
Microsoft 365 connected in Met
You register an app in Microsoft Entra with Met's return URL, your administrator grants consent and, in Connections → Microsoft 365 → Connect, you paste its ID and authorize with the account whose calendar will be used.
-
A WhatsApp line with the Met assigned
The business connects its WhatsApp Business API line and assigns the Met that books meetings. The meeting is agreed inside that conversation; Outlook remains the calendar.
The limits
What this automation does NOT solve
Better said here than discovered halfway through the rollout.
-
It does not spread meetings across several advisors in this procedure: it works on the connected account's calendar. Using other people's calendars depends on their permissions and your organization's policy.
-
It does not create the Teams link on its own if the request does not ask for it: the event format comes from the Graph schema, and the skill has to say whether the meeting is online.
-
It does not ask for confirmation in the chat before creating, moving or cancelling the event: if the action is on and the policy allows it, it runs. The admin decides what stays on.
-
It does not work without enabling Work IQ: without the service setup, usage based billing and a policy that allows writes, the Met can only read.
-
It does not send WhatsApp reminders before the meeting. Outlook handles its own alerts; a WhatsApp reminder goes in a separate automation.
FAQ
Questions about this automation
No. The Met reads busy slots to work out the free ones and only offers times. The skill should say it never shares the subject or attendees of other events.
The event can be created without an attendee and stays on your calendar, but the customer does not get the Outlook invitation. The Met confirms the date and time on WhatsApp.
Microsoft bills Work IQ by consumption in Copilot Credits, and each meeting uses several calls: reading the calendar, creating and checking. The exact cost comes from your Microsoft agreement.
Because cancelling notifies the attendee. Deleting the event removes it from your calendar without sending the customer anything, and that action also starts switched off in Met.
Keep going
Other automations built on the same tools
Customer service and scheduling
Open a Linear issue from a customer report on WhatsApp and tell them how it is going
How do I make customer reports on WhatsApp arrive in Linear as issues?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 6 real tools
- Needs:
- Linear
Customer service and scheduling
Open a Freshdesk ticket from WhatsApp and tell where it stands
How do I turn a complaint that arrives on WhatsApp into a Freshdesk ticket without copying it by hand?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 10 real tools
- Needs:
- Freshdesk
Customer service and scheduling
Open a Gorgias ticket from WhatsApp and escalate it to the team that solves it
How do I move a complaint that arrives on WhatsApp into Gorgias without copying it by hand or losing what the customer said?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 7 real tools
- Needs:
- Gorgias
Customer service and scheduling
Open a Jira issue from a report that comes in on WhatsApp and answer how it is going
How do I make customer reports on WhatsApp arrive in Jira as issues?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 6 real tools
- Needs:
- Jira y Confluence
Want this automation running on your own data?
We will show it to you with your accounts connected, not with a canned demo.