Skip to main content
Each workflow has independent delivery and conversation settings. A member can move through several contacts before the final outcome.

Text only workflows

A workflow set to Text only places no outbound call. hyzl sends the offer by text and never dials the member. The call sections below do not apply to it.
  • hyzl sends the first message right away, at dispatch time.
  • With {offerUrl}, the first text carries the offer link and asks nothing about a call.
  • Without {offerUrl}, a sponsored recovery number opens a conversation and carries no link.
  • The first text does not say that hyzl will call or that hyzl missed the member.
  • hyzl sends zero through four follow-ups on the schedule that you set.
  • An existing or untouched schedule keeps one follow-up at 23 hours.
  • A member who never replies receives no more texts after the configured sequence.
  • The AI answers text replies to your recovery number.
  • Inbound calls to your recovery number are still answered.
Cancellation, trial-end, and access-end events send when their safety checks pass. Signup recovery waits 5 minutes to 24 hours before hyzl confirms that the member has not paid. Quiet hours or the campaign schedule can delay any text in the sequence. For example, a 60-minute wait delays the first payment check by 1 hour. Set each delay in hours or days, from one hour through 30 days. The first delay starts after the offer text. Each later delay starts after the previous follow-up. Quiet hours can delay a due text. Each First offer text variant and follow-up has a Customize control. Edit the wording or use the default for that message. Use {offerUrl} when the member needs a link to claim the offer. Without it, hyzl shows a warning but lets you save. A sponsored recovery number can send a linkless first text. The AI sends the trusted offer link when the conversation makes it relevant. If replies cannot reach the recovery responder, hyzl adds the trusted link to the first text. This includes questions about the price, cost, offer, discount, code, or link. It also includes interest or readiness. A decline or an unrelated question gets no link. The AI never claims that the first message contained one. Scheduled follow-ups keep their saved wording and schedule. A follow-up without {offerUrl} still carries no link. hyzl adds Reply STOP to opt out. to each first offer. The first-offer templates for Text only and Call + text stay separate. Switching modes preserves both sets of wording and the Text only schedule. A payment or an exact STOP reply ends the remaining follow-ups. STOP also adds the member to your do-not-contact list. Another reply pauses the follow-ups. The AI still answers, and the next text waits until the member stays quiet for 24 hours. Every follow-up follows the daily cap and existing safeguards. If you edit a live schedule, an already scheduled follow-up keeps its send time. Later follow-ups use the new schedule. A Text only Stripe workflow needs a discount above 0%. A text with no discount has no offer to send. This rule does not affect a RevenueCat offer or a merchant-provided offer.

Before the call

A workflow can send a short heads-up text before its call. This message identifies your business and prepares the member for the incoming number. It does not include the offer. The workflow controls its own message and timing. New workflows turn the heads-up text on by default.

Configure the heads-up text

  1. Open Offer & delivery for the workflow.
  2. Turn Send a heads-up text before calling on or off.
  3. Set the lead time from 0 through 600 seconds.
  4. Enter custom wording or leave the field empty for the default.
  5. Save the workflow.
The default lead time is 30 seconds. The maximum is 10 minutes. The message supports {firstName} and {companyName}. hyzl adds Reply STOP to opt out. to the sent message. A member who has already sent STOP receives no later recovery texts. Each workflow stores its own switch, lead time, and message. Different triggers can use different wording and timing.

The call

The AI uses the workflow’s saved script and voice. It can ask why the member left and answer from your Knowledge Base. It can also present the configured offer. Before treating an offer as accepted, the AI asks a direct confirmation question. That question states the exact action. Agreeing to receive a link does not authorize an immediate subscription change. It means only that the member wants the link.
  • With explicit consent and confirmed identity, an eligible Stripe workflow can reverse cancellation and apply the coupon.
  • When the member requests a link, hyzl changes nothing until the member uses it.
  • RevenueCat sends an App Store offer code instead of changing the subscription directly.
  • Signup recovery sends the configured purchase link by text.
If the member declines, hyzl sends no offer and leaves the billing account unchanged. The original cancellation continues. An eligible Stripe cancellation workflow can send the offer by email when Gmail or Outlook is connected. Rarely, hyzl cannot complete an accepted save automatically. A fully ended subscription is one example. Analytics then identifies the required next step.

Stripe subscription states

The Stripe action depends on whether the subscription remains active.

Active or trial subscription

A member who still has access can receive a one-tap apply link. The link keeps the current plan and applies the discount. That one-tap apply link remains available for 72 hours. When the call explicitly confirms an immediate save, hyzl can reverse the scheduled cancellation directly. The next invoice receives the one-time coupon.

Fully ended subscription

There is no active cancellation to reverse after access ends. hyzl sends a secure Stripe Checkout link with the discount already applied. The member opens the link, confirms payment, and starts a new subscription. Stripe records it like any other new subscription. The checkout link expires after 24 hours. hyzl sends at most one initial offer text for the recovery event.

RevenueCat offers

RevenueCat workflows draw a one-time code from your App Store offer inventory. The member receives a redemption link after accepting or after all unanswered attempts. The discount comes from the App Store Connect offer. hyzl describes that same offer during the call. Calls that could promise an unavailable code pause when inventory is empty. Add codes to resume eligible recovery.

After no answer

Missed-call retry is off by default. Turn it on for each workflow in Script & voice. Set the gap from 1 through 720 minutes. The default is 2 hours. Max retries per contact allows up to 5 retries after the first call. This lets the workflow make six total attempts. Each retry uses the same calling window as the first attempt. A retry stays with the same offer-experiment variant. Before a retry, hyzl checks the billing provider again. It stops retries when:
  • the member resubscribed
  • someone reversed the cancellation
  • the billing period ended
  • a previous attempt reached the member
Only an unanswered call schedules another attempt. A save, decline, or resubscribe-link result stops retries. After all attempts go unanswered, hyzl checks the provider once more. It sends one last-resort offer only if the member still qualifies. hyzl also retries a failed first dispatch in the background. This first-dispatch safeguard works even when missed-call retries are off. Analytics identifies an enrollment that still needs attention.

Voicemail behavior

hyzl leaves only one voicemail, on the final attempt. Earlier attempts end without a voicemail when another retry remains. With retries off, the first call is also the final attempt. It can leave the voicemail immediately. The default voicemail names a positive discount. A 0% feedback workflow uses general wording without a discount. The voicemail reads the configured callback number. It can also tell the member that an offer text will follow. Edit the voicemail and callback number in Script & voice. hyzl keeps custom voicemail wording when the offer changes. Default wording updates to match a changed discount. hyzl speaks and texts the callback number but does not dial it. Use a number where members can reach your business.

Offer text policy

Offer delivery depends on the call result:
  • An answered call sends the offer by default unless the member clearly declines.
  • A request for a link sends the link without changing the subscription.
  • A clear decline sends nothing.
  • All unanswered attempts can produce one last-resort offer.
  • An unredeemed Call + text offer can produce one reminder about 23 hours later.
  • A STOP opt-out blocks every recovery text at send time.
The AI says that a text is coming before it ends the call. Offer texts also include your callback number when configured. A Text only workflow does not follow these call-result rules. It texts the offer at dispatch, then follows your schedule. See Text only workflows. Sending a text never changes a subscription by itself. A recovery requires explicit call authorization, checkout, or App Store redemption.

The 24-hour offer window

Default Call + text offers describe a 24-hour offer. Their reminder texts normally arrive about 23 hours after the first offer. For Call + text on Stripe, the deadline is real. At reminder time, hyzl creates a fresh checkout link that expires one hour later. The original link stops working. For Text only on Stripe, hyzl creates a fresh checkout link for each follow-up. Each link expires 24 hours after that follow-up sends. For RevenueCat, the 24-hour deadline is message wording. Text only follow-ups reuse the current App Store redemption link. Merchant-provided follow-ups also reuse the current offer link. A same-plan Stripe apply link remains available for 72 hours. A later follow-up replaces it only after it expires. Proactive texts send only from 9:00 AM through 8:00 PM in the member’s local time. A due message waits for the window to reopen. When a RevenueCat reminder waits past the original deadline, its wording says that the offer expires soon. It does not claim one hour remains. The AI does not confirm that an offer expired. When the link itself fails, it directs the member to your support contact.

Customize recovery texts

In Call + text mode, six messages have their own templates:
  • the offer after an answered cancellation call
  • the offer after unanswered cancellation calls
  • the offer after an answered signup-recovery call
  • the offer after unanswered signup-recovery calls
  • the one-tap apply link
  • the offer reminder
In Text only mode, customize every first-offer variant and each configured follow-up. First offers depend on the workflow and subscription state. The two modes keep separate first-offer templates. Switching modes preserves both sets of copy and the Text only follow-up schedule. The heads-up text has a separate editor. Open the message editor through workflow creation, Offer & delivery, or Script & voice. Click Customize, enter the message, and save the workflow. A saved message shows Customized. The editor previews the delivered message and carrier segments. Plain text uses 160 characters per segment. Emoji and other Unicode characters reduce each segment to 70 characters. hyzl converts curly quotes and dashes to plain equivalents. An ellipsis becomes three periods. A stored message can contain up to 640 characters, including the automatic STOP footer on text-only first offers. Available placeholders are:
  • {firstName} for the member’s first name
  • {companyName} for the saved company name
  • {discountPercent} for the offer percentage
  • {offerUrl} for the member-specific link
A message without {offerUrl} shows an amber warning. You can still save it. A Text only first message without {offerUrl} can open a conversation from your sponsored recovery number. The AI can send the trusted link when the offer becomes relevant. If replies cannot reach the recovery responder, hyzl adds the link to the first text instead. Other configured messages without {offerUrl} carry no link. The RevenueCat pre-call text cannot use {offerUrl}. Each send must claim an Apple offer code first. The Call + text reminder cannot use {discountPercent}. An unsupported placeholder, excessive length, or blank first-offer message blocks saving. An empty follow-up uses its default copy. The Call + text reminder has independent wording. Customizing another text does not change it.

Personalized first text for signup recovery

The First text, personalized card appears directly below First offer text in both signup recovery modes. It starts unset. With a saved personalized message and a goal, hyzl sends that message instead of the first offer text. Otherwise, the standard first text sends unchanged. In Call + text, this choice applies after unanswered calls. It does not change the text after an answered call. The unset card says Not set. Customers get the first offer text. A saved message shows Customized. The card accepts these placeholders:
  • {firstName}
  • {companyName}
  • {discountPercent}
  • {offerUrl}
  • {goal}
The {goal} placeholder quotes the signup answer. It works only in the personalized first text, not in follow-ups or reminders. For an answer of “Other” or blank, omit goal from the event or send an empty string. Do not send the word “Other”. An absent or blank goal uses the standard first text for a new enrollment. A later blank event keeps an earlier goal. A personalized message without {goal} shows an amber warning and still saves. An unknown placeholder blocks the save. An empty personalized message removes the customization. Members then receive the standard first text.

Inbound callback number

Settings shows the dedicated callback number after you connect a provider. hyzl provisions the number automatically, and the number itself has no extra charge. Inbound calls use the calling balance available to your account. The underlying receptionist settings control how the number answers. If a known recovery member calls from the saved number, the AI confirms identity. It can then resend that member’s personal offer link. If hyzl cannot match the caller, the AI says that it cannot find the account. It can offer your configured support route instead. Analytics adds a phone marker to matched member activity. Calls from unmatched numbers appear separately or in the linked receptionist inbox.

Text replies

Members can reply to the recovery number when text replies are available for the account. The AI answers as your business and uses Knowledge Base facts. If a first Text only message omitted the link, the AI sends it later when relevant. Price, offer, or interest can make the link relevant. The AI does not send the link after a decline or an unrelated question. After the first send, it can resend the same trusted, valid link. For a matched member, it can:
  • resend an existing, still-valid offer link on request
  • explain the saved discount, price, billing cycle, and applicable plan
  • acknowledge a completed recovery without selling again
  • provide your configured support link, phone number, or email
The AI does not guess about live proration, refunds, or invoice dates. It does not promise a person will call or email the member. During a text reply, the AI resends the member’s current valid offer link. It does not mint a different link for each reply. When a member asks to call, the AI can provide the recovery number if it accepts calls. A separate support number identifies the route to a person. A payment or STOP ends the remaining Text only follow-ups. Another reply pauses them until the member stays quiet for 24 hours. The AI still answers the member during the pause. A STOP reply blocks later texts and calls from hyzl. Analytics adds an Opted out badge while preserving any separate recovery outcome.

Knowledge Base context

Knowledge Base stores your business identity, summary, support contacts, and approved questions and answers. Recovery calls and inbound replies share it. If a fact is absent, the AI says that it does not know instead of inventing an answer. Workflow and provider data supply the member-specific offer. The AI can state regular, offer, and renewal prices when your Knowledge Base contains those facts. It does not calculate or infer a missing price. Without a stated renewal price, it says that it does not know and offers support. A workflow can override the company name or callback number for its members. Those workflow values take priority over account defaults.

Review member activity

Open Analytics and choose a member row. The profile combines:
  • outbound calls and voicemails
  • inbound calls and text replies
  • call recordings and synchronized transcripts
  • offer delivery and link use
  • purchases, resubscriptions, and later cancellations
The profile stores sent and received messages in reading order. Long conversations open on the latest messages, with access to earlier messages. Follow-up activity can show Follow-up N texted. STOP can show Remaining follow-ups cancelled — they sent STOP. A completed sequence can show Sequence ended — N texts sent. The member profile shows Texts x of y sent. A cancelled sequence also shows · rest cancelled. hyzl stores message text with the member’s recovery record. Treat it as sensitive member data, like recordings and transcripts. Use the member timeline for one recovery story. Use funnels and continuous lift for aggregate performance.