Apps
flexcal ships an app store of calendar, video, CRM and analytics integrations. Most of them need OAuth credentials that you create yourself, because a self-hosted instance is its own OAuth client.
Where credentials live
Credentials go into two files in the repository root:
.env— read by the web app..env.appStore— read by the app-store seeder and tooling. CopyDATABASE_URLinto it as well.
Some apps can alternatively be configured at run time from the admin UI at
/settings/admin/apps, which is the better option for a deployed instance where you would otherwise
have to rebuild to change an environment variable.
Enabling an app
After adding credentials, repopulate the app store so the new app appears:
bun run --cwd packages/prisma seed-app-storeThe container image runs this on start unless SKIP_APP_STORE_SEED=1 is set.
:::note For a deployed instance, enabling apps through the admin UI is preferred over running the seeder by hand. :::
Redirect URLs
Every OAuth app needs a redirect URL of the form:
<flexcal URL>/api/integrations/<slug>/callbackwhere <flexcal URL> is your NEXT_PUBLIC_WEBAPP_URL. The per-app pages spell out the exact slug.
Guides
- Google — Calendar and Google sign-in
- Microsoft — Office 365 Calendar and Teams
- Zoom
- Daily — the default video provider
- HubSpot
- SendGrid
- Zoho — CRM, Calendar and Bigin
- Other apps — Basecamp, Webex, Pipedrive and the rest
- Rate limiting — optional, via Unkey