Files
app/stories/organization-owner/ORG-009-global-apps.md
T

1.8 KiB

Connect Global Apps

ID: ORG-009 Priority: High Status: In Development Phase: 1

User Story

As an organization owner, I want to connect and disconnect first-party apps (foss.global, task.vc, etc.) for my organization so that my team members can use these integrated services.

Acceptance Criteria

  • View list of available global apps (foss.global, task.vc)
  • See connection status for each global app
  • Connect a global app to the organization
  • Disconnect a global app from the organization
  • View which user connected the app and when
  • See what scopes/permissions each app requires
  • Toggle does not require page reload

Technical Notes

  • Global apps are pre-registered by the platform administrators
  • Uses IAppConnection to track org-to-app relationships
  • Connection creates OAuth authorization for the app
  • Apps access org data via granted scopes
  • No credentials shown to org owners (managed by platform)

Data Model

interface IGlobalApp {
  id: string;
  type: 'global';
  data: {
    name: string;
    description: string;
    logoUrl: string;
    appUrl: string;
    oauthCredentials: IOAuthCredentials;
    isActive: boolean;
    category: string;
  };
}

interface IAppConnection {
  id: string;
  data: {
    organizationId: string;
    appId: string;
    appType: 'global' | 'partner' | 'custom_oidc';
    status: 'active' | 'disconnected';
    connectedAt: number;
    connectedByUserId: string;
    grantedScopes: string[];
  };
}

UI Components

  • AppsView (/account/org/:orgName/apps) - Main tabbed interface
  • Global Apps Tab - List of global apps with toggle switches
  • ORG-010: Browse and Install Partner Apps (AppStore)
  • ORG-011: Create Custom OIDC Apps
  • DEV-004: Proper App ID Initialization