iachat/app/javascript/dashboard/store/modules
Tanmay Deep Sharma 61d10044a0
feat: Whatsapp embedded signup (#11612)
## Description

This PR introduces WhatsApp Embedded Signup functionality, enabling
users to connect their WhatsApp Business accounts through Meta's
streamlined OAuth flow without manual webhook configuration. This
significantly improves the user experience by automating the entire
setup process.

**Key Features:**

- Embedded signup flow using Facebook SDK and Meta's OAuth 2.0
- Automatic webhook registration and phone number configuration
- Enhanced provider selection UI with card-based design
- Real-time progress tracking during signup process
- Comprehensive error handling and user feedback


## Required Configuration

The following environment variables must be configured by administrators
before this feature can be used:
Super Admin Configuration (via
super_admin/app_config?config=whatsapp_embedded)

- `WHATSAPP_APP_ID`: The Facebook App ID for WhatsApp Business API
integration
- `WHATSAPP_CONFIGURATION_ID`: The Configuration ID for WhatsApp
Embedded Signup flow (obtained from Meta Developer Portal)
- `WHATSAPP_APP_SECRET`: The App Secret for WhatsApp Embedded Signup
flow (required for token exchange)
![Screenshot 2025-06-09 at 11 21
08 AM](https://github.com/user-attachments/assets/1615fb0d-27fc-4d9e-b193-9be7894ea93a)


## How Has This Been Tested?

#### Backend Tests (RSpec):

- Authentication validation for embedded signup endpoints
- Authorization code validation and error handling
- Missing business parameter validation
- Proper response format for configuration endpoint
- Unauthorized access prevention

#### Manual Test Cases:

- Complete embedded signup flow (happy path)
- Provider selection UI navigation
- Facebook authentication popup handling
- Error scenarios (cancelled auth, invalid business data, API failures)
- Configuration presence/absence behavior

## Related Screenshots:

![Screenshot 2025-06-09 at 7 48
18 PM](https://github.com/user-attachments/assets/34001425-df11-4d78-9424-334461e3178f)
![Screenshot 2025-06-09 at 7 48
22 PM](https://github.com/user-attachments/assets/c09f4964-3aba-4c39-9285-d1e8e37d0e33)
![Screenshot 2025-06-09 at 7 48
32 PM](https://github.com/user-attachments/assets/a34d5382-7a91-4e1c-906e-dc2d570c864a)
![Screenshot 2025-06-09 at 10 43
05 AM](https://github.com/user-attachments/assets/a15840d8-8223-4513-82e4-b08f23c95927)
![Screenshot 2025-06-09 at 10 42
56 AM](https://github.com/user-attachments/assets/8c345022-38b5-44c4-aba2-0cda81389c69)


Fixes
https://linear.app/chatwoot/issue/CW-2131/spec-for-whatsapp-cloud-channels-sign-in-with-facebook

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2025-07-14 21:37:06 -07:00
..
contacts feat: Show active Contacts (#8243) 2025-06-04 21:52:13 +05:30
conversations fix: Incorrect date parsing in matchesFilter (#11679) 2025-06-05 19:38:56 -05:00
helpCenterArticles chore: Help center improvements (#10712) 2025-01-21 13:50:01 +05:30
helpCenterCategories feat(v4): Update the help center portal design (#10296) 2024-10-23 22:09:36 -07:00
helpCenterPortals feat(v4): Update the help center portal design (#10296) 2024-10-23 22:09:36 -07:00
inboxes feat: Voice channel creation Flow (#11775) 2025-06-25 14:21:03 -07:00
notifications feat: Add unread badge to sidebar for inbox view (#10803) 2025-01-31 15:14:10 +05:30
specs feat: Voice channel creation Flow (#11775) 2025-06-25 14:21:03 -07:00
teams feat(v4): Update the report pages to show aggregate values (#10766) 2025-01-28 09:19:18 +05:30
accounts.js feat: auto resolve label option and fixes (#11541) 2025-06-04 14:53:24 +05:30
agentBots.js feat: Ability to reset api_access_token (#11565) 2025-05-29 14:42:13 +05:30
agents.js feat(v4): Update the report pages to show aggregate values (#10766) 2025-01-28 09:19:18 +05:30
attributes.js fix: Update contact details page errors (#10536) 2024-12-04 13:58:53 -08:00
auditlogs.js feat: audit logs UI (#6803) 2023-04-17 19:11:05 +05:30
auth.js fix: Prevent display_name reset when updating password (#10374) 2025-06-11 19:05:30 -04:00
automations.js feat: Update the design for automation (#10002) 2024-08-22 16:22:54 +05:30
bulkActions.js feat: Adds support for all snooze option in bulk actions (#9361) 2024-05-09 19:27:31 +05:30
campaigns.js feat(v4): Update the campaigns page design (#10371) 2024-10-31 11:57:13 +05:30
cannedResponse.js feat: Update the design for canned responses (#9903) 2024-08-07 09:43:47 -07:00
contactConversations.js feat(v4): Add new contact details screen (#10504) 2024-12-03 21:29:47 -08:00
contactLabels.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
contactNotes.js feat(v4): Add new contact details screen (#10504) 2024-12-03 21:29:47 -08:00
conversationLabels.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
conversationMetadata.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
conversationPage.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
conversationSearch.js feat: allow searching articles in omnisearch (#11558) 2025-05-28 13:50:50 +05:30
conversationStats.js fix: Fix typo in conversationStats/get (#11201) 2025-03-27 21:28:22 -07:00
conversationTypingStatus.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
conversationWatchers.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
csat.js feat: more CSAT filters (#7038) 2023-05-18 22:50:46 +05:30
customRole.js chore: Custom Roles to manage permissions [ UI ] (#9865) 2024-09-17 11:40:11 -07:00
customViews.js feat: Improve Contact list (#10522) 2024-12-02 18:23:41 -08:00
dashboardApps.js feat: Add the ability to create dashboard apps from the UI (#4924) 2022-07-08 15:55:32 +07:00
draftMessages.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
inboxAssignableAgents.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
inboxes.js feat: Whatsapp embedded signup (#11612) 2025-07-14 21:37:06 -07:00
inboxMembers.js Chore: Inbox Members API improvements (#3008) 2021-09-14 11:55:02 +05:30
integrations.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
labels.js feat: label reports overview (#11194) 2025-06-11 14:35:46 +05:30
macros.js feat: Add API module and Vuex store for Macros (#5603) 2022-10-11 22:54:17 -07:00
reports.js fix: stale report value shown if summary fetch breaks (#11270) 2025-04-15 20:18:06 +05:30
sla.js feat: add option to delete and disable edits for SLA (#9108) 2024-03-15 12:21:32 +05:30
SLAReports.js feat: Download SLA reports (#9201) 2024-04-08 20:51:34 -07:00
summaryReports.js feat: label reports overview (#11194) 2025-06-11 14:35:46 +05:30
teamMembers.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
userNotificationSettings.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
webhooks.js feat: Add event subscription option to webhooks (#4540) 2022-04-25 17:44:42 +05:30