Cal.com → Attio: open-source scheduling, production-grade integration
Cal.com is the open-source Calendly alternative, and it's catching up fast - especially for teams that want self-hosted scheduling or richer routing logic. The integration pattern is identical to Calendly; the advantages are portability and a cleaner API. We wire Cal.com into Attio with the same capabilities we give Calendly: capacity-aware round-robin, territory routing, UTM capture, routing-form context, Slack pre-reads, and reschedule/cancel handling.
Direction
Cal.com ↔ Attio (bookings, routing, cancellations)
Stack
Cal.com API, Attio API, n8n, Slack
The what
What this integration actually does
The how
How we build it
- 1
Map Cal.com event types to Attio meeting categories.
- 2
Register Cal.com webhooks on booking created, rescheduled, and canceled.
- 3
Routing logic in n8n: capacity-aware round-robin, territory overrides, respected OOO.
- 4
Writeback to Attio with all booking context: routing form answers, UTMs, referral source.
- 5
Slack pre-read to the assigned owner.
- 6
Cancel/reschedule handling - single logical event, not a cancel + create pair.
Under the hood
What lives inside the pipeline
- Self-host-friendly: works whether you run Cal.com hosted or on your own infra.
- OAuth + API key auth supported (API key is simpler for server-to-server).
- Rich routing-form integration - Cal.com's routing forms carry more context than Calendly's by default.
- Managed users support for large teams.
Hard-earned lessons
What we learned the hard way
- Cal.com's v2 API is still stabilizing. Pin the API version in your integration or expect breakage when they ship changes.
- Self-hosted Cal.com instances sometimes have older API surfaces. Check before assuming feature parity with cal.com.
- Routing forms are more powerful than Calendly's but also more complex - treat them as a first-class part of your integration.
Case study
Privacy-conscious B2B team
Problem
Wanted scheduling but didn't want another vendor holding their prospect data. Self-hosted Cal.com gave them the ownership; the CRM sync was missing.
Solution
Self-hosted Cal.com, webhook sync into Attio with the full capacity-aware round-robin stack.
Outcome
Same booking UX as Calendly, zero third-party data dependency, full CRM integration.
FAQ
Questions we get
Architecturally identical. Different auth and webhook payload shape. If you switch between them, we re-point the integration without rebuilding.
Yes. Team round-robin, managed users, and organizations all supported - we wire them to Attio's user model.
Both. The integration is the same either way; only auth endpoints differ.
Want this running on your Attio?
Book a free 30-min call. We'll map your use case to what we've already shipped and tell you whether this fits - honestly.
Book a 30-min call