One Go binary. One SQLite file. An AI assistant that books meetings in natural language. Self-host it for pennies — the scheduling node for your AI stack, where your data never leaves your infrastructure.
Calnode is an open-source scheduling app you run yourself — a single static Go binary plus a SQLite file that deploys on a tiny VPS for pennies.
It does everything a modern scheduler does — and goes further with AI that books in natural language and a native MCP server so your agents can schedule on behalf of anyone.
Your data stays on your infrastructure. Nothing is paywalled.
Why Calnode
A single static Go binary with zero dependencies. No Node, no Python, no Redis. Boots in under a second and stays tiny.
Conversational booking lives in the booking page itself. Visitors type in plain English; Calnode understands and confirms. No separate AI layer to stitch together.
Envelope encryption at rest. Instance-per-tenant isolation. No cross-contamination by architecture, not policy.
Point Calnode at any OpenAI-compatible endpoint — local Ollama, your own GPU cluster, or a private Azure OpenAI deployment. Your booking conversations never hit a third-party model.
Apache 2.0. Read the code, fork it, audit it, extend it. No premium tier, no feature flags, no usage limits hidden behind a paywall.
AI-native scheduling
Visitors describe what they need in plain English. Calnode parses intent, checks availability, and confirms — no back-and-forth, no scheduling links buried in email.
Visitors describe what they need the way they'd say it to a person. Calnode handles the rest — no dropdowns, no time-zone math, no "click a slot" friction.
Every Calnode instance exposes an MCP server. Your AI agents can check availability, create bookings, and reschedule — without leaving the tool context.
Any OpenAI-compatible endpoint works — Ollama on localhost, your org's private Azure OpenAI, or any hosted model. Booking conversations stay on your infrastructure.
Self-host footprint
Most self-hosted schedulers need a database server, a cache, a job queue, and a reverse proxy to even boot. Calnode is a single executable that reads a SQLite file. Copy it to a server and run it.
Real number — our own team of 4 running on Railway. You pay for compute, not per seat.
Footprint comparison (approximate)
Bar sizes are illustrative; Calendly is SaaS and has no self-hosted footprint.
How it stacks up
Comparison is based on publicly available information and is approximate.
| Feature | Calnode← you are here | cal.com | Calendly |
|---|---|---|---|
| Deployment | Single binary | Docker Compose (Postgres + Redis) | SaaS only |
| Database | SQLite | PostgreSQL + Redis | SaaS only |
| License | Apache 2.0 | AGPL | Proprietary |
| Self-hostable | |||
| Open source | |||
| AI in the booking page | |||
| Native MCP server | |||
| BYO LLM endpoint | |||
| Envelope encryption at rest | — | — | |
| Calendar sync | Google + M365 | Google + M365 | Google + M365 |
| Video conferencing links | Zoom, Meet, Teams | Zoom, Meet, Teams | Zoom, Meet, Teams |
| Embeddable widget | |||
| REST API |
Information is approximate and based on public sources. Some cal.com features vary between cloud and self-hosted editions.
Everything included
Every feature ships in the same open-source binary.
Shareable links per event type. Guests can reschedule and cancel without creating an account.
Visitors describe their need in plain English and the AI confirms a slot — all on the booking page.
AI agents can check availability, create bookings, and reschedule via a built-in MCP endpoint.
Confirmation, reminder, cancellation, and rescheduled emails — fully branded, no "Powered by" footer.
Two-way sync with Google Calendar and Microsoft 365 keeps availability accurate in real time.
Auto-generate Zoom, Google Meet, or Microsoft Teams links at booking time.
Round-robin, collective, and fixed-host routing for teams. Built-in member roles (owner, admin, member).
Drop a booking widget into any website with a single script tag. Works with any stack.
Every resource — event types, bookings, users, teams — is accessible via a REST API with API-key auth.
Fire verified events to your endpoints on booking, reschedule, or cancellation.
Native GTM and GA4 support so you can measure booking funnel performance without extra tooling.
All booking data is encrypted at rest. Each tenant's keys are isolated — no shared-key risk.
Built-in rate limiting, CAPTCHA integration, and bot detection keep your booking pages clean.
SQLite replication to S3, Backblaze, or any compatible store. Continuous streaming, not cron jobs.
Building blocks for your AI‑OS
The interesting layer right now isn't any single app — it's how systems wire together around an LLM. Calnode is built for that world: a self-contained scheduling node that exposes exactly what an agent needs to book time, and nothing it doesn't.
Your agents call Calnode like any other tool — check availability, book, reschedule. No adapter, no glue code.
Point it at your own LLM. Calnode supplies scheduling; your stack supplies the intelligence.
One binary you can reason about, audit, and compose. Just enough, and no more.
one capability · cleanly connected
For developers
For regulated organisations
SaaS schedulers store your meeting data, attendee information, and calendar context on their infrastructure. When regulators ask where your data lives, "in a third-party SaaS" isn't a satisfying answer.
Calnode runs in your environment. Your data never crosses your perimeter. The AI inference can run on your own GPU cluster or a private model endpoint. That enables a compliant posture without asking you to trust our security posture.
Implementation & integration
We deploy and configure Calnode for organisations with hundreds or thousands of staff. SSO, CRM integration, calendar provisioning, user import — all done for you.
Calnode is free and open source. Self-host it in minutes, or talk to us about a managed deployment for your organisation.