Chili Piper

chilipiper.com

ALMOST

A weekend of work, and real gaps remain.

Routes an inbound lead to the right salesperson and books the meeting immediately from the form, rather than emailing a link and hoping.

Promptfree, for everyone, and the only version there is
Build the inbound routing I actually need instead of Chili Piper — and understand where the value is.

**It is booking before the visitor leaves the page.** Emailing a scheduling link loses most of the intent; showing available times immediately after the form does not. Everything else is a rules engine.

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode
- Caddy in front

THE DATA MODEL
- reps: id, name, email, timezone, is_active, weight, territories_json, max_per_day
- rules: id, position, condition_json, target_kind, target_id — company size, country, product interest, existing account owner
- assignments: id, submission_id, rule_id, rep_id, at, reason — **append-only, and the record of why a lead went where it did**
- bookings: id, submission_id, rep_id, starts_at_utc, ends_at_utc, calendar_event_id, status
- calendar_connections and busy_blocks, intervals only
- round_robin_state: rep_id, last_assigned_at, assigned_count — so distribution is fair rather than random

THE FLOW, WHICH IS THE PRODUCT
- The form submits, the server evaluates the rules, picks a rep, computes their availability, and **returns slots in the same response**. No email, no redirect, no waiting
- The visitor picks one and it is booked. Three seconds, not three hours
- If nobody matching is available inside the horizon, fall back to a wider pool rather than showing nothing. An empty slot list is a lost lead

ROUTING
- Rules evaluated in order, first match wins, and **the matched rule recorded on the assignment**. 'Why did this lead go to him' must be answerable, or sales operations will not trust it
- An existing account owner beats every other rule. Routing a current customer to a new rep is the mistake that causes an internal argument
- Round-robin within a matched group, weighted, skipping anybody unavailable, and the state stored so it is genuinely even over a month
- A rule tester: paste a submission and see which rule fires and who gets it, before it goes live

AVAILABILITY ACROSS A TEAM
- The same slot function as any scheduler — rules minus busy minus existing bookings minus buffers — run per rep and unioned
- **Every instant UTC, working hours as local times with a named zone**, both daylight-saving transitions tested
- A hold while the visitor chooses, released after a couple of minutes, with the final insert re-checking inside the transaction. Two visitors must not take one slot
- Recurring events expanded properly, with exceptions. A wrongly expanded weekly meeting means double bookings for a year

WHAT TO MEASURE
- Time from submission to booked meeting, and the share of submissions that book at all. Those two are the only numbers this tool exists to move
- Distribution per rep, so 'it is not fair' is a query rather than an argument
- No-show rate per rep, which is the reminder problem again

WHAT MATTERS MOST
Slots in the same response as the form, and the recorded reason for every assignment. The first is the entire conversion argument; the second is what makes a sales team accept the routing.

What you lose

  • Booking at the moment of the form submission, which is where the conversion actually is
  • Routing rules a sales operations person configures without a developer
  • Round-robin distribution that respects availability and territory
  • Calendar edge cases across a whole team at once

If you would rather not build

  • A form that shows the owner’s own slots, if there is one salesperson
  • A rules table and a slot function, which is the whole thing

The escape hatch

open source · no votes, no paid placement

Cal.com

$0

Open-source scheduling with team round-robin and collective availability.

calcom/cal.comfree · open source

Easy!Appointments

$0

Self-hosted booking with providers and services.

alextselegidis/easyappointmentsfree · open source

Why this verdict

our own opinion · changed only by a person

44/100

Verdict kinda at 44: the scheduler half is known work, and the value is doing it inside the form submission. The recorded assignment reason is what makes it usable by a team rather than merely correct.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Chili Piper

answered from the record above

Is Chili Piper free?

No — the plan we track is $22.50 a month. From around $22.50 per user per month billed annually, with routing and distribution priced above it.

Can you replace Chili Piper by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 44 out of 100, build time a weekend. Read what you lose before you decide.

How much does Chili Piper cost?

$22.50 a month on Instant Booker — $270 a year. Recorded 14 Aug 2026.

What do you lose by replacing Chili Piper?

Booking at the moment of the form submission, which is where the conversion actually is; Routing rules a sales operations person configures without a developer; Round-robin distribution that respects availability and territory; Calendar edge cases across a whole team at once. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Chili Piper?

Yes: Cal.com, Easy!Appointments. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 14 in Scheduling

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc