What’s the same
For every provider, Forepost:Exchanges the code for a token
POST /integrations/<provider>/complete swaps the code for an access (and where supported, refresh) token.What’s different per provider
Front
Front
Uses
app.frontapp.com/oauth/authorize with scope=shared:*. No subdomain needed.Plain
Plain
Uses
app.plain.com/oauth/authorize. No subdomain needed.Zendesk
Zendesk
Requires your workspace subdomain. If your Zendesk is
acme.zendesk.com, the subdomain is acme. Pass it as ?subdomain=acme on the start endpoint. Scope is read.Required environment
To enable each provider, set the matching env vars on the worker:API
connectedAt, lastRefreshedAt, and lastRefreshStatus fields on /integrations/connections work identically across providers.
What’s not in this release
The OAuth + token-storage path is wired. The metric adapters — the per-provider functions that turn API responses into volume/CSAT/FRT — are stubbed:Front
Not yet mapped. Front’s Analytics API is the right source.
Plain
Not yet mapped. Plain’s GraphQL needs custom queries.
Zendesk
Not yet mapped. Zendesk’s Search and Views APIs.
CSV import
Live for all three. Use weekly while the live adapters are in flight.
Privacy
Same posture as Intercom: read-only scopes, AES-GCM encryption at rest, no conversation bodies stored. Tokens can be revoked from your helpdesk’s developer settings and locally viaDELETE /integrations/connections?provider=<name>.