Skip to content
How it decides

It decides. Then it tells you why.

No flow to build, no branch to draw. For each person Hyzl picks one move — text, call, wait or stop — writes one line explaining it, and does it inside limits it cannot cross.

The loop, four beats long.

It runs again after every outcome: a reply, a call that ended, a link that was opened, a payment that cleared.

01

It reads the person, then your playbook.

What they were looking at, what they have said, every touch already sent — then how people like them in your app were won or lost over the last 30 days.

waitLeft the plans step 40 minutes ago on a Boston-Tokyo search. People like them in this app pay most often after an evening call, so waiting until 18:00 where they are.
02

It decides: text, call, wait or stop.

One move, for this one person, now. Calling is a move it will choose on its own when a conversation beats another text.

callTwo texts, no reply, and they opened the link twice. Calling to ask what is holding it up rather than sending a third.
03

It writes down why.

One plain line an owner can read, in your dashboard, next to the move it belongs to. If it cannot name the reason, it waits or stops.

textAsked whether Pro covers Tokyo; texting that it tracks that route, with their 20% link.
04

It checks payment before anything sends.

Every move goes past the payment check first. Someone who has already subscribed is never contacted, and recovery ends there.

stopSubscribed on the App Store nine minutes ago. Recovery ends here.

The limits it cannot cross.

These are enforced in code, not in the prompt. A move that would break one is never carried out: it is held until the limit clears.

  • Texts go out between 9:00 and 21:00 and calls between 9:00 and 20:00 in the time zone the person is actually in, not yours.
  • At most two texts and one call a day and at least an hour between any two touches.
  • At most eight texts and four calls in any 30 days counted per person, not per campaign.
  • After the first month, two touches in 30 days a day or more apart, and each one needs a genuinely new reason.
  • Payment is checked before anything sends. They pay, recovery ends — mid-sequence, mid-call, whenever it happens.
  • STOP ends it. So does your own Do Not Call list, and the national scrub when you buy it.

It writes down why.

Every decision lands in your activity log with the reason attached, in plain language, before you have to ask for it. The three below are from a sample workspace.

PersonMoveWhyOutcome
Priya
Tue 7:42 PM
call

Asked whether Pro covers Tokyo; calling to walk the route through before offering anything.

Answered4m 12s
Marcus
Wed 9:06 AM
text

Missed call last night. Texting the one thing he asked about, with his 20% link, and nothing else.

DeliveredLink opened
Elena
Wed 11:18 AM
stop

Said she is moving abroad and will not need it. Stopping.

StoppedNo further contact

And you can check it against a fixed sequence.

People who arrived in the last 7 days, including their later activity, in a sample workspace. Auto decides each move; Flow runs the steps you set.

RecoveryAutoFlowDifference
People412397
Replied7117.2%4110.3%+6.9 pts
STOP92.2%123.0%−0.8 pts
Paid4811.7%297.3%+4.3 pts

See a call.

Hyzl calls within a minute of the paywall closing. This is the script, on a real paywall, with no real call placed.

Archived Strava + Runna paywall: 30-day free trial, then $149.99 per year. $12.50 per month is the annual plan’s monthly equivalent.

Scripted example. No real call will be placed.
Strava paywall source

About “measured against people we never contacted”.

The honest version, because the number is only worth what the method behind it is worth.

The holdout is ours, not an auditor’s.

One dating app left a slice of its cancellations untouched for three weeks, and we compared the two groups. That is internal evidence from one app, run by us. It is not a trial anyone else reviewed, and we will not present it as one.

Your dashboard measures something narrower.

It does not run a holdout. It reports revenue recovered through Hyzl, split into verified and pending, so you can see what has actually landed against what is still out.

Verified means a provider said so.

Nothing counts as recovered until Stripe or the store confirms the payment. Pending is an offer that is out and has not been paid. The two are never added together.