Extending Organizations

There are many ways you can extend the organization's data model in your applications: you will use this entity for the objects that are shared among the group's users.

For example, here is a popular scenario: we assume users can install integrations for their organizations. Integrations can have the following interface:

integration.ts
enum IntegrationType { Zapier, Notion, // etc } interface Integration<IntegrationData = unknown> { type: IntegrationType; data: IntegrationData; }

Then, you can extend the organization's interface and add an integrations property to Organization, and initialize it as an empty array [] when you create a new integration:

organization.ts
interface Organization { // ... integrations: Integration[]; }

Subscribe to our Newsletter
Get the latest updates about React, Remix, Next.js, Firebase, Supabase and Tailwind CSS