Self-hosting / Plans and seats

Self-hosting

Plans and seats

Pricing tiers with features, limits and seats, and who in a workspace gets a seat.

Plans are your pricing tiers. Each plan switches features on or off, caps how many routers, booking links and other things a workspace can create, and includes a number of seats. Platform admins create plans and put workspaces on them; workspace owners decide who uses the seats.

Cauliflower doesn't charge cards yet. Bill workspaces however you like and set their plan in the admin portal.

Plans

Open Plans in the admin portal. A new installation has one plan, Early access: every feature, no limits and 100 seats. It's the default, so every new workspace starts on it.

New plan opens the editor:

  • Name, key (a stable id for billing and analytics) and a description shown to workspace owners.
  • Price per seat, currency and billing interval, or Custom pricing. The price is only shown; nothing is charged.
  • Seats included.
  • Features: what the plan switches on.
  • Limits: leave a limit empty for unlimited.
  • Default plan: new workspaces start on it. Only one plan is the default.
  • Archived: workspaces already on the plan keep it, but you can't pick it for others and it can't be the default.

A plan with workspaces on it can't be deleted; move them to another plan first, or archive it.

Features

FeatureWhat it controls
AI assistantThe in-app assistant.
HubSpot, SalesforceConnecting those CRMs. Attio is always available.
Slack notificationsRouter Notify steps posting to Slack.
Custom emailsRewriting invitee emails, for the workspace and per booking link.
Hosted page customizationCustom copy, benefits and testimonials on hosted router pages.
Remove Cauliflower brandingHiding "Scheduling by Cauliflower" on lead-facing pages and in emails. Without it, the setting is kept but has no effect.
API & MCPAPI keys, the REST API and the MCP server. Without it, existing keys and connected agents are paused, not deleted.
WebhooksCreating endpoints and sending events. Without it, endpoints are kept but no events are sent.

Features are feature flags underneath. A flag that's switched off for everyone wins over every plan, and a per-workspace override wins over the plan, so you can give one workspace a feature for a trial without changing its plan.

Limits

LimitCounts
RoutersEvery router, live or paused.
Booking linksEvery booking link, enabled or not.
TeamsEvery team.
Webhook endpointsEvery endpoint.
API keysKeys that haven't been revoked.
Routed leads per monthLeads routed this calendar month (UTC), not counting tests.

When a workspace is at a limit, creating or duplicating one more fails with "Your plan includes up to 3 routers. Remove one or upgrade your plan to add more." Nothing that already exists is removed or paused. Routed leads per month never blocks a lead; it's only shown, so you can reach out about a bigger plan.

Putting a workspace on a plan

On a workspace's page in the admin portal, Plan & seats has the plan and its seats. Leave Seats empty to use the plan's number, or set it to sell that workspace more (or fewer) seats. The card also shows how much of each limit the workspace uses. Features below lists every feature with where its value comes from: the plan, an override, a rollout, or a flag that's off for everyone.

When you create a workspace from Workspaces → New workspace, you pick its plan and seats there.

Seats

Everyone with a seat can sign in and use the workspace. Owners always have one. A seat is what makes someone bookable: people without a seat aren't offered by booking links, round robin or routers.

  • New members get a seat while one is free. When every seat is taken they still join, without one.
  • Deactivating someone frees their seat. Reactivating them takes one again if one is free.
  • Without a seat, someone who signs in sees who to ask for one, and can switch to another workspace they belong to. Their API keys, MCP connections and exports stop working in this workspace.

Workspace owners see the plan, seats and usage under Settings → Plan & seats, and give or take back seats with the Seat switch under Settings → Members. Platform admins can do the same on the workspace's page in the admin portal. If a workspace has more people with seats than its plan includes (for example after moving to a smaller plan), nobody loses access; owners just can't hand out more until enough seats are free.