This guide explains how to manage users and groups in ToolJet. For an overview of the permission system, please refer to the [Permissions](/docs/org-management/permissions) documentation.
<imgclassName="screenshot-full"src="/img/tutorial/manage-users-groups/invitemodal-v3.png"alt="Invite user modal"/>
</div>
An email containing the invite link to join the workspace will be sent to the invited user. The status will change from **Invited** to **Active** once the user successfully joins your workspace using the invite link.
:::tip
You can also copy the invitation URL by clicking on the **Copy** link next to the **Invited** status of the invited user.
:::
### Bulk Inviting Users
You can invite multiple users to your workspace using a CSV file. To bulk invite users:
1. Click **Add users** and select the **Upload CSV file** tab.
2. Download the sample CSV file and fill it with user information, including optional metadata.
User Metadata allows you to store additional information for users in your workspace. This custom data is stored at the workspace level and can include any key-value pairs relevant to your organization's needs.
- User metadata can be added when inviting a new user or editing an existing user. Additionally, you can also specify metadata while bulk inviting users.
- It can store various types of information such as user preferences, API keys, or role-specific data.
- Metadata is accessible in your applications through the global variable `{{globals.currentUser.metadata}}`.
- All metadata values are encrypted in the database for security.
- In the user interface, metadata values are masked to protect sensitive information.
### Using User Metadata in Applications
You can access user metadata in the app builder using the following syntax:
```javascript
{{globals.currentUser.metadata.<key>}} // Replace <key> with the key of the metadata value
```
:::info
Remember that while metadata values are masked in the user interface, they are accessible in the App builder. Ensure you handle any sensitive information appropriately in your app logic.
These roles have predefined permissions. The **Admin** and **End-user** roles cannot be modified, while the **Builder** role can be edited to change permissions. A user can be assigned to only one default role at a time.