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β
- Go to Credentials β + Add Credential
- Search for "Google Calendar OAuth2"
- Follow the OAuth setup process to connect your Google account
- Also set up Gmail OAuth2 if you want the agent to send email confirmations
Step 2: Create the Flowβ
- Create a new Agentflow named "Meeting Scheduler"
- 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