WhatsApp Bot - Complete Overview
High-level view of all conversation paths in the WhatsApp bot.
Complete Flow Diagram
flowchart LR
START([User sends message]) --> BOT_ENABLED{Bot Enabled?}
BOT_ENABLED -->|No| WHITELIST{Whitelisted?}
WHITELIST -->|No| MAINTENANCE[Send maintenance message]
WHITELIST -->|Yes| CONTINUE
BOT_ENABLED -->|Yes| CONTINUE
CONTINUE --> NEW_USER{New User?}
NEW_USER -->|Yes| LANG[Language Selection]
NEW_USER -->|No| RETURNING{Returning User?}
RETURNING -->|Fresh conversation| KEYWORD_CHECK{Keyword detected?}
KEYWORD_CHECK -->|Yes| KEYWORD_ACTION[Handle keyword action]
KEYWORD_CHECK -->|No| MAIN_MENU
RETURNING -->|Active conversation| PROCESS_STEP[Process current step]
LANG --> LANG_CONFIRM[Confirm Language]
LANG_CONFIRM -->|Confirmed| MAIN_MENU[Main Menu]
LANG_CONFIRM -->|Change| LANG
MAIN_MENU --> OPTION{User Selection}
OPTION -->|1| DOCTOR[Talk to Doctor]
OPTION -->|2| LAB[Order Lab Exam]
OPTION -->|3| PHARMACY[Order Pharmacy]
OPTION -->|4| PRODUCT[Purchase Pack]
OPTION -->|5| TUTORIAL[Health Tips]
OPTION -->|6| CUSTOMER_SERVICE[Customer Service]
OPTION -->|7| TRACK_LAB[Track Lab Results]
OPTION -->|8| GET_RESULTS[Get Lab Results]
DOCTOR --> COMPLETED
LAB --> COMPLETED
PHARMACY --> COMPLETED
PRODUCT --> COMPLETED
TUTORIAL --> COMPLETED
CUSTOMER_SERVICE --> COMPLETED
TRACK_LAB --> COMPLETED
GET_RESULTS --> COMPLETED
KEYWORD_ACTION --> COMPLETED
subgraph COMPLETED[Completion Flow]
SKIP_GOODBYE{Skip goodbye?}
SKIP_GOODBYE -->|Yes| MARK_COMPLETE[Mark Completed]
SKIP_GOODBYE -->|No| AWAITING_CLOSURE[Awaiting Closure]
AWAITING_CLOSURE --> HOPE_MSG[Send 'Hope that helped']
HOPE_MSG --> USER_RESPONSE{User responds?}
USER_RESPONSE -->|Thanks| YOURE_WELCOME[You're welcome]
USER_RESPONSE -->|More help| MAIN_MENU
USER_RESPONSE -->|Timeout| MARK_COMPLETE
end