Getting started
Introduction
What Cauliflower is, who it is for and how the pieces fit together.
Cauliflower turns inbound interest into booked meetings. A visitor fills in a form on your website, Cauliflower looks them up in your CRM and enrichment providers, decides who should own them, and shows that rep's calendar before the visitor leaves the page. The same engine powers booking links, SDR-to-AE handoffs, a REST API and an MCP server for AI agents.
It runs as a single Node.js process on top of PostgreSQL, so you can host it yourself, and it is free — self-hosted, and in the cloud during early access.


What you can build
Qualify form fills in real time and put a meeting on the right calendar instantly.
SDR to AE handoffSDRs book qualified prospects onto an AE's calendar from one screen.
Account-based routingExisting accounts go straight to their owner. New logos rotate fairly.
AI agent schedulingLet Claude and other agents route leads and book meetings over MCP.
How it fits together
A router receives a lead from one of its triggers: your website form (through the widget), a hosted router link, the REST API, an AI agent or a teammate using Handoff.
Before any decision is made, the router matches the lead against what you already know: the lead's history in Cauliflower, the person and company in your CRM (HubSpot, Salesforce or Attio), and — when the CRM has nothing — firmographics from Apollo. Every attribute becomes a field you can route on.
The lead then walks through your paths from top to bottom. Each path has a rule (conditions, or "already has an owner") and a list of steps: display a calendar, assign an owner, notify someone, update the CRM, redirect or disqualify. The first path that matches wins; leads that match nothing fall into the catch-all.
When a step displays a calendar, the rep is chosen by the team's distribution — weighted round robin, load balancing or priority tiers — and only times that work with their availability and Google Calendar are shown. The booked meeting lands on the calendar with a Google Meet link, is written back to the CRM and fires webhooks.