Skip to main content

OAuth Clients

TopicDetail
NavigationAdmin → Integrations → OAuth
PurposeRegister applications that need secure API access to Genesys Cloud without exposing user credentials
StandardOAuth 2.0 authorization framework
Token Lifetime300 seconds (5 min) to 172,800 seconds (48 hrs) — SCIM integration up to 450 days

Verified against Genesys Cloud Resource Center — March 2026


Overview

An OAuth Client is an application registered in Genesys Cloud that can request access tokens to call Platform APIs. OAuth allows organizations to share information with applications without sharing user credentials, using scopes and roles to restrict access to specific resources.

OAuth is required for: Integrations, Data Actions, AppFoundry apps, custom external applications, and automation scripts.


Grant Types

The grant type defines how an application obtains an access token. This is the most important decision when creating an OAuth client.

Grant TypeAuthentication StepsBest ForStatus
Client CredentialsSingle-step — no user interactionServer-to-server integrations, Data Actions, scheduled jobs, Windows Services✅ Current — most common for admin integrations
Authorization Code / PKCETwo-step — user authenticates, then code exchanged for tokenServer-side web apps, thin desktop clients, maximum security✅ Current — recommended for user-facing apps
SAML2 BearerUses SAML assertion from Identity ProviderSSO-integrated environments✅ Current
Token Implicit Grant (Browser)Single-step browser-basedLegacy JavaScript/desktop apps⚠️ DEPRECATED — see below

⚠️ Implicit Grant Deprecation

DateAction
May 2026Token Implicit Grant option removed from new OAuth client creation
May 2027Existing OAuth clients using Implicit Grant stop working — must migrate
Action RequiredMigrate all Implicit Grant clients to Authorization Code with PKCE before May 2027

PKCE (Proof Key for Code Exchange) is already supported in Genesys Cloud and is the recommended replacement — it provides stronger security by preventing authorization code interception.


Configuration Fields

FieldDescriptionNotes
App NameDisplay name shown during authorizatione.g., CRM_Integration_Client
DescriptionBrief purpose of this clientOptional but recommended for governance
Token DurationLifetime of access tokens in seconds300–172,800s; Genesys recommends 64,800s (18 hours) for agent workday alignment; HIPAA orgs enforce 15-min idle timeout
Grant TypeHow the token is obtainedSee Grant Types table above
RolesPermissions assigned to this clientOnly available for Client Credentials grant — Roles tab appears after selecting Client Credentials
DivisionsScope of resource access per roleAssign alongside each role
Authorized Redirect URIsWhere auth codes are posted after loginRequired for non-Client Credentials grants; max 125 URIs
OAuth ScopesFine-grained permission scopesRequired for non-Client Credentials grants
Client IDAuto-generated unique identifierCopy and store — used in integration configuration
Client SecretAuto-generated password for token requests⚠️ One-time viewable — only shown at creation or when regenerated; store securely immediately

⚠️ Client Secret — Critical Security Note (November 2025)

The Client Secret is only visible once — at the moment of creation or when you explicitly regenerate it. It no longer appears in API responses after that point. If you lose it, you must regenerate a new one (which invalidates the old one).


Creating an OAuth Client

  1. Navigate to Admin → Integrations → OAuth
  2. Click Add Client
  3. Enter App Name and optional Description
  4. Set Token Duration (recommend 64,800 seconds / 18 hours)
  5. Select Grant Type
  6. For Client Credentials — the Roles tab appears after grant type selection; assign roles and divisions
  7. For other grant types — add Authorized Redirect URIs and select OAuth Scopes
  8. Click Save
  9. Immediately copy the generated Client ID and Client Secret — the secret cannot be retrieved again

After selecting Client Credentials, the Roles tab appears — assign Master Admin or least-privilege role:


OAuth → Integration → Data Action → Architect Flow

The full integration chain shows how OAuth credentials power everything downstream:

OAuth Client Created (Client ID + Secret)
       ↓
Integration Configured (credentials entered here)
       ↓
Data Action Created (uses the integration)
       ↓
Architect Flow (calls the Data Action)
       ↓
Customer Interaction (result returned to flow)

Step 1 — Create the Integration

Enter the OAuth credentials into the Integration configuration:

Step 2 — Create a Data Action


Token Request Example (Client Credentials)

POST /oauth/token
Host: login.mypurecloud.com
Authorization: Basic BASE64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials

Security Best Practices

PracticeReason
Use least-privilege rolesMinimize blast radius if credentials are compromised
Store Client Secret in a secure vault immediatelyIt cannot be retrieved after creation — only regenerated
Set shortest acceptable token lifetimeReduces window of exposure for a leaked token
Use PKCE instead of Implicit GrantMore secure — prevents authorization code interception
Rotate secrets periodicallyReduces risk from long-term credential exposure
Monitor via Platform Usage dashboardDetect abnormal API call patterns
Document all OAuth clientsMaintain governance — know what every client is used for

Troubleshooting

IssueLikely CauseResolution
Token request failsWrong Client ID or SecretVerify credentials — regenerate secret if lost
API access deniedRole missing required permissionAssign correct role to OAuth client
Token expiredLifetime exceededReduce token duration or implement token refresh logic
Roles tab not visibleGrant type is not Client CredentialsSwitch grant type — Roles only appear for Client Credentials
Secret not visible after creationExpected — security change Nov 2025Copy at creation time; regenerate if lost
Integration fails after secret rotationOld secret cachedUpdate integration configuration with new secret

Interview Cheat Sheet

QuestionAnswer
What is OAuth used for in Genesys Cloud?Authenticate applications and authorize API access without exposing user credentials
What are the current supported grant types?Client Credentials, Authorization Code / PKCE, SAML2 Bearer (Implicit Grant deprecated May 2026)
Which grant type is most common for admin integrations?Client Credentials
When does the Roles tab appear?Only after selecting Client Credentials as the grant type
What is the token lifetime range?300 seconds (5 min) to 172,800 seconds (48 hrs); SCIM up to 450 days
What is Genesys' recommended token duration?64,800 seconds (18 hours) — aligns with a typical agent workday
What happens to the Client Secret after creation?It is only viewable once — copy it immediately; regenerate if lost
What is PKCE?Proof Key for Code Exchange — replacement for Implicit Grant; prevents auth code interception
What is the max number of redirect URIs?125
When must Implicit Grant clients migrate to PKCE?By May 2027