B Blengi docs

Platform admin

Connector credentials (Google, Notion, Slack…)

Credentials for the connector integrations — Google (Drive / Docs / Sheets), Notion, Slack, Qdrant, and Browserless — are configured from the admin UI at Settings → System → Integrations → Connector credentials. They are stored encrypted in the database and layered over config/services.php at boot, so you can connect (and rotate) them without touching .env or redeploying.

How it works

Each value is held on the single app_settings row and merged into config('services.*') by AppSettingsOverrideServiceProvider — a non-empty DB value wins over the .env default. Secrets (OAuth client secrets, the Slack bot token, the Qdrant API key, the Browserless token) use Laravel's encrypted cast, so the database never holds plaintext. The form never sends a stored secret back to the browser — it only reports whether one is set, and a blank field on save keeps the existing value (type a new value to replace it).

Connecting Google (Drive / Docs / Sheets)

  1. In the Google Cloud Console, create an OAuth client (type: Web application) with the read-only Drive / Docs / Sheets scopes.
  2. Add the Authorized redirect URI shown on the connector form (it is your install's /app/oauth/google/callback URL).
  3. Paste the Client ID and Client secret into the form and save. The redirect URI defaults to that callback, so you usually leave the override blank.
  4. A workspace owner can now connect their Google account from /app/integrations and add Google Doc / Sheet sources. The per-user access + refresh tokens are stored encrypted on the workspace's IntegrationConnection (separate from these operator-level app credentials).

The others

  • Notion — same shape as Google: client ID + secret, redirect URI defaults to /app/oauth/notion/callback.
  • Slack — the notifications bot token (xoxb-…).
  • Qdrant — cluster URL + API key (used when the vector provider is Qdrant rather than Cloudflare Vectorize).
  • Browserless — URL + token for the crawler's headless-browser fallback.

The matching .env variables still work as a first-install fallback, but anything set here overrides them — so once configured in the UI, the DB is the source of truth.