Repository navigation
Add the join-workspace onboarding intent and Concierge follow up tasks - #99833
Conversation
…ping the work email
…ng the workspace list
|
I will be OOO tomorrow (Wednesday). I will have a look when I get back ... In the meantime, if @hungvu193 has time to review, that would be great |
|
Sure I'll be on it today |
|
All yours @iwiznia |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 carlosmiceli has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/carlosmiceli in version: 9.5.6-0 🚀
|
|
A help site update is needed. I opened Docs updates for E/A#99833 Add Join my company workspace option to help article as a draft. Why: This PR adds a new Join my company workspace onboarding option. It isn't behind a beta, so all new users see it. Change: Join Your Company's Workspace only described joining through an admin invite. I added one paragraph after the invite steps. It says users can select Join my company workspace during sign-up, verify their work email, and then click Join now or Ask to join. I confirmed What do you want to do today? and Join my company workspace in the live web app. @carlosmiceli, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
Deploy Blocker #99833 was identified to be related to this PR. |
|
Deploy Blocker #103530 was identified to be related to this PR. |
|
Deploy Blocker #103545 was identified to be related to this PR. |
|
Hi @carlosmiceli. Tests 3 and 5 passed by QA team. bandicam.2026-10-09.14-47-26-215.1.mp499833w-4.mp4Tests 2 and 4 require the email to be received at a private-domain email. But the email is not sent to a temporary email. It's a blocker. 99833w-1.mp4For Test 1, we don't have a domain that already has workspaces to join. Could you verify tests 1, 2, and 4 internally? |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to staging by https://github.com/carlosmiceli in version: 9.5.7-0 🚀
|
|
No new docs PR is needed, and the existing one should be held: Revert join-workspace onboarding changes removed this feature from
I recommend you put the docs PR on hold until the re-land reaches production, or close it. Once the re-land merges, ask me on that PR and I'll check whether the docs edit still matches. |
Explanation of Change
Adds a Join my company workspace onboarding intent. Public-email accounts add a work email, unvalidated private-domain accounts validate their email, and validated private-domain accounts see joinable workspaces.
When a user skips a step, Concierge creates the matching Add your work email, Validate your email, or Join your company's workspace task. Opening and completing a task resumes the sequence. When no workspace is available, Concierge posts an explanation instead of another task.
Depends on:
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/672346
PROPOSAL:
Tests
Test 1 - Complete joining a workspace during onboarding
Screen.Recording.2026-09-17.at.10.43.36.AM.mov
Test 2 - Start from the Add your work email Concierge task
Screen.Recording.2026-09-17.at.10.45.07.AM.mov
Test 3 - Start from the Validate your email Concierge task
Screen.Recording.2026-09-17.at.10.46.26.AM.mov
Test 4 - Start from the Join your company's workspace Concierge task
Screen.Recording.2026-09-17.at.11.24.22.AM.mov
Test 5 - Validated public-email account takeover protection
Screen.Recording.2026-09-17.at.11.25.36.AM.mov
Offline tests
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionDesignlabel and/or tagged@Expensify/designmainwas merged after review, I tested again according to the Test stepsScreenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari