Settings

Integrations

Connect outside services your workspace uses: Resend for email, Twilio for SMS, Google Calendar (service-account path), Google Ads, GA4, and your own Google Gemini key for the Marketing studio. Each integration card lets you enter credentials, configure settings, and enable/disable the connection.

Quick answers
Why don't I see Twilio or Google Ads?
Only the Resend, Google Calendar (service-account) and Google Gemini cards are shown on this page today. Twilio, Google Ads, and GA4 are wired in the code but the UI cards are deliberately hidden because most workspaces don't need them. Reach out via the feedback button if you do — the wiring is ready to enable.
How do I get a Resend API key?
Sign up at resend.com, verify a sending domain you control, then create an API key from your Resend dashboard. Paste the key into the Resend card here, set your "from" email and name, save. We never store or display the key value after the initial save — leave the field blank when editing to keep the existing value.
Why are credentials never shown back to me?
Security. Once saved, the credentials are encrypted at rest and never displayed in the UI again. Leaving a credential field blank when editing preserves the stored value. The placeholder says "Currently configured (leave blank to keep)" to make this obvious.
What's the difference between Google Calendar here vs Calendar connections?
Two paths. Service account (this page) — a single shared Google service-account writes to your booking calendar. Simpler, no per-user OAuth dance, every member targets the same calendar. OAuth per-user (Settings → Calendar) — each agent connects their own Google account. Booking routes per-agent based on availability. Use OAuth if you have multiple agents booking from one URL.

Per-integration setup

Each card has the same shape: credential fields at top, settings fields below, action buttons at bottom (Save, Disable, Delete). A "Setup walkthrough" link on each card opens a read-only page with step-by-step instructions for getting credentials from that provider.

Resend

Credentials: api_key. Settings: from_email (validated as an address) and from_name. The from-address domain must match a domain you've verified in Resend. Once enabled, every email InforceDesk sends on your workspace's behalf uses this account.

Events webhook (opens, bounces, complaints)

Optional, and only needed when you send through your own Resend account (the platform account reports these on its own). The Resend card shows a webhook URL for your workspace. In the Resend dashboard, open Webhooks, add that URL, and tick the delivered, opened, clicked, bounced and complained events. Copy the signing secret Resend shows you (it starts with whsec_) into the card and save. The secret is encrypted like the API key and is never shown again.

From then on each email's history shows when it was delivered and opened, the "Email opened" condition in workflows works, and an address that bounces for good or reports you as spam is blocked from further marketing mail. Every delivery is checked against your secret before anything is recorded, and repeated deliveries of the same event are ignored. The setup guide walks through it step by step.

Google Calendar (service account)

Credentials: service_account_email and service_account_key (the JSON private key). Settings: calendar_ids (newline-separated; first is the write target, rest are availability-only) and timezone. Share the calendars with the service account email before configuring here.

Google Gemini (Marketing AI)

Optional. The Marketing studio's AI writing and photos are included with your plan up to a monthly allowance. If you want more, create an API key in Google AI Studio and paste it here. From then on Marketing uses your key: there's no plan limit, Google bills your account directly, and AI photos come out at a higher resolution. Marketing → Settings → AI then lets you pick the models, set your own monthly limits, and test the connection. Disable or delete this card to go back to the plan allowance.

Enable / disable / delete

Disable keeps credentials but stops the integration from being used. Delete removes the row entirely — re-enabling later means re-entering credentials. There's no test-send button; verify by triggering a real workflow (send an email to yourself, book a test appointment).