Users are fundamental to Weavy. You need a user account to sign in, users are added as members to spaces and conversations, you can @mention a user to notify them that something needs their attention etc.
User accounts can also hold profile information such as name, phone number, profile picture etc. Profile information is fully customizable making it easy to store exactly the information needed for your use case.
Although it is possible for an end user to have have separate user accounts in your application and in Weavy, the whole idea is to provide a seamless integration. To accomplish this, one of the first things you should do is configure single sign-on (SSO). When doing this, users in your application will automatically get a corresponding user account in Weavy and will also seamlessly be signed in to Weavy whenever they sign in to your application.
User directories can be used to separate users from different organizations. It is often used when a full multi-tenant setup with separate instances for tenants is not required, but where you still want to separate users from different organizations. Optionally, it also enables communication across organizations, something which is not possible with separate instances.
A user always belong to one (and only one) directory. In a standard setup there is one "default" directory, but an admin can add additional directories and assign users them.
Assigning users to directories can also be done from the the JSON API or from the client SDK by passing in a
dir claim in the SSO token.
Initially a user can only see other people in their own directory, e.g. when @mentioning people, or when adding people to a conversation in Messenger, they can only search for people in their own directory. But, people in other directories can become available if/when they are added as members of a shared space or conversation. The idea is that if you collaborate with someone in a space or conversation you should always be able to see that person.
Regular users can only see Spaces where they are members, and they can only see and communicate with members in those spaces. Additionally they can also see and communicate with users in their user directory.
Admin users can manage users and user directories, as well as see and take full control of any space.