Docs Rizler

Workflows

Business Hours & Wait for Reply

Branch on whether you are open right now, wait for a lead to answer, and call them now or first thing in the morning.

Three building blocks let one workflow behave differently inside and outside your business hours, and react to what a lead texts back.

BlockWhereWhat it does
If / Else β†’ Business hoursIf / Else conditionTakes the Open path or the Closed path, based on the time when the contact reaches this step
Wait β†’ Until business hours openWait step, Wait forPauses until you next open (Friday night β†’ Monday 9:00). If you are open already, it carries on at once
Wait for replyLogic groupPauses until the contact replies or the time runs out, then goes down Replied or No reply

πŸ•˜ Which hours are used#

  1. Settings β†’ Working Hours, in your company time zone. This is the one to set.
  2. If no Working Hours are set: this workflow's Time Window (Workflow Settings).
  3. If neither is set: Monday–Friday, 9:00 AM–5:00 PM in the workflow time zone.

The If / Else and Wait panels show the hours in use and where they came from.

Leave the workflow's Time Window off for after-hours flows. A text that arrives outside the Time Window never starts the workflow, so the "Closed" path would never run.

πŸ’¬ Wait for reply#

  • Wait up to β€” how long to wait, for example 2 hours. Required.
  • Replied β€” they texted, iMessaged, emailed or called back before the time ran out. Texts move on at once; emails and calls within about a minute.
  • No reply β€” the time ran out.

Use what they said in any later step:

WhereHow
Send SMS, Send Email, AI Call reason, Add Notes, GPT / Claude prompt{{reply.text}} (also {{reply.channel}}: text, email or call)
If / ElseCondition Reply text β†’ Contains any of now, yes, sure (commas = any of these words; capitals ignored)
Record Call RequestUses their reply as the lead's own words

The reply a Wait for reply step receives never triggers Stop for a contact when they reply: it is the answer the step asked for. A later reply still counts. The text that started the workflow is never taken as the answer.

πŸ“ž Example: "Hey, call me"#

A lead texts in. During business hours you call right away. After hours you ask whether now works or the morning is better, and do what they say.

Trigger: Customer replied + New message (the lead texts in)
└─ If / Else: Business hours
   β”œβ”€ Open
   β”‚   β”œβ”€ Send SMS: "Hey {{first_name}}, I'm going to give you a call right now."
   β”‚   └─ AI Call
   └─ Closed
       β”œβ”€ Send SMS: "Hey {{first_name}}, I know it's after hours. I can still call you right now
       β”‚            if you want to chat. Would now work, or should I call you in the morning?"
       └─ Wait for reply: up to 2 hours
           β”œβ”€ Replied
           β”‚   └─ GPT / Claude: is "{{reply.text}}" NOW or MORNING?
           β”‚       └─ If / Else: GPT / Claude response contains "now"
           β”‚           β”œβ”€ Now:     Record Call Request β†’ AI Call (right away, even after hours)
           β”‚           └─ Morning: Wait until business hours open β†’ AI Call
           └─ No reply
               └─ Wait until business hours open β†’ AI Call

Settings for this workflow

  • One active run per contact: on, so a second text while it waits doesn't start the flow again
  • Stop for a contact when they reply: off (their reply is the answer this flow asks for)
  • Time Window: off

No GPT / Claude connected? Replace the GPT step and its If / Else with one If / Else β†’ Reply text β†’ Contains any of now, yes, sure, ok.

Record Call Request keeps the lead's own words so the AI call may go out after hours. Do Not Call still blocks the call.

πŸ§ͺ Testing it#

Tests never wait. In Test:

  • Business hours in this test β€” Use the real hours right now, Pretend we are open or Pretend we are closed
  • Their reply in this test β€” type a reply (for example Now works) to test the Replied path; leave it empty to test No reply

Over the API, send test_business_hours (open or closed) and test_reply with a test run.