Skip to content
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

[Improvement] -Add key info to Concierge to improve the New Expensify customer support experience #48529

Open
VictoriaExpensify opened this issue Sep 4, 2024 · 65 comments
Assignees
Labels
AutoAssignerNewDotQuality Used to assign quality issues to engineers Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Internal Requires API changes or must be handled by Expensify staff

Comments

@VictoriaExpensify
Copy link
Contributor

VictoriaExpensify commented Sep 4, 2024

Proposal
Include thread and task details when a customer reaches out to Concierge from a threaded message

Problem
As discussed here and here, customers can now reach out to Concierge in task threads; however, Concierge does not have visibility of the tasks the user is writing in from. This means that Concierge lacks the context needed to support the customer; this is resulting in an awkard customer experience because Concierge needs to get clarification on details that the customer would expect us to be able to see.

Solution
When a customer reaches out to Concierge within a thread, make sure the responding agent has visibility of the information they need to assist that customer. This includes:

  • Showing details of the parent thread and header the customer is reaching out from
  • Show reactions to messages (e.g. if a customer adds a 👍 to a message, ensure this is shown in Concierge)

Design doc (Detailed portion currently in review)

@VictoriaExpensify VictoriaExpensify changed the title [Improvement] - [Improvement] - Include thread and task details when a customer reaches out to Concierge from a threaded message Sep 4, 2024
@VictoriaExpensify VictoriaExpensify self-assigned this Sep 5, 2024
@VictoriaExpensify VictoriaExpensify added the Bug Something is broken. Auto assigns a BugZero manager. label Sep 5, 2024
Copy link

melvin-bot bot commented Sep 5, 2024

Current assignee @VictoriaExpensify is eligible for the Bug assigner, not assigning anyone new.

@melvin-bot melvin-bot bot added the Daily KSv2 label Sep 5, 2024
@anmurali anmurali changed the title [Improvement] - Include thread and task details when a customer reaches out to Concierge from a threaded message [Improvement] - Include thread, task and emoji details when a customer reaches out to Concierge on New Dot Sep 7, 2024
@melvin-bot melvin-bot bot added the Overdue label Sep 9, 2024
@VictoriaExpensify
Copy link
Contributor Author

VictoriaExpensify commented Sep 9, 2024

Proposal taken to WN - plenty of support for this and no pushback - https://expensify.slack.com/archives/CC7NECV4L/p1725492990710679

Looking for an engineer

@melvin-bot melvin-bot bot removed the Overdue label Sep 9, 2024
@VictoriaExpensify VictoriaExpensify added Internal Requires API changes or must be handled by Expensify staff Hot Pick Ready for an engineer to pick up and run with labels Sep 9, 2024
@VictoriaExpensify
Copy link
Contributor Author

Ok this is actually going to go through a pre-design. Will start drafting this today

@VictoriaExpensify
Copy link
Contributor Author

Update Sept 11:
Pre-design is being drafted with this and will be posted in Concierge Development later in the week

@VictoriaExpensify
Copy link
Contributor Author

@melvin-bot melvin-bot bot added the Overdue label Sep 16, 2024
Copy link

melvin-bot bot commented Sep 16, 2024

@VictoriaExpensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

@VictoriaExpensify
Copy link
Contributor Author

Pre-design has been wrapped up and I will start work finding an engineer to help implement

@melvin-bot melvin-bot bot removed the Overdue label Sep 18, 2024
@muttmuure
Copy link
Contributor

Is this ready for the label?

@muttmuure muttmuure moved this to MEDIUM in [#whatsnext] #quality Sep 18, 2024
Copy link

melvin-bot bot commented Sep 18, 2024

@VictoriaExpensify this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Sep 20, 2024
@VictoriaExpensify
Copy link
Contributor Author

VictoriaExpensify commented Sep 23, 2024

As discussed in the Pre-Design, this is what needs to be included in Concierge:

1. Onboarding tasks checklist when the customer replies to Concierge
This refers to the onboarding checklist that the customer sees in the New Expensify chat with Concierge:

image
This is not currently shown in Concierge:
image

The list should show the tasks a customer has completed, either through a check or a strikethrough - whichever solution is most simple to implement

2. The parent thread and header when the customer summons Concierge from within an onboarding task thread

  • When a customer starts a new thread, in Concierge we need to show the details of the message the customer is responding to

  • For example, this is the parent thread https://www.expensify.com/concierge/#/chat/20623863 with Concierge
    I've responded to the Meet your setup specialist task, starting a new thread and a new concierge chat

  • The new chat that was started in NewDot looks like this:
    image

  • should look something like this:
    image

3. Reference the main thread chat within the sub thread chat when a customer starts a new chat by replying in thread

  • When a customer starts a new thread, which will automatically create a new Concierge chat, the parent thread should show a link to the chat created from the new thread
  • Likewise, the chat created from the new thread should show a link to the parent thread
  • This would look similar to what we use today when new people are cc'd into a response (see screenshot)

image

For example, https://www.expensify.com/concierge/#/chat/20623863 is the main Concierge chat thread for [email protected]. This user replied in thread and a new chat was created https://www.expensify.com/concierge/#/chat/20623951

The new/sub chat thread (https://www.expensify.com/concierge/#/chat/20623951) should reference the original/main chat thread (https://www.expensify.com/concierge/#/chat/20623863) and vice-versa

4. Show reactions to Concierge messages
At the moment, if a customer reacts to a Concierge message with an emoji, Concierge does not see this or get notified.

  • Emoji reactions should be sent to Concierge as a new message, along with the context of the message the customer is reacting to (because to may not be the most recent)
  • If the chat is closed, the emoji reaction should trigger the chat to be reopened

@melvin-bot melvin-bot bot removed the Overdue label Sep 23, 2024
@VictoriaExpensify VictoriaExpensify added the AutoAssignerNewDotQuality Used to assign quality issues to engineers label Sep 23, 2024
Copy link

melvin-bot bot commented Sep 23, 2024

Triggered auto assignment to @marcaaron (AutoAssignerNewDotQuality)

@melvin-bot melvin-bot bot added the Weekly KSv2 label Sep 23, 2024
@VictoriaExpensify
Copy link
Contributor Author

Chatted to @marcaaron - he's about to go OOO so isn't going to be able to get to this for several weeks. Adding the auto-assigner again

@VictoriaExpensify
Copy link
Contributor Author

In progress, not OD

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Nov 4, 2024
@VictoriaExpensify
Copy link
Contributor Author

As above ^^

@melvin-bot melvin-bot bot removed the Overdue label Nov 11, 2024
@JmillsExpensify
Copy link

I have read and reviewed this Design Doc!

@melvin-bot melvin-bot bot added the Overdue label Nov 13, 2024
@VictoriaExpensify
Copy link
Contributor Author

Not overdue

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Nov 13, 2024
@VictoriaExpensify
Copy link
Contributor Author

VictoriaExpensify commented Nov 18, 2024

Not Overdue, @chiragsalian is making solid progress:

Complete:

  • [PHP] Create method syncReportResponsesToChatBot in ChatBot Utils #440661
  • [Auth] Add a new auth command - GetReportParentID #440664
  • [PHP] Update createChatbotInputFromReportComment to post parent/child notes #440676

From a responder perspective, we are starting to see these improvements which is helping to improve our interactions:
image

In progress:

  • [Auth] Update OpenReport auth to share Concierge threads with Concierge #440663
  • [Auth] Updating addEmojiReaction to identify user reactions to Concierge responses #440677
  • [PHP] Update addEmojiReaction to post a note for user reaction #440678

On hold:
The following are on hold as the Try New Expensify button has recently been added to product and we need to confirm the new behaviour/routing with that button:

  • [Auth][HOLD] New NVP recentlyUsedApp #440679
  • [HOLD][PHP] Set supporting source when support in oldDot is clicked #440681
  • [HOLD] [PHP] Set chatInput supporting source for incoming user messages #440715
  • [HOLD] [PHP] Present the user with a whisper message indicating the focus of support #440722
  • [HOLD] [Web] Display recentlyUsedApp in user info and allow it to be modified by agents to better support their customers #440723
  • [HOLD] [PHP] New API endpoint ChatBot_User_SetRecentlyUsedApp #440724

I will post a detailed update to #retain tomorrow

@melvin-bot melvin-bot bot removed the Overdue label Nov 18, 2024
@VictoriaExpensify
Copy link
Contributor Author

@chiragsalian I will start playing around with the "Try New Expensify" button tomorrow and get some logs and NVP behaviour for you

@melvin-bot melvin-bot bot added the Overdue label Nov 20, 2024
Copy link

melvin-bot bot commented Nov 22, 2024

@chiragsalian, @VictoriaExpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Copy link

melvin-bot bot commented Nov 26, 2024

@chiragsalian, @VictoriaExpensify 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

@chiragsalian
Copy link
Contributor

Not overdue, finished all the pieces. The last one got merged today and should go live end of this week or early next week and then we can close out this issue.

@melvin-bot melvin-bot bot removed the Overdue label Nov 27, 2024
@VictoriaExpensify
Copy link
Contributor Author

VictoriaExpensify commented Dec 2, 2024

Ok so let's run through the changes that have been made here:

1. Showing the Onboarding tasks checklist when the customer sends a reply to the Concierge DM (discussion) 👀

I can't test this because I have a bug which leads to onboarding tasks not being created (posted here), but I have seen this live in Concierge. I will check again tomorrow.

This change was not retroactive so I can't use an existing account to check this

2. Showing details of the threaded message the customer is replying to in the Concierge DM (discussion) - parent chat view

When I started a thread from a task, a note was added to my main Concierge chat with a link to the new threaded chat:
image

The threaded chat also contains a link to the main Concierge chat:
image

Confirmed these links routed to the correct chats 👍

3. Reference the main Concierge Chat when the customer starts a new thread in New Expensify (discussion) - child chat view

When a customer responds to Concierge in thread, a new Concierge chat is created and this chat is now referenced in the main Concierge chat:
image

image

The newly created chat also references the main chat:
image

Confirmed these links routed to the correct chats 👍

4. Show reactions to Concierge messages (discussion1, discussion2)

I think this is the final piece you're working on, is that right @chiragsalian ?

5. Add a new identifier to differentiate if a user is writing about a query with oldDot or newDot (discussion)

_Solution:
Create another NVP, we’ll call this “recentlyUsedApp”.
This NVP:
Is set to “oldDot”,

  • When the user logs into Expensify Classic
  • When the user clicks on Support->Concierge in Expensify Classic_

Testing with [email protected] which is predominantly used with Classic:

  • Signed into Classic
  • Reached out to Concierge via Support > Concierge (which redirects me to New Expensify):
    image

This should show that the user is Classic so it isn't working as expected. @chiragsalian before I go ahead with more testing for the NVP, this change should be in place now, correct?

@melvin-bot melvin-bot bot added the Overdue label Dec 4, 2024
@VictoriaExpensify
Copy link
Contributor Author

I need to do some more testing on the NVPs, will provide further updates soon

@melvin-bot melvin-bot bot removed the Overdue label Dec 5, 2024
@twisterdotcom twisterdotcom removed the Hot Pick Ready for an engineer to pick up and run with label Dec 6, 2024
@twisterdotcom
Copy link
Contributor

twisterdotcom commented Dec 6, 2024

I am removing hot pick from any issues with an internal engineer assigned so other engineers can know it's unavailable/taken.

@melvin-bot melvin-bot bot added the Overdue label Dec 9, 2024
@VictoriaExpensify
Copy link
Contributor Author

Thanks Ted

@melvin-bot melvin-bot bot removed the Overdue label Dec 9, 2024
@anmurali
Copy link

anmurali commented Dec 9, 2024

@VictoriaExpensify - is there an update on the testing?

@VictoriaExpensify
Copy link
Contributor Author

Yeah, there are issues with the NVP for existing Classic users - it only displays NVP: NONE and this doesn't update when switching between New and Classic. Testing details here https://docs.google.com/document/d/1rFUHVSAHWCiMnQJ5x2IYjZiNDc5CSd54bIn-SSCI8EI/edit?tab=t.0

More info to come

@VictoriaExpensify
Copy link
Contributor Author

VictoriaExpensify commented Dec 12, 2024

The NVP seems to update well when the "Try New Expensify" button is used, so that's a win. But if someone signs into New Expensify directly, it is inaccurate.

Chatting to Chirag about this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AutoAssignerNewDotQuality Used to assign quality issues to engineers Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Internal Requires API changes or must be handled by Expensify staff
Projects
Status: Support (HIGH)
Development

No branches or pull requests