Bulk add to Group


(Robin Ward) #1

Here’s a new feature some people might find userful: You can now bulk add people by email address or username to a group. Simply go to Groups > Bulk Add to Group in the admin section:

This is useful in the case where you have many existing users who need to be added to a new group. Remember: if you are adding new users to the site, our invite feature allows you to import a group at that time. If the users don’t exist that is the preferable route to take.

Is there a way to require access codes on sign-up or password-protect categories?
Granting Manual Badges
Invitations should be compatible with SSO
Bulk add to groups with new /groups setup
(Jeff Atwood) #2

One thing that is worth mentioning here: we already support adding people to a group automatically based on their email address. So if you have an @enron.com email you will automatically be put in the “enron_staff” group based on your email.

(Jody Gates) #3

How timely, I’m needing this feature right now… however I don’t see this in my Admin section yet. Is it not live on production servers yet?

(Daniela) #4

I see it in admin section (1.5.0.beta4).

(Robin Ward) #5

I’ve just deployed the latest version of Discourse to you. You should have the feature now!

(Jody Gates) #6

Now THAT is Customer Service! Thanks! :grinning:

(Allen - Watchman Monitoring) #7

I can’t wait for this feature to also add a given Category to the users’ watch-list

(Jody Gates) #8

What happens if I do a bulk add with some email addresses that don’t have an account on our forum (yet)? Will that email just be added quietly and grant them permission when they create a login with that email address?


I would also like to know this.

(Robin Ward) #10

No, if you supply users that are not in the database they will be ignored.

(Jeff Atwood) #11

There is a different process for adding people that do not yet have accounts – see

(Rafael dos Santos Silva) #12

What about adding a bulk remove?

In my case, user can move between groups everyday, and some groups can see private categories. I need to sync those groups with Discourse, and today this is done by writing directly to the database.

A group sync is an bulk add plus remove everyone who’s on the group who aren’t on this last add:

  1. Generate user list (A)
  2. Bulk add
  3. List members (B)
  4. Subtract A from B ©
  5. Remove C from group

What you guys think?

(Rafael dos Santos Silva) #13

Would this change be welcome as a PR?

(Tobias Eigen) #14

Just using this feature and noticing a few things.

When bulk adding to groups, I would appreciate being notified of which email addresses were ignored because they were not already associated with an existing user, perhaps via PM. I think other features do this, like the bulk invite?

YES! This would be a great addition.

I like this idea as well and would probably use it. In my community we use another system for managing contacts and it would be useful to be able to export a list from there to import to discourse to simply bulk fix a group and be absolutely rock hard certain who is in it.

(Rafael dos Santos Silva) #15

I did implement this in a patch and after using for a few weeks I realized it was a bad idea.

I was using this to sync a large amount of users to groups (think 10k users each group) but since the number was so high I needed to paginate my syncs, and it grew a bit.

I took a step back and rewrote everything in a nice script that reads from a database using sequel and writes to Discourse with the api, adding and removing users everyday at midnight. Put it on Jenkins and never looked back.

How to Create a Script to "Bulk Remove" from a Group?
(Tobias Eigen) #16

Yeah that all makes sense and we do the same, tho our numbers are much smaller. But there are frequent situations when we have to create an ad hoc group, and this functionality would be helpful.

(Jeff Atwood) #17