Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Opt-in & Opt-out Flows
<h3>
<table>
<tr>
<td><b> 5 minutes read</b></td>
<td style={{ paddingLeft: '40px' }}><b>Level: Intermediate </b></td>
<td style={{ paddingLeft: '40px' }}><b>Last Updated: January 2026</b></td>
</tr>
</table>
</h3>
Comment on lines +1 to +9
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use Markdown-friendly header markup (current JSX-style style={{...}} won’t render).

GitHub Markdown doesn’t support JSX-style style={{ ... }}; it will likely render incorrectly or be stripped. Consider a Markdown table or plain text instead.

Suggested Markdown replacement
-<h3>
- <table>
-  <tr>
-    <td><b> 5 minutes read</b></td>
-    <td style={{ paddingLeft: '40px' }}><b>Level: Intermediate </b></td>
-    <td style={{ paddingLeft: '40px' }}><b>Last Updated: January 2026</b></td>
-  </tr>
-</table>
-</h3>
+**5-minute read** | **Level: Intermediate** | **Last Updated: January 2026**
+---|---|---
🤖 Prompt for AI Agents
In `@docs/4`. Product Features/03. Flows/4. Others/11. Configure Optin & Optout
preferences in Glific.md around lines 1 - 9, The header uses JSX-style markup
(the <h3> and <table> elements with style={{ ... }}) which won't render in
GitHub Markdown; replace this block by a Markdown-friendly header and table or
plain text — remove the JSX inline styles (style={{ paddingLeft: '40px' }}) and
instead use a Markdown H3 (###) and a Markdown table or simple bullet/inline
text to display "5 minutes read", "Level: Intermediate", and "Last Updated:
January 2026" so the content renders correctly in Markdown.




> ### **2 minutes read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;`Intermediate`**
# Opt-in & Opt-out Flows


**When any new beneficiary sends a message for the very first time, the beneficiary can get an Optin message to give their consent to receive the messages from the BOT. Likewise, the beneficiary also has the freedom to Optout from receiving anymore messages from a Whatsapp Chatbot.**
Expand Down Expand Up @@ -61,7 +71,13 @@ ___

![image](https://user-images.githubusercontent.com/32592458/218255946-7a630532-d781-46a1-83e7-3eaf4bd15d6b.png)

## What happens if a user has opted out and then opts in?

If a contact has previously opted out and then need opts back in

- The user needs to send the specific keyword like optin,start,hi which is associated to the flow which captures optin and saves it in update contact node.

- By sending the associated keyword that particular opt-in flow will get started, even though the contact was previously marked as invalid.
Comment on lines +74 to +80
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Tighten grammar and opt-in wording for clarity.

There are several grammatical errors and inconsistent “optin/opt-in” phrasing that reduce readability. Suggest tightening the sentences and hyphenating “opt-in/opt-out”.

Proposed edit
-If a contact has previously opted out and then need opts back in
+If a contact has previously opted out and then needs to opt back in:
 
-- The user needs to send the specific keyword like optin,start,hi which is associated to the flow which captures optin and saves it in update contact node.
+- The user needs to send a specific keyword (e.g., **optin**, **start**, **hi**) that is associated with the flow which captures opt-in and saves it in the “Update Contact” node.
 
-- By sending the associated keyword that particular opt-in flow will get started, even though the contact was previously marked as invalid.
+- Sending the associated keyword starts that opt-in flow, even if the contact was previously opted out.
🧰 Tools
🪛 LanguageTool

[grammar] ~78-~78: Ensure spelling is correct
Context: ...s associated to the flow which captures optin and saves it in update contact node. -...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In `@docs/4`. Product Features/03. Flows/4. Others/11. Configure Optin & Optout
preferences in Glific.md around lines 74 - 80, Fix grammar and normalize
opt-in/out phrasing under the "## What happens if a user has opted out and then
opts in?" section: reword sentences to be concise and grammatical, hyphenate
consistently as "opt-in" and "opt-out", change "need opts back in" to "needs to
opt back in", and clarify the two points so they read like "If a contact has
previously opted out and then needs to opt back in: 1) the contact must send the
specific keyword (for example: optin, start, hi) associated with the opt-in flow
that updates the contact; 2) sending that keyword will start the associated
opt-in flow even if the contact was previously marked invalid."

___
## Sample Opt-in Flow

Expand Down