WordPress / five-for-the-future

Plugins and themes for the Five for the Future subsite
https://wordpress.org/five-for-the-future/
54 stars 25 forks source link

Tracking Contributions: HelpScout #177

Open dd32 opened 2 years ago

dd32 commented 2 years ago

A number of teams use HelpScout for communications with people outside of WordPress.org - Plugin and Theme reviews, GDPR/DPO tasks, Jobs.wordpress.net, etc.

Using the HelpScout API we could track these contributions to the project and add an activity item detailing it.

For privacy reasons, I assume this would need to be done either weekly or monthly, but may help others realise just how much work these members put in. Likewise, it wouldn't be wise to list the inboxes worked on, although for some, it might be obvious.

The activity item would be something like:

📧 Has made 1,234 email replies in HelpScout this month.

I'll be reaching out to the recently active HelpScout users with this idea

dd32 commented 2 years ago

One thing that could be seen as 'bad' is that some users might only respond to one or two emails a month, which might seem off-putting..

kafleg commented 2 years ago

One thing that could be seen as 'bad' is that some users might only respond to one or two emails a month, which might seem off-putting..

What about only displaying that are more than 10 emails per month?

dd32 commented 2 years ago

What about only displaying that are more than 10 emails per month?

I was hoping someone else would suggest that :)

Another option would be calling things "actions" which could be a reply, closing an email, marking it as spam, etc.

📧 Has performed 2,345 actions in HelpScout this month.

kafleg commented 2 years ago

And this is a great idea to display in the profile activity.

If privacy can be an issue(for specific users) then we can give the option for them to show hide this activity? As email is quite personal and sometimes we reply on the behalf of the team as well.

But, i don't have any privacy issues showing HelpScout activity in my profile.

And yes, Has performed 2,345 actions in HelpScout this month. is the best sentence.

dd32 commented 2 years ago

If privacy can be an issue(for specific users) then we can give the option for them to show hide this activity?

I'm thinking this would be opt-in as such anyway, as their HelpScout email would need to match the WordPress.org account email address. (edit: Or add their WordPress.org email address in the Alternate Emails section, or possible explicit opt-in by adding blah@chat.wordpress.org to the Alternative emails, if it needs to be explicit)

But, i don't have any privacy issues showing HelpScout activity in my profile.

I don't either, but as most inboxes replies are not signed by an individual, I can see that some people may not want others to know that they're the one who is replying to all emails to a specific inbox. ie. "Oh Joe must be replying to the Password Reset queue! He's the one who told me I can't have my account back! I'll go talk to him at his workplace".

kafleg commented 2 years ago

Yes, I usually signed when replies are safe. :D

But adding activity in the profile is nice though and +1 from my side.

iandunn commented 2 years ago

💯 for this idea

A per-week digest feels more meaningful to me than a per-month one. That amount of time is small enough to reason about, but big enough to not make the activity stream too noisy. That also lines up w/ 5ftF pledges, since those are based around a week timeframe.

If the number is 0 for a week, then we just wouldn't add a message at all, which is consistent with how other activity works.

The privacy issues seem like kind of a stretch to me. I'd probably make that an "add it if we need it" iteration, rather than a v1 thing. In reality it might just need a hardcoded list of < 5 users, rather than something automated (if it needs anything at all). If we get it for free due to the nature of matching email addresses between the systems, though, that WFM.

Ipstenu commented 2 years ago

Per week could easily be:

X has replied to ~50 emails this week in HelpScout

And then do the same kind of round numbers we do for counting plugin usage.

I love this idea. Bringing a light to the background but needed work is very important!

iandunn commented 2 years ago

One thing that's important to remember is that we have mailboxes in 2 different HS accounts, so this should track them both.

courtneyr-dev commented 2 years ago

Noting LearnWP/ Training uses HelpScout

dd32 commented 2 years ago

The privacy issues seem like kind of a stretch to me

Given no one has come back with any, I'm fine to skip it! That was what I really wanted to hear, but had to verify it.


I think we all agree that per-week would be best, great!

I suggest we have a once-a-week job around Sunday 23:50-Monday 00:15 UTC, just have it collate the stats for the helpscouts for the last DAY_IN_SECONDS. That'll mean Monday morning UTC it'll have the activity items posted for the previous week (Which is ~Monday 00:00 -> Sunday 23:59 UTC).

And then do the same kind of round numbers we do for counting plugin usage.

I'm not sure we need to worry about that specifically, Do we really want <10, ~10, ~20, ..., ~100 as the groups? It seems easier to just state the number, but maybe for only >5? Under that it's either has been active or maybe we just go with the exact numbers and be okay with 1. Just because I've only commented on one core ticket this week, it doesn't mean someone who commented on 10 spent more work doing so.

is that we have mailboxes in 2 different HS accounts

Easy done. I've only got an API App setup on one of them right now, but there's nothing that'll prevent adding it to the other, and having it use the same APIs.

Since HelpScout requires unique email addresses over all HelpScouts (ie. I can't have my@email.com as the login for both HS's), there'll have to be some action from everyone to allow us to properly link users to dotorg profiles, The before-mentioned alternative emails might work, but I'm not sure if I'll be able to add my dotorg email as an alt to both HS's....

X has replied to ~50 emails this week in HelpScout

@Ipstenu Since you mentioned replies, what's your thoughts on "actions" - all those emails you're forced to mark as spam, etc.


Maybe I should pull the stats from each HS instance, on emails sent / actions taken per user (if I can), and go from there.. we can then look at the last weeks worth of datas and see what would be the best way to display it.

timiwahalahti commented 2 years ago

Love this idea, especially if it counts also actions! For example, we at Community Team do receive a lot of spam and usually, it's the newer deputies in our team closing those as they get to knot with the work by triaging HelpScout.

iandunn commented 2 years ago

All that sounds great. Showing the exact number seems good to me, but I don't feel strongly.

dd32 commented 1 year ago

Although it's been awhile, I've got HelpScout data (WordPress & Foundation) being tracked in WordPress.org stats now.

In order to make it link up for a bunch of HS accounts I had to add Slack email addresses to some profiles as the Alternate Email, ie. dd32@chat.wordpress.org (or dd32+wporg@chat.wordpress.org...) due to HelpScouts limited features around multiple accounts.

HelpScout unfortunately doesn't record statistics about spamming emails, nor about moving emails, or adding notes, or doing anything other than replying. For that reason, I've added a webhook that gets those events and records the data on the WordPress.org side. See https://github.com/WordPress/wordpress.org/commit/c23f4b34cb86caa9b5a0cc08a88ca4acce279dfb

Although I've got it recording replies & total actions right now, it's clear that replies are a poor statistic for contributions. Breaking it down via email inbox also doesn't work (for a few reasons).

I think the best route forward will be to record a profile event every Monday morning for the previous 7 days (Monday 00:00:00 => Sunday 23:59:59), rather than daily.

Something generic like:

X has worked on 55 emails this past week in HelpScout.

"worked on" implies they did something (which might be Spamming, moving, adding notes, replied, closed, etc) even if they didn't have to reply to it.
For some contributors, that's the difference between 2-3 replies per week and dozens, as when checking the inbox it's not uncommon to go through and mark everything as spam in every other inbox too (and there's a lot of spam).

Originally I had concerns around privacy, but if it's an aggregate number across two HelpScout instances and dozens of mailboxes per week, I have much less concern about it, to the point that I believe it's not at all an issue. There's many reasons why someone would have email activity and most will never know why, so there's no issue of someone being able to say "Oh Such and such sent 10 emails this week, they must have been the one to reply to this email thread that I'm unhappy with"

I've imported historical data for replies since we started using HelpScout, but lack the spam/move/note action data, so I'll backfill some profile events for future contribution tracking, but only those going forward from now will be a true reflection of the effort put into the email queues.

Ipstenu commented 1 year ago

I have no idea why I never got notified about that other ask for actions....

@dd32 - I would think "X has closed XXX tickets as spam" and then for things like the bounce emails where they get closed without comment (since the action is "find the plugins, close plugins, close email") maybe ... "X has resolved XXX tickets." ? Or leaving it off and coming back later :D

dd32 commented 1 year ago

@Ipstenu I was trying to avoid splitting up all the individual actions (Marking as spam, adding notes, marking as closed, moving to a different inbox, replying, creating a new outgoing email, etc), as it makes it much more complex for the collection side of things and doesn't necessarily benefit the contribution history to know the specific action the user was performing.

Grouping all actions together does have some downsides, as someone who sends 20 email replies arguably has put more effort in than someone closing 20 spam emails.. Perhaps something like X has sent XXX emails and performed actions on XXX others?

Ipstenu commented 1 year ago

@dd32 works for me :)