KamoCRM

Model meetings as provider-agnostic

Featurekamo-shared-library
Shipped
5 ஆகஸ்ட், 2026 அன்று 6:35 AM UTC
Author
Kamo
Commit
e9c987e

Kamo Meets was the only possible backend: OrgMeetConfig was a flat Meet settings bag and a MeetingRecord held nothing but a room name. This adds the schema for running an organization on Zoom or Microsoft Teams instead. - meet.provider: MeetingProviderType / MeetingProviderStatus, the per-org OrgMeetingProviderEntity (encrypted credential blob, last-verified state) and OrgMeetingOAuthTokenEntity, mirroring the email_provider package that already backs the email provider abstraction. - MeetingRecord gains the hosting provider's own identity — remote meeting id, join and host URLs, passcode, host account — so a meeting can be rejoined and reconciled whoever hosts it. - MeetingRecording gains providerRecordingId, which keeps the pull of a remote provider's cloud recording idempotent. - OrgMeetConfig gains the settings Zoom and Teams support that a Meet-only config had no reason to carry: join-before-host, passcode shaping, lobby bypass scope, presenter and attendee controls, cloud recording, transcripts, provider-sent invitations, and the fallback host meetings are created under when a member has no account on the provider. Every org with no provider row resolves to KAMO_MEET, so this is inert until an admin chooses otherwise. Columns were applied to production by KamoInitializer before this landed. PlatformOAuthProviderType gains ZOOM(9) for the Zoom Marketplace app; Teams meetings reuse MICROSOFT(3). Its guard test moves with it, since an enum and the test pinning its persisted ids cannot land separately.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing