• Blog
  • Documentation
  • Courses
  • Changelog
  • AI Starters
  • UI Kit
  • FAQ
  • Supamode
    New
  • Pricing

Launch your next SaaS in record time with Makerkit, a React SaaS Boilerplate for Next.js and Supabase.

Makerkit is a product of Makerkit Pte Ltd (registered in the Republic of Singapore)Company Registration No: 202407149CFor support or inquiries, please contact us

About
  • FAQ
  • Contact
  • Verify your Discord
  • Consultation
  • Open Source
  • Become an Affiliate
Product
  • Documentation
  • Blog
  • Changelog
  • UI Blocks
  • Figma UI Kit
  • AI SaaS Starters
License
  • Activate License
  • Upgrade License
  • Invite Member
Legal
  • Terms of License
  • Global Configuration
    • Environment Variables
    • Feature Flags
    • Overview
    • Extending Organizations
    • User Permissions
    • Subscription Permissions
    • RLS Policies
This documentation is for a legacy version of Remix and Supabase. For the latest version, please visit the Remix and Supabase V2 documentation

Extending Organizations in Remix.js Supabase SaaS Starter Kit

Learn how to extend the organization's data model in your Remix.js Supabase SaaS Starter Kit application

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[];
}