Skip to content
Back

Question: Best practices for implementing Organizations with Teams?

  • 0
  • Databases
  • Auth
  • Cloud
moviepassmitch
20 Nov, 2025, 20:30

Hi everyone! I'm building an application that needs a multi-level hierarchy: Organizations → Teams → Users.

I see that Appwrite provides a Teams service, but I'm unclear on the recommended approach for handling organizations that contain multiple teams:

Option 1: Use Teams as the organization layer, then use labels/attributes within a team to represent actual sub-teams?

  • Complexity: Simplest approach, leverages built-in Teams service, but may require custom logic to enforce team-within-team permissions

Option 2: Create a custom Organizations collection that references team IDs, essentially linking multiple teams to a parent organization entity?

  • Complexity: Moderate - requires additional database queries and manual relationship management between organizations and teams

Option 3: Flatten the structure entirely and use a single team per organization with roles/labels to differentiate access levels?

  • Complexity: Simplest data model, but may become difficult to manage as the number of users and permission requirements grow

My use case: A parent organization needs multiple teams beneath it, where users can belong to multiple teams within the same organization, and each team has its own permissions and data access.

What's the recommended Appwrite pattern for this type of organizational structure? Any examples or documentation I should reference?

Thanks in advance!

TL;DR
Developers are discussing best practices for implementing multi-level hierarchy with Organizations, Teams, and Users in an application using Appwrite. Options include using Teams as the organization layer, creating a custom Organizations collection, or flattening the structure. The recommended approach might vary based on the complexity and scalability of the project.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more