A cleaner path to paid
We rebuilt the in-app upgrade flow so moving to a paid Cal.com plan takes seconds, not a support ticket. Here's why we prioritized it.
Paying us money should not be the hardest thing you do in our product. For a long time, it kind of was — the path from "I want this premium feature" to "I have this premium feature" involved more clicks, tabs, and second-guessing than it deserved. We've now collapsed that into a single, obvious flow inside the app Upgrade Your Plan.
Why we bothered
Upgrade friction is one of those problems that's easy to shrug at — it only hits users once, and by definition they're motivated. But that framing is wrong. Users hitting an upgrade prompt are usually in the middle of doing something else: setting up a team, wiring up a workflow, trying to attach a feature to a live workflow. Every extra step between intent and unlock is a step where they context-switch away and forget to come back.
So the goal wasn't "a nicer pricing page." It was: when someone decides they want a paid capability, they should be on that plan before the thought fades.
What actually changed
The upgrade page now lives one action away, surfaces the paid plan options directly, and loads as its own view rather than bouncing you through marketing pages Upgrade Your Plan. If you've ever tried to upgrade mid-task and ended up on a public-facing pricing comparison you didn't want, you'll notice the difference.
A few deliberate choices worth calling out:
- In-app, not off-site. You stay inside your workspace. Your session, your team context, your billing details are all already known — we shouldn't be asking again.
- Plans, not pitches. The view is optimized for someone who already knows they want to upgrade. Comparison marketing belongs on the marketing site; this page is for the decision after that.
- Predictable loading. The view has a defined ready state, so integrations and automations that drive users here can wait on it deterministically rather than racing the UI.
What's next
This is the foundation, not the finish line. Now that the upgrade path is a first-class surface, we can start doing the more interesting work on top of it — contextual upgrade prompts that deep-link to the exact plan a feature requires, clearer mid-cycle plan changes, and better handling for teams where the person hitting the paywall isn't the person holding the credit card. More on those soon.