-
Notifications
You must be signed in to change notification settings - Fork 10
Improve Wait for Response documentation: clarify criteria, add field guide, fix examples and screenshots #666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
93c235f
3bbbe8e
dd1c0c7
1a04fe0
2c178c0
1f9b9ef
9588505
7637329
12faea7
3dd72ef
c8f7b2b
62f8214
8522f4f
9df8c7e
ae5e79f
2b73d85
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,7 +4,7 @@ | |
| <tr> | ||
| <td><b>5 minutes read</b></td> | ||
| <td style={{ paddingLeft: 40 }}><b> Level: Beginner</b></td> | ||
| <td style={{ paddingLeft: 40 }}><b>Last Updated: October 2025</b></td> | ||
| <td style={{ paddingLeft: 40 }}><b>Last Updated: August 2026</b></td> | ||
| </tr> | ||
| </table> | ||
| </h3> | ||
|
|
@@ -15,11 +15,10 @@ The Wait for Response node is used whenever the flow needs to pause and collect | |
|
|
||
| Once the response is received, it can be validated, stored in a variable, and reused later in the same flow or across different flows. | ||
|
|
||
| Note: the contact variable can be used across flows, but the result variable is limited to the same flow. | ||
|
|
||
| --- | ||
|
|
||
| ## Why use Wait for Response? | ||
|
|
||
| The Wait for Response node is essential whenever a flow needs input from the contact. Common use cases include: | ||
| - Gathering registration details (e.g., name, age, email). | ||
| - Conducting surveys or quizzes. | ||
|
|
@@ -40,7 +39,7 @@ The Wait for Response node is essential whenever a flow needs input from the con | |
|
|
||
|
|
||
|
|
||
| **3. Give a Result Name (this becomes your variable).** | ||
| **3. Give a Result Name (this becomes the result variable that stores the contact's reply).** | ||
|
|
||
| **4. (Optional) Check Continue when there is no response to nudge the users to respond.** | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current wording is slightly misleading. It implies that simply checking the Continue box automatically sends nudges, which is not the case. Checking the Continue box only enables the workflow for configuring nudges. Users must still design and configure the nudge sequence, including details such as the number of nudges to send, the interval between them, and other related settings. It would be more accurate to clarify that checking the box provides the option to configure nudges rather than automatically sending them. |
||
|
|
||
|
|
@@ -54,48 +53,98 @@ The Wait for Response node is essential whenever a flow needs input from the con | |
|
|
||
| --- | ||
|
|
||
| ## Understanding the fields in this node | ||
|
|
||
| The Wait for Response node has a few blank fields you need to fill in. Here is what each one means: | ||
|
|
||
| - **Response criteria dropdown** (shows "has only the phrase" by default): choose how the contact's reply should be checked, for example "has any of the words" or "has a number". See "Response Types" below for the full list. | ||
| - **Value box** (next to the criteria dropdown): the word, phrase, or number the contact's reply is checked against. Some criteria, like "has a number" or "has an email", don't need a value here since they check the type of reply instead of specific text. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please explicitly mention that any leading or trailing whitespace in the Value field is treated as part of the value being matched. For example, |
||
| - **Categorize as**: the label given to this branch, so use something that describes the outcome, like "Yes" or "Has Number". This becomes the name of the branch you connect the rest of your flow to. | ||
| - **Multiple criteria rows**: you can add more than one row of criteria. Each row becomes its own branch, so a reply can be routed differently depending on which criteria it matches. | ||
| - **Result Name**: the variable the contact's reply is saved under. Once named, you can reuse the reply later with `@results.<result_name>`, for example `@results.age`. | ||
| - **Continue when there is no response for**: optional. Lets the flow move on if the contact never replies, instead of waiting forever. See "Handling no response" below for details. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since the document is very long - link the section you are referring to, to "Handling no response", so that users are directed to the section, instead of them having to look at it. |
||
|
|
||
| Note: the contact variable can be used across flows, but the result variable (the one named in Result Name) is limited to the same flow. | ||
|
|
||
| **The Other branch** | ||
|
|
||
| If you leave every criteria row blank, the node has a single **All Responses** branch that accepts any reply. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This line needs to be worded better. It is more than just accepting any response. More importantly, it doesn't communicate that no validation or criteria matching is performed when all criteria rows are left blank. In the absence of any configured criteria, the node does not perform any validation or criteria checks, as none have been configured, and instead routes every response received at this node through a single All Responses branch. Also - Clarify what you mean by "any reply". Currently, "accepts any reply" is also ambiguous—it is unclear what "any reply" refers to (e.g., text input, media, invalid input, etc.). |
||
|
|
||
|  | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Screenshot is cut - please add complete screenshot. |
||
|
|
||
| As soon as you fill in at least one criteria row, an automatic **Other** branch is added alongside it, for replies that don't match any of your criteria. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. could be phrased better: It is not "for replies....." it is "that captures the replies that don't match....." |
||
|
|
||
|  | ||
|
coderabbitai[bot] marked this conversation as resolved.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Screenshot is cut - please add the screenshot that shows the node entirely. |
||
|
|
||
| --- | ||
|
|
||
| ## Response Types | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please include a note about the evaluation order, as it has a direct impact on routing. When multiple response criteria can match the same input, the node routes the response based on the first matching criterion. For example, if |
||
|
|
||
| ## Text-based responses | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add screenshots for all text response rule, like you have added for media, email, numeric inputs. Adding screenshots helps explain the examples better. |
||
|
|
||
|  | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The purpose of this screenshot / explanation is missing. Kindly check and update. |
||
|
|
||
| ### 1. has any of the words | ||
|
|
||
| This option accepts the input if it contains any of the words defined in the response criteria. Multiple words can be added, separated by commas. For example, if the criteria include Yes, Y, Ya, Yup, then any of these responses will be treated as valid. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Currently - this doesn't clearly communicate that the matching also works when the configured word appears within a phrase. Kindly check and make the necessary changes to accommodate this clearly. |
||
| Also, if the field is left blank, any text response from the user will be accepted. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is incorrect. Please remove this line. From what I understand when I read this is the following: |
||
|
|
||
| <img width="469" height="391" alt="Screenshot 2025-10-08 at 2 28 48 AM" src="https://github.com/user-attachments/assets/4e91743e-3ae4-4a4b-a5f2-f5aa593dc35f" /> | ||
|
|
||
|
|
||
| ### 2. has all of the words | ||
| To accept the input if the input matches exactly what is defined in the response criteria. | ||
|
|
||
| ### 3. has a phrase | ||
| To accept the input if the input is present in the response criteria. | ||
| This option accepts the input if it contains all of the words defined in the response criteria, in any order. The input can also contain other words besides the ones listed. | ||
| For example, if the criteria include cat, dog, then "I have a dog and a cat" will be treated as valid, but "I have a dog" will not, since it is missing cat. | ||
|
|
||
| ### 3. has multiple values | ||
|
|
||
| This option accepts the input only if every word in it is one of the words defined in the response criteria. Unlike "has all of the words," it does not require every listed word to be present — the reply just cannot contain anything outside the list. | ||
| For example, if the criteria include red, blue, green, then "red blue" and "green" will be treated as valid, but "red yellow" will not, since yellow is not in the list. | ||
|
|
||
| ### 4. has the phrase | ||
|
|
||
| This option accepts the input if it contains the exact phrase defined in the response criteria, with the words in that same order, anywhere in the message. The input can have other words before or after the phrase. | ||
| For example, if the criterion is customer support, then "I need customer support please" will be treated as valid, but "I need support from a customer" will not, since the words are not in that order. | ||
|
|
||
| ### 5. has only the phrase | ||
|
|
||
| ### 4. has only the phrase | ||
| Accepts only if the response matches exactly what is defined in the response criteria. | ||
| This option accepts the input only if it matches the response criteria exactly, with nothing else added. | ||
| For example, if the criterion is yes please, then "yes please" will be treated as valid, but "yes please now" will not, since it has an extra word. | ||
|
|
||
| ### 6. starts with | ||
|
|
||
| This option accepts the input only if it begins with the exact text defined in the response criteria. | ||
| For example, if the criterion is order, then "order 123" will be treated as valid, but "my order is 123" will not, since it does not start with "order". | ||
|
|
||
| --- | ||
|
|
||
|
|
||
| ## Numeric responses | ||
|
|
||
| ### 1. Has a number | ||
| Accepts any numeric input, This will accept any number as a valid response. Any non numeric input will be treated as invalid response. | ||
|
|
||
| Accepts any numeric input as a valid response. A non-numeric reply doesn't match this criterion and is routed to the automatic **Other** branch instead (see "The Other branch" above). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The documentation being referenced here ("Other") is not easy to find in a long documentation. Instead of mentioning above / below - suggesting to link to that section. |
||
| In the example below, a numeric reply is categorized as "Has Number" and saved under the result name registration_number, so it can be reused later as `@results.registration_number`. | ||
|
|
||
| <img width="470" height="357" alt="Screenshot 2025-10-08 at 2 35 29 AM" src="https://github.com/user-attachments/assets/7f6b57e3-857a-401f-9567-b657b6a50bfe" /> | ||
|
|
||
|
|
||
| ### 2. has a number between | ||
| Accepts input if it is numeric and falls within the defined range. This option will accept numbers only given in the range. any number out of range will be treated as invalid response. | ||
| Example: Criteria = 18-60, so only numbers within 18 and 60 range will be accepted. | ||
|
|
||
| <img width="469" height="420" alt="Screenshot 2025-10-08 at 2 36 13 AM" src="https://github.com/user-attachments/assets/61b8eab1-e491-4ba4-81f9-43169d0c0cab" /> | ||
| Accepts input only if it is numeric and falls within the defined range. A number that doesn't fall in any of your ranges is routed to the automatic **Other** branch instead. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mention if the range boundaries are inclusive or exclusive. |
||
| In the example below, four ranges are set up under the result name age: 1-12 is categorized as "Kids", 13-19 as "Teens", 20-60 as "Adults", and 60-100 as "Sr Citizens". A reply of 15 would be categorized as "Teens", while a reply of 45 would be categorized as "Adults". | ||
|
|
||
| Note: the "Adults" and "Sr Citizens" ranges both include 60. When ranges overlap like this, a reply always matches the first matching row in the list — so a reply of exactly 60 is categorized as "Adults", not "Sr Citizens". To avoid this, use ranges that don't share a boundary number (for example, 20-59 and 60-100). | ||
|
|
||
|  | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
|
|
||
|
|
||
| ### 3. has a number equal to | ||
| Accepts input only if it exactly matches the defined number. This will accept only the number given in the criteria as a valid response. Any other response will be treated as invalid response. | ||
| Example: Criteria = 5, so only 5 will be valid. | ||
|
|
||
| Accepts input only if it exactly matches the defined number. Any other number is routed to the automatic **Other** branch instead. | ||
| In the example below, three separate rows are set up under the result name currency: 10, 20, and 50. A reply of 20 matches only the second row and is categorized as "20". A reply of 15 would not match any row and would be routed to the automatic **Other** branch. | ||
|
|
||
| <img width="465" height="415" alt="Screenshot 2025-10-08 at 2 37 57 AM" src="https://github.com/user-attachments/assets/029935dd-3557-4eb7-951d-44d15ad3e487" /> | ||
|
|
||
|
|
@@ -106,22 +155,28 @@ Example: Criteria = 5, so only 5 will be valid. | |
|
|
||
|
|
||
| ### 1. has a phone number | ||
| Accepts input if the response is a valid phone number.It accepts mobile and landline numbers. | ||
|
|
||
| Accepts input if the response is a valid phone number. This includes mobile and landline numbers. | ||
|
|
||
| Supported formats include: | ||
| - 10 digit Mobile number (XXXXXXXXXX). | ||
| - 10 digit Mobile number with 0 prefix (0XXXXXXXXXX). | ||
| - 10 digit Mobile number with country code prefix (+91 XXXXXXXXXX). | ||
| - landline number with (XXX XXXXXXX). | ||
| - landline number with 0 and state code (0XXX XXXXXXX). | ||
| - landline number with with country code prefix (+91 XXX XXXXXXX). | ||
| - 10-digit mobile number (XXXXXXXXXX). | ||
| - 10-digit mobile number with 0 prefix (0XXXXXXXXXX). | ||
| - 10-digit mobile number with country code prefix (+91 XXXXXXXXXX). | ||
| - Landline number (XXX XXXXXXX). | ||
| - Landline number with 0 and state code (0XXX XXXXXXX). | ||
| - Landline number with country code prefix (+91 XXX XXXXXXX). | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| In the example below, this is categorized as "Has Phone" and saved under the result name phone, so it can be reused later as `@results.phone`. | ||
|
|
||
| <img width="469" height="359" alt="Screenshot 2025-10-08 at 2 40 28 AM" src="https://github.com/user-attachments/assets/73f6252d-42cb-48b7-859f-35876ca420fd" /> | ||
|
|
||
|
|
||
| ### 2. has an email | ||
|
|
||
| Accepts input if the response is a valid email address. | ||
| Examples: abc@xyz.xyz, abc@xyz.xyz, abc@xyz | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These are also valid responses too. You can test to verify this :) |
||
| Examples: priya@example.org, contact.team@example.co.in, user+alerts@example.com | ||
|
|
||
| In the example below, this is categorized as "Has Email" and saved under the result name email, so it can be reused later as `@results.email`. | ||
|
|
||
| <img width="459" height="351" alt="Screenshot 2025-10-08 at 2 41 42 AM" src="https://github.com/user-attachments/assets/7d6306fb-afaa-4b3f-b786-7ae08077960c" /> | ||
|
|
||
|
|
@@ -130,48 +185,60 @@ Examples: abc@xyz.xyz, abc@xyz.xyz, abc@xyz | |
| ## Media responses | ||
|
|
||
| ### 1. has media | ||
| Accepts input if the response is a media file (jpeg, png, mp4). | ||
| Users can store both the URL and caption of the media file. | ||
|
|
||
| Accepts input if the response is a media file (jpeg, png, mp4). In the example below, this is categorized as "Has Media". | ||
|
|
||
| <img width="469" height="361" alt="Screenshot 2025-10-08 at 2 47 19 AM" src="https://github.com/user-attachments/assets/ae1ddfa0-e7ee-4577-8ec2-45e715c331cf" /> | ||
|
|
||
|
|
||
| - To store the media file - create a result variable(in the given example below, picture is given as result name) | ||
| To store the media file, create a result variable (in the example below, picture is given as the result name). | ||
|
|
||
| <img width="464" height="354" alt="Screenshot 2025-10-08 at 2 48 08 AM" src="https://github.com/user-attachments/assets/9ac64b70-e569-4c81-b533-682313ff846d" /> | ||
|
|
||
|
|
||
|
|
||
| Now users can use the media file URL received and its caption. | ||
|
|
||
| In this example, the syntax will be. | ||
| - for media file URL @results.picture.url | ||
| - for media file caption @results.picture.caption | ||
| In this example, the syntax for the media file URL is: `@results.picture.url` | ||
|
|
||
| ### 2. has audio | ||
|
|
||
| Accepts input if the response is an audio file. | ||
|
|
||
| To store the audio file, create a result variable (in the example below, audio is given as the result name). | ||
| In this example, the syntax for the audio file URL is: `@results.audio.url` | ||
|
|
||
| <img width="466" height="358" alt="Screenshot 2025-10-08 at 2 50 16 AM" src="https://github.com/user-attachments/assets/bb95a68f-3a46-41d0-8528-a49088036a24" /> | ||
|
|
||
|
|
||
|
|
||
| ### 3. has video | ||
|
|
||
| Accepts input if the response is a video file (mp4 video files). | ||
|
|
||
| To store the video file, create a result variable (in the example below, video is given as the result name). | ||
| In this example, the syntax for the video file URL is: `@results.video.url` | ||
|
|
||
| <img width="467" height="357" alt="Screenshot 2025-10-08 at 2 51 53 AM" src="https://github.com/user-attachments/assets/208e9e2f-f04a-4ad3-bb6d-88303551c7ec" /> | ||
|
|
||
|
|
||
|
|
||
| ### 4. has image | ||
|
|
||
| Accepts input if the response is an image file (jpeg, png). | ||
|
|
||
| To store the image file, create a result variable (in the example below, image is given as the result name). | ||
| In this example, the syntax for the image file URL is: `@results.image.url` | ||
|
|
||
| <img width="464" height="357" alt="Screenshot 2025-10-08 at 2 52 39 AM" src="https://github.com/user-attachments/assets/39996382-6ee8-4049-88fd-b4c79180aeed" /> | ||
|
|
||
|
|
||
|
|
||
| ### 5. has file | ||
|
|
||
| Accepts input if the response is a document (pdf, doc). | ||
|
|
||
| To store the file, create a result variable (in the example below, file is given as the result name). | ||
| In this example, the syntax for the file URL is: `@results.file.url` | ||
|
|
||
| <img width="464" height="357" alt="Screenshot 2025-10-08 at 2 53 44 AM" src="https://github.com/user-attachments/assets/64c2ac06-1499-4492-b5b4-47d08d663ffa" /> | ||
|
|
||
| --- | ||
|
|
@@ -180,15 +247,18 @@ Accepts input if the response is a document (pdf, doc). | |
| ## Location | ||
|
|
||
| ### 1. has location | ||
| Accepts input if the response is a location | ||
|
|
||
| Accepts input if the response is a location. | ||
|
|
||
| <img width="466" height="358" alt="Screenshot 2025-10-08 at 2 54 52 AM" src="https://github.com/user-attachments/assets/43e8c76a-3583-4fee-84e4-6645a13c6ab1" /> | ||
|
|
||
|
|
||
|
|
||
| - User can get the value of location with Has Location in contact response and save it in the form of longitude and latitude. | ||
| - In the given example, result name is given as ‘location’. | ||
| - Now user can save or use the location details received in longitude and latitude forms in the flow like other variables. | ||
| - The location is saved as longitude and latitude. | ||
| - In the example below, location is given as the result name. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should be "above" and not "below" as the screenshot is above. |
||
| - You can reuse these values elsewhere in the flow. In this example, the syntax is: | ||
| - for the longitude: `@results.location.longitude` | ||
| - for the latitude: `@results.location.latitude` | ||
|
|
||
| <img width="465" height="355" alt="Screenshot 2025-10-08 at 2 56 30 AM" src="https://github.com/user-attachments/assets/beb9c392-ab61-4cc0-bc99-9fb700a6e811" /> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can remove this screenshot, because generally the longitude and latitude values are not referenced to surface to the user (like here, where it is added in a send message node). |
||
|
|
||
|
|
@@ -202,65 +272,42 @@ To get the detailed location details using webhook - refer to this [document](ht | |
| This option is used to validate a response against a specific format using a regular expression (regex). | ||
| It is especially useful when inputs need to follow strict patterns, such as dates, ID numbers, or custom codes. | ||
|
|
||
| Example: To ensure a date of birth is entered in the format DD/MM/YYYY, use the following regex: | ||
| ^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/[0-9]{4}$ | ||
| Example: to ensure a date of birth is entered in the format DD/MM/YYYY, use the following regex: | ||
| `^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/[0-9]{4}$` | ||
|
|
||
| Valid responses include 05/09/1995 and 31/12/2000. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right now it reads like only |
||
|
|
||
| Valid responses include - 05/09/1995, 31/12/2000 | ||
| In the example below, this is categorized as "correct format" and saved under the result name dob, so it can be reused later as `@results.dob`. | ||
|
|
||
| <img width="470" height="362" alt="Screenshot 2025-10-08 at 2 59 20 AM" src="https://github.com/user-attachments/assets/6a8303a7-8d83-40fd-9339-fe41c4646a6e" /> | ||
|
|
||
| --- | ||
|
|
||
| ## Handling no response | ||
|
|
||
| If a contact does not respond, you can configure the flow to continue after a set wait time. | ||
| Example: Send a reminder after 2 hours of inactivity. | ||
|
|
||
| Click on ‘Continue if there is no response for’ and choose the time gap after which a nudge will be sent to the end user. | ||
| In the example given below, a reminder is sent to the end user every hour (up to 3 times) if no response is received. | ||
|
|
||
| <img width="465" height="327" alt="Screenshot 2025-10-08 at 3 01 07 AM" src="https://github.com/user-attachments/assets/00e93da2-d113-4e23-8e20-512a3c289b71" /> | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| If a contact does not respond, you can configure the flow to continue after a set wait time, instead of waiting forever. | ||
|
|
||
| Tick **Continue when there is no response for** and choose the time gap after which the flow should move on. The screenshot below shows a single Wait for Response node configured to wait 1 hour before continuing down the **No Response** branch. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There isn't a screenshot attached below, although the text refers to one. Please check and update this accordingly. Additionally, it would be helpful to explain why simply connecting a |
||
|
|
||
| To send a reminder before giving up — for example, a reminder every hour, up to 3 times — chain **Send the contact a message** and **Wait for Response** nodes together: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the not the most optimal way to do this, as this significantly increases the number of nodes in the flow, and this is not scalable too.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also worth explicitly calling out that configuring reminder nudges depends on two key aspects:
The most appropriate configuration approach depends on the answers to the above. |
||
|
|
||
| 1. Connect the No Response branch to a **Send the contact a message** node with your reminder text. | ||
| 2. Connect that message node to another **Wait for Response** node with its own timer. | ||
| 3. For each additional reminder, repeat steps 1 and 2, connecting the new pair to the previous **Wait for Response** node's No Response branch — three pairs chained this way send three reminders. | ||
| 4. Connect the last **Wait for Response** node's No Response branch to wherever the flow should continue once all reminders have been sent. | ||
|
|
||
| There's no automatic counter: the number of reminders is simply how many Send message → Wait for Response pairs you connect. See "The no-response branch in your flow" below for what the No Response branch looks like in the flow editor. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as my comment on line 292 A counter can be created, which simplifies the logic of doing this - compared to the logic currently added here in this line. |
||
|
|
||
| <img width="465" height="327" alt="Screenshot 2025-10-08 at 3 01 07 AM" src="https://github.com/user-attachments/assets/00e93da2-d113-4e23-8e20-512a3c289b71" /> | ||
|
|
||
| --- | ||
|
|
||
| ## The no-response branch in your flow | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should come before you add the approach for sending reminder nudges. |
||
|
|
||
| Once you save a Wait for Response node with "Continue when there is no response for" ticked, an extra **No Response** branch appears in the flow editor alongside your other criteria branches. You connect the rest of your flow to it the same way you would any other branch: drag from its red circle to the next node. | ||
|
|
||
| In the example below, the node has one criteria branch (**Yes**), an automatic **Other** branch for replies that do not match any criteria, and the **No Response** branch for when the contact does not reply in time. | ||
|
|
||
|  | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The screenshot is cut. Please check and add a complete screenshot of the node, highlighting the pathway/branch you are referring to. |
||
|
|
||
| Note: **Other** and **No Response** are not the same thing. **Other** fires when the contact replies with something that does not match any of your criteria. **No Response** fires only when the contact does not reply at all within the time you set. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Result name does not become the result variable. Result name is the name of the variable that stores the result, (the value in the result, in this case being the contact's reply).