Self-hosted appointment scheduler built on gcal-mcp-remote. Embeddable form + chatbot widget with Slack notifications.
- HTML 71.7%
- Python 27.5%
- Dockerfile 0.8%
|
|
||
|---|---|---|
| k8s | ||
| src/gcal_scheduler | ||
| static | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yaml | ||
| Dockerfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
gcal-scheduler
Self-hosted appointment scheduling service built on ldraney/gcal-mcp-remote. Embeddable form + chatbot widget for booking meetings directly from a landing page.
Features
- Booking form with bot protection (honeypot + rate limiting)
- Availability checking via Google Calendar API
- Reschedule support with constraints (no changes within 24 hours)
- Slack notifications when appointments are booked, rescheduled, or cancelled
- Chatbot widget — conversational booking experience embeddable on any site
- Built on gcal-mcp-remote — reuses the existing OAuth + Google Calendar SDK
Architecture
Landing Page (pal-e)
|
├── Booking Form ──────► gcal-scheduler API ──► Google Calendar
│ |
└── Chatbot Widget ────► ├──► Slack webhook (notifications)
└──► Availability engine
Planned Integration
- Embedded on Pal-E landing page as "Book a Call" widget
- Uses gcal-mcp-remote for calendar operations
- Slack notifications via incoming webhook
Related
- pal-e — Landing page for the AI assistant
- gcal-mcp-remote — Google Calendar MCP server with OAuth
- mcp-gateway-k8s — K8s infrastructure