Introduce departments for leads & users

My idea is:

Hi,

scenario: you have a company that has marketers dived into departments, each department can /edit specific leads/segments but not others.

we are considering adding new feature to Mautic core that would introduce departments. Each department would group together users (marketers), that are allowed to view and otherwise manipulate leads that are assigned to department the user is in.

On lead view there would be additional field, let’s say »Departments«, where you would specify which departments can view/manipulate the lead data.

One lead could belong to more than one department, but the user (marketer would only belong to one department).

Side notes:

This allows us to get multiple owners on one lead. I want to leave the owner functionality intact as I do not really know what side effects it brings if we suddenly change the relationship between the lead and the owner.

I would also suggest that the department functionality is opt-in feature, because this feature makes queries bigger and if the user does not really need it, why complicate the queries, so there would be a setting in Mautic allowing us to toggle functionality on/off.

Creating a view where we could add departments and users into departments and creating appropriate database schema for it, is not a problem for me.

What is a little bit unclear at this point is how much of existing Mautic core would I need to update in order to make departments work. After my research I came to the conclusion that I would generally need to adjust two types of classes: models (getEntities) and controllers.

Reference:

Mutli-owner functionality has already been suggested before, see here: < Multiple Owners for a contact > for details.

My questions for now:

Q1. Is this something Mautic team would be open to include to the core if we implement it?
Q2. Does my suggestion make sense, is my thinking about models and controllers correct or is there a hidden layer, something obvious that I have missed?

I think these groups of people would benefit from this idea:

Companies with multiple marketing departments where marketers should only see and work on leads they have been a signed to.

Why I think they would benefit from this idea:

Because at the moment you can only see all leads (administrator) and your own leads (owner). You do not want to give all people admin access and you cannot have more then one owner.

Any code or resources to support this idea:

[not for now]

Are you willing to work on this idea?:

Yes.

What skills and resources do you need to explore this further?

For now, if I can just get answers to my questions above thats a good first step, but down the line if we decide to actually go into implementation, we should probably sync. with core development team to get clear about some implementation details.

Curious to read, what others think. Any suggestions and pointers are much appreciated.

Regards, M.

4 Likes

I like the proposal. Would you (as a marketeer) also only see the campaigns/emails/templates that are “mapped” to your group/department?

If so, I would really profit in a project from this capability.

Hi,

leads, segments, emails and campaigns would be components of mautic that we would like to introduce the departments feature to.

Thanks for raising this @mzagmajster - this is a very long running feature request:

Summary idea thread: Implement roles (in addition to access levels) for users

GitHub issues relating to this topic:

2016: Finer control over a role's access to Mautic items · Issue #3097 · mautic/mautic · GitHub
2018: Grouping Users by role, so they are able to share content · Issue #6162 · mautic/mautic · GitHub
2018: Add User Groups for more granular Permission Controls... · Issue #6642 · mautic/mautic · GitHub

I think this would also really compliment the work we have going on in the resource management initiative (currently stalled waiting on developer) to organise resources by project - the two would indeed be very powerful features for the marketer in isolation but together (eg assigning a project to a department and having them inherit all the stuff within the project) would be super awesome for marketers I think.

So yes, I think this is a feature that would be great to investigate more and thank you for raising it! :sparkling_heart: :mautibot:.

We would need to be mindful as you have mentioned already about how it interacts with the Contact Owner - maybe that would be something separate to the departments having access. Access doesn’t always mean ownership, but ownership would necessitate access.

We would also need to think it through carefully as regards the permissions side of things or I can see it becoming ridiculously confusing and complex!

Side note:

It might also be relevant to raise this suggestion which could allow us to deploy something like this under a beta testing flag, so folks could choose to turn it on for a couple of minor releases before it became available by default. It’s something I proposed some time ago but we haven’t got around to doing yet. With the new plugins / composer architecture I think it is probably easier to do this nowadays.

2 Likes

Hi, thank you for your reply.

Providing this feature via existing user role feature is not sufficient for us, as it does not allow me to assign multiple roles to users (marketers).

To cover the requirement from the client, I would need to be able to add user to multiple roles and then also be able to assign multiple roles to the lead.

I will get back to you on this once I have more information, I see you are up for including it, into the core and that is the most important info for now, thank you.

Regards, M.

2 Likes

Yes, having groups (departments) which can be assigned to users definitely makes sense to me, providing we do it in a way that is intuitive and easy for the marketer to understand and use.