Skip to content
Flywheel

How it works

Four mechanisms do nearly all the work: a reply lane that bulk sending can't block, a qualification engine that stores your questions as data, a single door every outbound message leaves through, and a takeover rule that gets out of your way automatically.

One

The first reply gets its own lane

A lead arrives as a contact — posted by your website form, your CRM, an inbound text, or anything else that can make an HTTP request. If you ask for a conversation to start, the first reply is enqueued immediately and dispatched in the background, so the response time you see from the API never depends on how quickly the carrier accepts the message.

That job runs on a dedicated high-priority queue. Everything bulk — the nurture ladder, scheduled follow-ups, anything sweeping across many contacts at once — runs on the default queue instead. A thousand queued follow-ups therefore cannot end up in front of one new lead, which is the failure that quietly turns a 40-second product into a four-minute one.

Two

Your questions are rows, not code

A flow is an ordered list of steps. Each step names the template to send, the shape of answer it expects, the contact field to write the captured answer into, and optionally where to jump next based on what came back.

expects
choice, number, boolean, freeform, or confirm. The shape of the answer, never its meaning.
choices
An ordered array of values with their synonyms. Order matters: texting “2” picks the second one, because that's how people answer a list over SMS.
writes_to
Where the answer lands — a first-class field like age, or anything under custom_fields.
branch_on
Captured value to next position, with a default_next_position so branches can rejoin anywhere, not just at the following row.

Classification is rule-based rather than a model call, deliberately: a network hop, a rate limit, and somebody else's outage do not belong inside the one latency budget that matters most. Domain meaning comes from the synonyms you declare, which is how the same engine learns that “slab leak” is an emergency without Flywheel containing the word plumbing anywhere.

When a reply doesn't match, it re-asks once. If the second reply is also unclear it marks the thread as needing a human and stops talking, rather than rephrasing at somebody forever.

Three

Every message leaves through one door

There is exactly one class that sends automated messages, on every channel, for every account. Not for elegance — a second send path isn't a shortcut, it's an untested compliance surface. It applies these in this order:

  1. 1
    Template resolution

    Your override first, then a vertical default, then the generic one.

  2. 2
    Idempotency

    The send is claimed before any guard runs, so a retried job cannot slip a second message past a guard that has changed since.

  3. 3
    Human takeover

    Skipped only by transactional copy — a booking confirmation still goes out.

  4. 4
    Opt-out and suppression

    Per account, per address, checked against the person actually receiving it.

  5. 5
    Consent

    Promotional copy needs recorded consent. No consent, no send.

  6. 6
    Template guards

    Halt conditions declared next to the copy they protect — for example, stop the ladder the moment they reply.

  7. 7
    Quiet hours

    Last, so a message stopped for any other reason is never rescheduled to tomorrow morning.

Quiet hours are the recipient's, not yours, and a blocked message is requeued to the next open window rather than dropped. A minor is never the recipient: where a contact has a guardian, the guardian is who gets the message and whose consent and suppression state is checked.

Four

You take over by just typing

Sending a message into a thread pauses that thread's automation for 24 hours, as a side effect of the send rather than a separate switch. A person who has to remember to silence the bot will eventually forget, and the bot will talk over them in front of a customer.

Your message skips template lookup, flow logic, and quiet hours. It does not skip opt-out or suppression. Hand the thread back early with a single call when you're done.

The loop, and what we leave to you

Booking, reminders, attendance, review asks, and a draft from the job you just finished. Auto-publishing to Google or social is still yours to do. Pricing is still undecided; see the pricing page for exactly where that stands.

The whole wheel

One full turn, stage by stage.

The mechanisms above are what make each stage reliable. This is what a customer and a business actually see, from the first text to the next stranger calling.

The first turn

A lead arrives

The lead you already paid for does not go cold.

Someone finds you at 2:14p.m. on a Tuesday. You're with another customer. Without a place to land, they contact three other businesses. The arrival is the start of the wheel — so that person is still yours when you look up.

Then the rest of the wheel keeps turning: a reply, a booking, a job, a review, the next lead.

New contact 2:14 PM
JM

Jordan Miles

(773) 555-0142

“hi, water is coming out from under the water heater”

Facebook lead · landed as a contact

The second turn

Flywheel replies by SMS

The wheel starts with a text in under a minute.

Speed to lead is not the product — it is how the first stage doesn't stall. Someone reaches out while you're with another customer; they get a reply in your voice and keep answering the questions you would have asked.

Then the rest of the wheel keeps turning: book, show up, review, content, next lead.

Northside Plumbing · (773) 555-9000 14s
  1. hi, water is coming out from under the water heater
    Inbound · 2:14:06 PM
  2. What's going on — leak, clog, or install?
    Sent · 2:14:20 PM

The third turn

You learn what they want

They tell you what they need — without you being on the phone.

You would have asked the next question anyway. They answer it in the thread, in their words, while you finish the job in front of you. You come back to a conversation that already knows the difference between a leak and an install.

Then they book from a time that is actually open.

Jordan Miles Still in the thread
  1. there's water everywhere
    Matched as leak — not the word itself
  2. Is water actively running right now?
  3. yes, it's still coming out
  4. I have two times open this afternoon.
    Next question from what they answered

The fourth turn

They book

They pick a time that is really free — not a maybe.

Phone tag is how a ready customer becomes next week's leftover. They get a slot from what is open when they ask, on your calendar, so the job is on the books before they talk themselves out of it.

Then they show up because the time was real.

Open on your calendar Tuesday
3:30 PM 45 min · booked
5:15 PM 45 min
Tomorrow 8:00 AM 45 min

Offered from what's open when they asked — not a maybe.

The fifth turn

They show up

The appointment happens — not the no-show you forgot to remind.

A booked job that nobody walks into is a lead you paid for twice. They get the reminders you would have sent, then a completed service on your books — the only kind of customer who can bring you the next one.

Then you ask for the words that pay for the next lead.

Today · 3:30 PM Showed up

Water heater leak · Jordan Miles

  1. Reminder sent

    Yesterday · 3:30 PM

  2. Second reminder

    Today · 1:30 PM

  3. Completed service

    On your books

The sixth turn

They leave feedback

You ask once, the same way, after they were actually there.

Reviews that are gated or bought do not travel. One uniform ask after they show up — never a discount, never a filter — is how today's customer becomes something you can show tomorrow's stranger.

Then those words become something you can post.

After they showed up One ask
Glad we got to it. If you have a minute, a review helps the next person find us.
Same ask for everyone · never gated
they were here in an hour and the floor is dry. five stars

The seventh turn

Their words become marketing

The job you just finished writes the ad for the next one.

You should not have to sit down after hours and invent a post. A granted quote or a job note becomes an editable draft, consent-checked. You copy it where you post — we do not publish it for you.

Then you paste that draft where next month's lead will see it.

Draft from the job Consent checked

Same-day water heater leak

“They were here in an hour and the floor is dry.” — a customer on the North Side, after a water-heater leak on a Tuesday afternoon.

Editable before you post. We do not publish it for you.

The last turn

That brings the next lead

Today's customer is why the next stranger calls.

That is the wheel: you already paid for the first lead. The people you served are what makes the next one cheaper. Reviews and content are not a leftover — they are step one for next month.

Then it starts again — with the next stranger.

New contact Next month
AK

Avery Kim

(312) 555-0194

“saw the review about the water heater — can you look at mine?”

That's the wheel. Step one, again.

That's one full turn.

The next one starts with your next lead — and setup takes minutes, not weeks.

Create a free account

No demo gate, no sales call, no credit card.