Configuring how users can create and send invites for others to join your community

:bookmark: This guide explains how to configure, create, and manage user invitations in Discourse.

:person_raising_hand: Required user level: Administrator

Discourse allows users in permitted groups to invite new members to your community (default trust level 2). Invites can be configured to redirect the new user to a specific topic when they first join the site. Invites can also be configured to add the user to custom Discourse groups when they accept the invite.

Configuring invite-related site settings

The following site settings can be adjusted to configure how invites work on your site:

Name Description
invite allowed groups The groups that are allowed to invite new users to the site (defaults to trust level 2 and staff)
default invitee trust level The trust level that will be granted to invited users (defaults to trust level 1)
max invites per day The maximum number of invites that a regular user can send in a day. This limit is not imposed on staff members. (Defaults to 10 invites per day)
invite expiry days The number of days that an invitation is valid for (defaults to 90 days)
invite link max redemptions limit The maximum number of redemptions that an invite link created by a staff user can have (defaults to 5000)
invite link max redemptions limit users The maximum number of redemptions that an invite link created by a non-staff user can have (defaults to 10)

Creating an invite

To create an invite, access the “invites” section from your user’s profile page. That will take you to your pending invites page. That page shows a list of previous invites you have sent and allows you to send new invites. Click the “Invite” button to start creating a new invite:

A modal window will open that allows you to configure the invitation:

  • Restrict to: Enter an email to limit the invite to one address.
  • Max uses: Set the number of allowed redemptions if not limiting to one email in the previous field.
  • Arrive at topic: Choose a topic for users to land on after joining.
  • Add to groups: Select groups the new user will be added to.
  • Expire after: Set the time period the invite will be valid for.

After configuring the invite, if you have restricted it to an email address, you will be given the option to either copy the invite link, or to send an invite email directly from your Discourse site:

If you have not restricted the invite to an email address, you will just be given the option to copy the invite link.

Alternative methods of inviting users

Inviting to a specific topic

Users can be invited to a specific topic by clicking the “Share” button from the topic’s footer. Click the “Invite” button in the modal that opens to access the invite form. Note that only admin users on the site can invite a user to a topic that’s in a protected category. When doing that they will be prompted to add the user to the group that has access to the category.

Inviting to a group

Group owners and site admins can invite new users to a group from the group’s page. Click the Invite button from the group’s page to open the invite modal:

Accepting an invite

When an invite is accepted by visiting an invite link, the user will be taken to a page that displays the same fields as are seen on your site’s signup modal. An exception to this is that if the invite was created for a specific email address, the email field will not be displayed. Instead, an account will be created for them with the email address that the invite was configured for:

Invite Analytics

Statistics about how many people have signed up from a specific link can be viewed on the “Invites” page of the user who created the invite link or invite email.

In particular, the “Pending” page will display a list of all invite links that are currently active, and will show a count of how many users have redeemed the link out of how many total sign ups are allowed from the link. The “Expired” page will show a similar view, but will only display invitations that are no longer active, and you can also view a list of all users who have redeemed invite links on the “Redeemed” page.

Additionally, the Data Explorer plugin can be used to create a reports about invite statistics using the invited_users table. For example, the following SQL query will display a list of all users who have been invited to a site, along with who invited them, and how long ago the user signed up:

Invited Users List
SELECT iu.user_id, 
       i.invited_by_id AS invited_by_user_id, 
       iu.redeemed_at AS reltime$time 
FROM invited_users iu
JOIN invites i ON iu.invite_id = i.id
WHERE iu.redeemed_at IS NOT NULL
ORDER BY iu.redeemed_at DESC

Common issues and solutions

  • Invite not working: Check invite expiry and redemption limits.
  • Users not receiving invites: Verify the sent email logs and email address validity.

Additional resources

Last edited by @pedrom 2024-07-03T04:55:58Z

Last checked by @hugh 2024-07-03T05:03:55Z

Check documentPerform check on document:
24 Likes