Monday, March 16, 2026

🚀 Building a Copilot‑based Meeting Scheduler (POC) using Microsoft Graph & Power Automate

 A practical, step‑by‑step guide for the Microsoft community


📌 Why this article?

Many teams are exploring Copilot Studio to build conversational experiences like:

“Can you help me find a good time for a meeting with my team?”

Behind the scenes, this requires:

  • Checking user availability
  • Respecting working hours
  • Suggesting realistic time slots

This is where Microsoft Graph shines — especially the findMeetingTimes API.

However, when people try this for the first time, they often hit challenges:

  • Premium license errors
  • Graph connection confusion
  • Copilot + Power Automate integration doubts

This article walks through a clean Proof‑of‑Concept (POC) approach, keeping things simple, understandable, and production‑ready later.


🧠 What we are building (POC scope)

✅ Copilot asks for meeting details
✅ Power Automate calls Microsoft Graph
✅ Graph suggests best available time slots
✅ Copilot responds with suggestions

🚫 No auto‑booking (yet)
🚫 No heavy governance (POC only)


🏗️ High‑level Architecture (POC)

User
 ↓
Copilot Studio Agent
 ↓
Power Automate Flow (POC)
 ↓
HTTP with Microsoft Entra ID
 ↓
Microsoft Graph – findMeetingTimes
 ↓
Suggested time slots
 ↓
Copilot responds to user

📎 Screenshot idea:

Diagram slide or whiteboard view of Copilot → Flow → Graph


🧩 Key Components Explained (in simple terms)

1️⃣ Copilot Studio

This is the conversation layer.
It collects:

  • Attendees
  • Meeting duration
  • Preferred date/time range

Copilot does not talk to Graph directly — it calls Power Automate.

📎 Screenshot: Copilot topic with trigger phrases and variables


2️⃣ Power Automate (Heart of the POC)

Power Automate acts as the orchestrator:

  • Receives input from Copilot
  • Calls Microsoft Graph
  • Formats the response back to Copilot

👉 For POC, the Power Automate Premium Trial is sufficient.

📎 Screenshot: Cloud flow triggered by Copilot


3️⃣ Microsoft Graph – findMeetingTimes

This API:

  • Looks at calendars
  • Considers working hours
  • Suggests realistic meeting slots

This avoids brute‑force checking and handles all the logic for you.


🔐 POC Licensing – Keep It Simple

For POC:

  • ✅ Start Power Automate Premium trial
  • ✅ Use your own user account
  • ✅ No service account needed yet

⚠️ Microsoft Graph in Power Automate is a Premium connector — this is expected and by design.

📎 Screenshot: Power Automate “Try premium” banner


🔗 Configuring Microsoft Graph Connection (POC)

Recommended connector

HTTP with Microsoft Entra ID

Why?

  • Simple
  • Supported
  • No custom connector maintenance

Connection setup

FieldValue
Base Resource URLhttps://graph.microsoft.com
Entra ID Resource URIhttps://graph.microsoft.com
AuthenticationUser sign‑in (POC)

📎 Screenshot: Creating HTTP with Entra ID connection



Suggestions

  1. Pick top 3 slots
  2. Convert to friendly text:
    • “Tuesday 11:00–11:30”
    • “Wednesday 3:00–3:30”

Copilot then replies conversationally:

“I found a few good options for everyone. Would you like to go with Tuesday at 11 AM?”


✅ Why this POC approach works well

✔ Minimal setup
✔ Matches real‑world behaviour
✔ No reinventing scheduling logic
✔ Easy upgrade path to PROD


🔜 How this POC evolves into PROD (Later)

POCProduction
User accountService account
Premium trialPer‑Flow license
Suggest onlyAuto‑book meetings
Light governanceFull security & auditing

Graph payloads stay the same
Copilot logic stays the same

Only ownership & licensing change.


❗ Common Pitfalls (and how to avoid them)

  • ❌ Trying to avoid Premium connectors → Not supported
  • ❌ Direct Graph calls from Copilot → Not possible
  • ❌ Using shared mailbox → Unsupported
  • ✅ Always go through Power Automate

📝 Final Thoughts

If you’re exploring Copilot Studio + scheduling scenarios, start small:

  • Prove value with findMeetingTimes
  • Keep the conversation human
  • Let Microsoft Graph do the heavy lifting

Once stakeholders see the value, moving to a production‑grade model is straightforward.


🙋‍♂️ I’d love community feedback!

If you’ve tried similar Copilot scheduling ideas or have tips, please comment and share your experience.
Happy to iterate and learn together 🚀

🚀 Building a Copilot‑based Meeting Scheduler (POC) using Microsoft Graph & Power Automate

  A practical, step‑by‑step guide for the Microsoft community 📌 Why this article? Many teams are exploring Copilot Studio to build convers...