Skip to main content

Build a Meeting Scheduler Agent

Learning Path

Level 4, Step 4.6 β€” Learning Path. Prerequisites: Human in the Loop, Tools & MCP.

This project creates an AI assistant that can check calendar availability, schedule meetings, and manage your calendar β€” all through natural conversation.

What You'll Build​

A scheduling assistant that:

  • Checks your calendar for available time slots
  • Schedules new meetings based on natural language requests
  • Sends calendar invitations
  • Handles rescheduling and cancellations

The Architecture​

Start β†’ Agent (with Calendar + Email tools) β†’ Response

This is a single-agent design β€” the power comes from the tools and the prompt.

Step 1: Set Up Google Calendar Credentials​

  1. Go to Credentials β†’ + Add Credential
  2. Search for "Google Calendar OAuth2"
  3. Follow the OAuth setup process to connect your Google account
  4. Also set up Gmail OAuth2 if you want the agent to send email confirmations

Step 2: Create the Flow​

  1. Create a new Agentflow named "Meeting Scheduler"
  2. Start node: Chat Input

Step 3: Configure the Agent​

Model: ChatOpenAI β†’ gpt-4o

System Message:

You are a professional scheduling assistant. Help users manage their calendar by checking availability, scheduling meetings, and handling changes.

Today's date and time: {{ current_date_time }}

Guidelines:
- Always check calendar availability before suggesting times
- Confirm all details before creating an event (title, date, time, duration, attendees)
- Default meeting duration is 30 minutes unless specified
- Use professional, friendly language
- When suggesting times, offer 2-3 options
- Always confirm the timezone

Tools:

  • Google Calendar: For reading and creating events
  • Gmail: For sending meeting confirmations
  • Current DateTime: For time awareness

Enable "Require Human Input" on the Google Calendar create/update actions β€” this ensures the agent asks for confirmation before actually creating events.

Testing​

Try these conversations:

  • "Am I free tomorrow afternoon?"
  • "Schedule a 1-hour meeting with john@example.com next Tuesday at 2 PM"
  • "What meetings do I have this week?"
  • "Reschedule my 3 PM meeting to 4 PM"

Tips​

  • Always include current time in the system prompt so the agent knows "today" and "tomorrow"
  • Use Human Input for write operations β€” you don't want the agent accidentally creating meetings
  • Handle timezone carefully β€” specify the timezone in your prompt or ask the user