← AI Agents

Open Source · MIT License

Open-source AI bot
that schedules your meetings

Guests book by chatting in Telegram, Slack, or Discord. The AI finds a free slot, detects their timezone, creates a Google Calendar event with a Meet link. You do nothing. Self-hosted, your data stays with you.

MIT License GitHub Stars
terminal
$ pip install open-schedule-agent
$ schedulebot init
Created config.yaml and .env
$ schedulebot run

Telegram bot connected
Google Calendar authorized
MCP server at /mcp
Agent discovery at /.well-known/agent.json

Ready. Accepting bookings.

Channels

Telegram
Slack
Discord
Web API

AI Agents

MCP
Claude Code
OpenClaw

Infrastructure

Google Cal
Google Meet
Ollama

See it in action

The guest opens the chat, writes in their language. The bot collects their name, email, topic — finds a free slot in their timezone and books it. 30 seconds, zero back-and-forth.

  • Telegram
  • Slack
  • Discord
  • Web
Telegram
Hi, I'd like to book a consultation
Sure! What's your name and where are you located?
Maria from Kyiv, maria@corp.com, about partnership
Got it, Maria! Here are available slots in Kyiv time:
1. Wed Mar 04, 13:00–13:30
2. Thu Mar 05, 15:00–15:30
Wednesday at 13:00
Confirmed! Wed Mar 04 at 13:00 Kyiv time. Calendar invite sent to maria@corp.com

Booking via AI agent? Just another channel.

Telegram, Slack, Discord — or an AI agent. Same calendar, same slots, same result. The only difference is how you connect: one line of MCP config instead of a bot token.

1
User tells their agent

"Book a call with Ivan about AI consulting next week"

2
Agent discovers your endpoint

Fetches /.well-known/agent.json, finds the MCP server URL and available tools

3
Agent checks slots and books

Calls get_available_slots, picks a time, calls book_consultation. Calendar event + Meet link created.

mcp-config.json — one line to connect
{
  "mcpServers": {
    "ivan-schedule": {
      "url": "https://schedulebot-production-1cff.up.railway.app/mcp"
    }
  }
}
GET /.well-known/agent.json
{
  "name": "Ivan Pasichnyk",
  "description": "AI/ML engineer, available for consulting",
  "capabilities": {
    "scheduling": {
      "protocol": "mcp",
      "tools": ["get_available_slots", "book_consultation"]
    }
  }
}

Supported agents: OpenClaw, Claude Code, Cursor, or any MCP-compatible client.

Everything included

Every booking is a lead

The bot collects name, email, topic, and timezone before booking. You get a structured contact, not just a calendar event.

AI understands timezones

Guest says "I'm in Tokyo" — the bot shows slots in Tokyo time, stores the timezone, creates the event correctly. 150+ cities recognized.

Calendar + Meet, automatically

Checks your real-time availability. Creates a Google Calendar event with a Meet link. Respects your existing schedule. No double-booking.

Reminders and easy cancellation

Automatic reminders before meetings. One-click cancellation link in every confirmation. Both you and the guest get notified.

Your data stays with you

Self-hosted on your own server. No third-party has access to your calendar or contacts. No vendor lock-in, no subscriptions.

Any LLM, your choice

Claude, GPT, or run locally with Ollama for free. Switch providers in config — your data, your model, your rules.

Multi-calendar support

Connect multiple Google accounts. The bot checks availability across all calendars and books in the one you choose. No double-booking across work and personal schedules.

Deploy in 5 minutes

Standard Python package. Clone, install, configure, run. MCP endpoint and agent discovery are enabled by default in production.

Railway One-click deploy, auto-HTTPS, persistent URL
Docker docker compose up — works anywhere
pip install Standard Python package, any VPS
# Clone and install
git clone https://github.com/anthroos/open-schedule-agent.git
cd open-schedule-agent
pip install -e ".[all]"

# Initialize config
schedulebot init
# Edit config.yaml and .env

# Authorize Google Calendar
schedulebot check

# Run
schedulebot run

# Your endpoints are live:
# /mcp                    — MCP server
# /.well-known/agent.json — discovery

FAQ

Is it really free?

+

Yes. MIT license, full source code. You pay only for hosting (Railway free tier works) and your own LLM API key. Choose any supported provider — Anthropic, OpenAI, or run locally with Ollama for free.

What is MCP?

+

Model Context Protocol is an open standard that lets AI assistants use external tools — like checking calendar availability or booking a meeting. Think of it as an API designed specifically for AI agents. OpenClaw, Claude Code, and Cursor all support MCP.

Do I need a server running 24/7?

+

For agent-to-agent discovery — yes, your endpoint must be reachable. Railway gives you this with one-click deploy. For personal use via Telegram only, you can run it on your own machine.

Can I use it without Telegram?

+

Yes. Slack, Discord, Web API, and MCP are all independent channels. You can run it with just MCP enabled — pure agent-to-agent, no chat UI at all.

Stop scheduling manually

Deploy once. Guests book via chat, AI agents book via MCP. Open source, self-hosted, your data stays with you.