Flows
Yotel supports three grant types:Discovery
Our provider implements OpenID Connect Discovery. Fetch/.well-known/openid-configuration to auto-configure any OIDC
client library:
Registering a client
Tenant admins register partner apps in the Yotel dashboard (Connected Apps settings). Each client gets:client_id— public identifier, safe to ship in app metadataclient_secret— confidential; show once at creation time- An allowlist of
redirect_uris - An allowlist of
scopesthis client may request - (Optional) A registered public key PEM for JWT Bearer
Authorization Code + PKCE
The interactive flow for SPAs and traditional web apps. PKCE (RFC 7636) is required for all clients — noplain method
accepted.
Required parameters
JWT Bearer (RFC 7523)
Salesforce’s async Apex jobs, batch integrations, any server-to-server context where a user browser isn’t available.iss— your registered issuersub— the user to impersonateaud— yourclient_idtenant_id— the Yotel tenantiat/exp— 5-minute TTL enforced server-side
Refresh
Tokens default to 1-hour TTL. Refresh before expiry using therefresh_token returned with the access token:
refresh_token
and issues a new one. Reusing an old refresh token triggers a
cascade-revoke of the entire token family — so you can detect when
a refresh_token has leaked.
Token format
Access tokens are RS256-signed JWTs. Claims include:Scopes
See Scope reference for the full catalog. Common ones:openid profile email— OIDC identity claimsoffline_access— required to receive a refresh_tokencampaigns:read,campaigns:writeleads:read,leads:writecalls:read,calls:writeagents:read
Security review
Partners embedding our OAuth in their AppExchange / marketplace listings: our provider satisfies the baseline requirements —- OAuth 2.1 + PKCE (no
plainmethod) - HTTPS-only endpoints
- Refresh-token rotation with reuse detection
- Per-client allowlisted scopes and redirect URIs
- Token introspection + revocation per RFCs 7662 / 7009
- Pen-test artifact available under NDA

