Skip to content

Commit 308908f

Browse files
authored
Merge pull request #789 from zihanKuang/invitation
Add User Invitations documentation
2 parents 812eba8 + b175a78 commit 308908f

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

  • content/en/cloud/identity/users/user-invitations
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
title: User Invitations
3+
description: >
4+
Learn how to create custom, secure, and flexible invitations for new members.
5+
weight: 3
6+
categories: [Identity]
7+
tags: [users]
8+
---
9+
10+
The new invitation system gives you precise control over how members join your organization, allowing you to streamline onboarding and enhance security.
11+
12+
You can create highly customized invitations for any scenario, from onboarding specific individuals to launching large-scale community challenges. Each invitation can be configured with expiration dates, usage quotas, and pre-assigned roles, ensuring new members get the right access from the moment they join.
13+
14+
### Key capabilities
15+
16+
The invitation system provides three main areas of control to help you manage access effectively.
17+
18+
#### Create custom invitations for any audience
19+
Tailor each invitation to your specific needs with three flexible modes:
20+
- Precise invitation: Target a single user by specifying their full email address.
21+
- Domain-wide invitation: Onboard an entire organization at once by allowing any email from a specific domain (e.g., `*@layer5.io`).
22+
- Public invitation: Leave the email field blank to create an open link for public events (e.g., Academy Challenge invitations).
23+
24+
{{< alert type="warning" title="Use domain wildcards carefully" >}}
25+
Patterns like `*@company.com` allow anyone with that domain. Verify ownership and pair with roles and teams that grant only necessary access.
26+
{{< /alert >}}
27+
28+
#### Control the invitation lifecycle
29+
Manage access with settings that put you in control:
30+
- Expiration date: Set a specific date and time for an invitation to automatically become invalid.
31+
- Usage quota: Limit the number of times an invitation can be used.
32+
33+
{{< alert type="info" title="Blank means unlimited" >}}
34+
If `expiresAt` is not set, the invitation never expires. If `quota` is not set, the invitation has unlimited uses.
35+
{{< /alert >}}
36+
37+
#### Manage invitations dynamically
38+
Instantly revoke access by switching an invitation's status between enabled and disabled at any time.
39+
40+
<!-- ### How to create an invitation -->
41+
42+
<!-- ### Managing existing invitations -->
43+
44+
### Invitation properties explained
45+
46+
| Property | Description |
47+
| :--- | :--- |
48+
| `name` | A name used to identify the invitation. |
49+
| `description` | Additional information about the invitation's purpose. |
50+
| `emails` | List of email addresses or domain patterns allowed to use the invitation. If empty, the invitation is public. |
51+
| `expiresAt` | Date when the invitation becomes invalid. If not set, it never expires. |
52+
| `quota` | Number that limits how many users can accept the invitation. If not set, there's no usage limit. |
53+
| `roles` | List of roles automatically assigned to new members upon accepting the invitation. |
54+
| `teams` | List of teams new members are automatically added to upon accepting the invitation. |
55+
56+
### Use cases and examples
57+
58+
The invitation system offers flexible configurations to fit a variety of use cases.
59+
60+
#### Scenario 1: Inviting a single team member
61+
62+
- Goal: Provide a new employee with a secure, single-use invitation that grants the correct initial permissions.
63+
- Configuration:
64+
- Email: Set to the new member's specific email.
65+
- Roles: Assign their specific role (e.g., `Developer`).
66+
- Teams: Add them directly to their project team (e.g., `Frontend-Team`).
67+
- Quota: Set to `1` to ensure the link is only used once.
68+
69+
#### Scenario 2: Opening registration for an entire organization
70+
71+
- Goal: Allow all employees from your company to join using their corporate email without individual invitations.
72+
- Configuration:
73+
- Email: Use a domain pattern to cover all employees.
74+
- Roles: Assign a default role for all new members.
75+
76+
#### Scenario 3: Launching a community challenge
77+
78+
- Goal: Create a public signup link for a limited-time community event with a maximum number of participants.
79+
- Configuration:
80+
- Email: Leave blank for public access.
81+
- Name: Give it a clear name like "Layer5 Challenge 2025".
82+
- Expiration date: Set to the date and time the challenge registration closes.
83+
- Quota: Set to the maximum number of participants (e.g., `100`).
84+
- Roles: Assign a temporary role like `Learner`.
85+
86+
{{< alert type="info" title="Managing learner costs" >}}
87+
The available seats for learners are determined by your organization's subscription plan. Please be mindful of your subscription to manage costs effectively.
88+
{{< /alert >}}
89+
90+
#### Scenario 4: Granting temporary partner access
91+
92+
- Goal: Give an external partner secure access to specific resources only for the duration of a project.
93+
- Configuration:
94+
- Email: Use the partner's domain (e.g., `*@partner.com`).
95+
- Teams: Add them only to a shared project team (e.g., `Project-X-Shared`).
96+
- Expiration date: Set to the project's end date to revoke access.
97+
- Description: Add a note for internal reference, such as "Temporary access for Project X contractors".
98+
99+
{{< alert type="warning" title="Public invitations" >}}
100+
Public links can be forwarded broadly. Always set an expiration date and a quota.
101+
{{< /alert >}}

0 commit comments

Comments
 (0)