# Bulk Invite Users

**URL:** https://meta.discourse.org/t/bulk-invite-users/15899
**Category:** Feature
**Tags:** rfc, spec
**Created:** [May 23, 2014, 6:43am UTC](https://meta.discourse.org/t/bulk-invite-users/15899 "2014-05-23T06:43:53Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 23, 2014, 6:43am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/1 "2014-05-23T06:43:54Z")

</div>

We should have a user interface for bulk inviting users to Discourse, since it comes up so often.

Probably the best place to trigger this is from the user page, which already has an Invites area:

 ![](https://global.discourse-cdn.com/meta/original/2X/f/f8837c145f6963c7c143a90a873fe3e87fa0713a.png) 

- Add a button, “Batch Invite from File”
- File should have format explained on the page
- Format should probably be CSV, one line per user, in the format `username, Very Long Name, email@example.com` (should we support group here @sam)
- Uploading the file triggers sending invites to everyone in the file, and adding them to the invite directory on that page, same as if you had clicked the “Send an Invite” button 100, 200, 500 times and done it manually.

I am not sure if the invites support pre-staging the username (short+unique) and name (long+not-unique), but we should support it for the file upload case.

---

<div class="post-metadata">

### Author: ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)
#### Post date: [June 5, 2014, 10:27am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/2 "2014-06-05T10:27:13Z")

</div>

Sent a PR for this:

[https://github.com/discourse/discourse/pull/2415](https://github.com/discourse/discourse/pull/2415)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 11, 2014, 12:23am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/3 "2014-06-11T00:23:42Z")

</div>

One other tweak @techapj. When the panel is empty, it says:

> No invites were found.

This copy should change to include

> No invites were found.
> 
> You can send invites individually, or to larger groups by submitting [an invite file](#tag).

The invite file link should link to a permanent howto topic here on meta that describes the invite file format, how it works, and walks people through the process with screenshots.

---

<div class="post-metadata">

### Author: ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)
#### Post date: [June 12, 2014, 12:17pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/4 "2014-06-12T12:17:09Z")

</div>

This is now implemented:

[https://github.com/discourse/discourse/commit/50b3a1734f77e0e6d25287b29a186286322053e7](https://github.com/discourse/discourse/commit/50b3a1734f77e0e6d25287b29a186286322053e7)

Here’s the howto for detailed description:

> [@Sending bulk user invites](https://meta.discourse.org/t/send-bulk-invites/16468):
>
> bookmark This guide explains how to invite multiple users to your Discourse instance using a bulk invite feature. person_raising_hand Required user level: Administrator Inviting a large number of users to your Discourse instance can be time-consuming if done individually. Fortunately, Discourse offers a bulk invite feature that allows you to invite multiple users at once. This guide will walk you through the process of sending bulk invites. information_source It is not possible to in…

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 12, 2014, 9:40pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/7 "2014-06-12T21:40:03Z")

</div>

Looks great! We need to add support for two more fields in the CSV file:

- long name (non-unique, unicode user name)

- short name (unique, max 20 chars ASCII username)

Keep email as the first field, so:

```
maxwell@example.com, Maxwell P Username Jr., maxuser
sadie@example.com, Sadie Pushweather, sadiep

```

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [June 12, 2014, 9:48pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/8 "2014-06-12T21:48:31Z")

</div>

Don’t you think it’s ok to let the user decide their own long name and short name, or have this come from google etc along with their photo if they log in via that method? Or am I missing something?

More urgent (to me) would be to [have invites recognized even if the person ignores the invite link and logs in directly](https://meta.discourse.org/t/invite-not-recognized-if-user-joins-without-clicking-link-in-invite-email/15817), and to have the ability to add people to groups as they are bulk invited.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 12, 2014, 10:13pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/9 "2014-06-12T22:13:05Z")

</div>

This pre-fills the information for them. If you don’t want it, don’t add those fields to that line of the CSV file. Simple.

Groups will be added later, post V1.0 probably.

---

<div class="post-metadata">

### Author: ![precise54](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/precise54/32/104154_2.png) [@precise54](https://meta.discourse.org/u/precise54)
#### Post date: [June 12, 2014, 11:58pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/10 "2014-06-12T23:58:46Z")

</div>

Hi guys

I’d love to help out here. If you need any help with this feature please let me know.

Thanks, David

---

<div class="post-metadata">

### Author: ![precise54](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/precise54/32/104154_2.png) [@precise54](https://meta.discourse.org/u/precise54)
#### Post date: [June 18, 2014, 6:38am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/11 "2014-06-18T06:38:39Z")

</div>

So I’ve started working on this at a really inopportune time. My final exams are looming, so I’m going in to full lock-down for the next fortnight. If it’s still outstanding at that point I’ll jump back on it, just wanted to let you all know in case someone is hanging out for this feature.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 18, 2014, 8:46am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/12 "2014-06-18T08:46:42Z")

</div>

Are you working on this now? @techAPJ can take over if it is a bad time.

---

<div class="post-metadata">

### Author: ![precise54](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/precise54/32/104154_2.png) [@precise54](https://meta.discourse.org/u/precise54)
#### Post date: [June 18, 2014, 9:22am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/13 "2014-06-18T09:22:48Z")

</div>

No I’m not. Progress up to this pint has been negligible. If @techAPJ can take over that would be great.

---

<div class="post-metadata">

### Author: ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)
#### Post date: [June 18, 2014, 10:40am UTC](https://meta.discourse.org/t/bulk-invite-users/15899/14 "2014-06-18T10:40:18Z")

</div>

Okay, no problem. I’ll take this over. Thanks for your efforts though!

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 5, 2014, 10:54pm UTC](https://meta.discourse.org/t/bulk-invite-users/15899/15 "2014-10-05T22:54:47Z")

</div>


