Skip to content

Add multi-tenancy user journey to Teams documentation #1934

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
May 1, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions src/routes/docs/products/auth/teams/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,27 @@ Teams are a good way to allow users to share access to resources.
For example, in a todo app, a user can [create a team](/docs/references/cloud/client-web/teams#create) for one of their todo lists and [invite another user](/docs/references/cloud/client-web/teams#createMembership) to the team to grant the other user access.
You can further give special rights to parts of a team using team roles.

The invited user can [accept the invitation](/docs/references/cloud/client-web/teams#updateMembershipStatus) to gain access. If the user's ever removed from the team, they'll lose access again.
The invited user can [accept the invitation](/docs/references/cloud/client-web/teams#updateMembershipStatus) to gain access. If the user's ever removed from the team, they'll lose access again.

# Common use cases {% #use-cases %}

## Multi-tenancy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part of the docs is for high-level introduction to the concept. I don't think we should delve into a use-case here. This type of content seems to fit more under Journeys. Separating it out as a Journey will also make it more visible.

See https://github.com/appwrite/website/blob/main/STYLE.md#products for info about the different sections and what belongs where.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense. What do you think about the update?


Appwrite Teams is an excellent solution for implementing multi-tenancy, allowing you to create a team for each organization, company, or tenant to handle multi-organization apps with built-in data isolation.

With Appwrite Teams, you can:
- Create a team for each organization/tenant in your SaaS application
- Use team-based permissions to ensure users can only access their organization's data
- Use team roles to set up different access levels within each organization (admin, member, viewer, etc.)
- Scale to support unlimited organizations without code changes

## Other common uses for teams

- **Collaborative workspaces**: Create teams for project collaborators, each with specific roles and permissions
- **Family plans**: Group family members together for subscription services
- **Educational platforms**: Organize students and teachers into classroom teams
- **Business departments**: Separate company functions like Marketing, Sales, and Engineering
- **Event management**: Create teams for event organizers, speakers, and attendees

# Create team {% #create %}
For example, we can create a team called `teachers` with roles `maths`, `sciences`, `arts`, and `literature`.
Expand Down Expand Up @@ -219,7 +239,7 @@ Learn more about permissions

# Memberships privacy {% #memberships-privacy %}

In certain use cases, your app may not need to share members personal information with others. You can safeguard privacy by marking specific membership details as private. To configure this setting, navigate to **Auth** > **Security** > **Memberships privacy**
In certain use cases, your app may not need to share members' personal information with others. You can safeguard privacy by marking specific membership details as private. To configure this setting, navigate to **Auth** > **Security** > **Memberships privacy**

These details can be made private:

Expand Down