If you are working on any SaaS product that involves interoperability, it is vital that you set up your invitation script correctly.
It should be hassle-free as well as secure. It is difficult to optimize and there are many edge cases to consider.
There are two common approaches, and Airtable is a SaaS product that uses both successfully. Let’s take a look at how they do this, starting with the email invite scenario:
An email invitation in a modal window is the default option, which makes sense because people expect to see it.
Before sending invitations, you can add an additional message and set access rights.
Some products prefer to simplify this task by removing the message option and postponing access control after the invitation has been sent.
Personally, I like the optional message selection because it allows you to add more context. I also think it is worth adding access controls before sending an invitation, because then the people you invited will not be able to do something, something is wrong.
Airtable adds these options well while keeping it simple. The optional message field is not highlighted and the access permission has a reasonable default.
Owner or Creator can mean different things in different products, so it’s important to describe what they mean in this context (which Airtable does well as well).
Once the invitation has been sent, you can clearly see its status, and you can correct any errors by canceling the invitation or updating the permissions.
The invitation letter includes a message and explains well what Airtable is and what to expect when registering.
The registration page contains an invitation message, a brief product description, and a pre-filled email field, which makes it less likely that the invitee will not complete the registration process.
After the invitee has registered, they are taken to the Airtable dashboard with the workspace they were invited to.
This is where a welcome message or tutorial can come in handy.
Many products prevent the person who sent the invitation from knowing that the invited user has signed up and is ready to collaborate. In this case, Airtable goes further by encouraging more invitations.
At this point, the email invitation is complete. It is very simple and intuitive for both the inviter and the invitee.
Inviting more than 10 people by email will get tedious and this is where the ability to use a link to invite comes in. While this method makes it easier to invite more people at the same time, there are certain security issues to consider.
For example, if the invite link is somehow available outside of your company, people will be able to register and view / share sensitive information.
Airtable makes link invitations safer in several ways. First, you can generate and unlink multiple links.
For example, you can generate a link, share it on Slack, and then cancel it when you see that your teammates have already signed up.
You can also make the invite link only work for people who signed up with a work email. Let’s see how this scenario works.
The first step is to create a link to the resource. Before we create the link, we can set the default permissions for everyone who uses it.
We may also allow registration for any email address, or only for email related to a specific domain. We choose the safer option.
After the link is generated, we still have the option to remove it or change the default permissions.
This is the page that anyone who clicks on the link sees. It is clearly stated at the top that we can only register with a specific email domain and thus gain access to the “UX Design” workspace.
The email field contains the “@ uifeed.com” placeholder.
If you enter an email address that does not use the uifeed.com domain, an error message informs you that you cannot register.
After registering, you do not actually get access to the workspace that you were invited to. Instead, you go through the training user flow as a new user.
This is because until you verify your email address, Airtable will not know that you have access to @ uifeed.com mail.
The message at the bottom of the page lets you know that you have an unconfirmed invitation and that you need to confirm your email address in order to use it.
After you have verified your email, you can access the workspace you were invited to.
This is the end of the Invite by Link script. This option makes it easier to invite multiple teammates at the same time, but is less intuitive for invited people.
With either approach, there are several potential issues that need to be addressed.
For example, it makes sense to allow people to grant other users access rights that are less than or equal to their own.
As the “Creator” I cannot transfer the rights of the “Owner” to anyone else.
Another point to consider is what to do with teammates and workspace if the owner wants to delete their account. There are pros and cons depending on how you implement it. I have come across products that prevent the owner from deleting an account until they have removed teammates from the workspace.
In the case of Airtable, deleting your account while you have shared working documents will not delete those documents.
This type of scenario complicates things. For example, it is not clear here who becomes the owner of the remaining document when the owner deletes their account. I don’t know how best to deal with these edge cases, but the sooner you consider them, the better.
Designing user flow invitations can be tricky, but getting it right is critical if a good user experience for your product depends on teamwork.
The most common and simplest approach is an email invitation. When doing so, allow the person who is executing the invitation to add a message and set access rights. Also, let him know when the person he invited will sign up
Consider adding an Invite by Link option if your customers are inviting many people at the same time, but consider the potential security and UX implications of this approach.
If you have something to add, write to the author on Twitter…
While the Airtable example is the best I’ve come across, you can learn more by checking out the invitation script entries from a number of other SaaS products here.