Genesys
Sync customer data from your warehouse to Genesys Cloud external contacts. Keep your contact center agents informed with up-to-date customer profiles, attributes, and contact details enriched directly from your data warehouse.
Prerequisites
- A Genesys Cloud organization with API access enabled
- An OAuth client configured with the Client Credentials grant type in Genesys Cloud Admin
- The OAuth client must have the
externalContactspermission scope (or an admin role that includes external contacts access) - Knowledge of your Genesys Cloud region (e.g., US East, EMEA Frankfurt, Asia Pacific Sydney)
Authentication
Genesys Cloud uses OAuth 2.0 Client Credentials for server-to-server authentication.
Setting Up OAuth Client Credentials
- Log in to your Genesys Cloud organization
- Navigate to Admin > Integrations > OAuth
- Click Add Client
- Enter a descriptive App Name (e.g., “Zeotap Integration”)
- Select Client Credentials as the Grant Type
- Under Scope, add
externalContacts - Click Save
- Copy the Client ID and Client Secret — you will need both in Zeotap
- In Zeotap, paste the Client ID and Client Secret into the corresponding fields
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Region | Select | Yes | Your Genesys Cloud region. Determines the API and login base URLs. Options include Americas (US East), Americas (US West), Americas (Canada), EMEA (Frankfurt), EMEA (Dublin), EMEA (London), Asia Pacific (Sydney), Asia Pacific (Tokyo), and others. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The Genesys Cloud object to sync data to. Currently supports External Contacts. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | Yes |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | — |
| Remove | — |
| Mirror | — |
| Upsert | — |
Genesys Cloud external contacts do not have a list or audience membership concept, so audience sync modes are not supported. Use standard sync modes to manage contact data.
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Field | Description |
|---|---|
firstName | Contact first name — required by the Genesys external contacts API |
lastName | Contact last name — required by the Genesys external contacts API |
workEmail | Work email — used as the match key for update and upsert sync modes |
Default Destination Fields
| Field | Type | Description |
|---|---|---|
firstName | string | Contact first name |
lastName | string | Contact last name |
workEmail | string | Work email address |
personalEmail | string | Personal email address |
title | string | Job title |
department | string | Department name |
workPhone | string | Work phone number |
cellPhone | string | Cell phone number |
address | string | Mailing address |
How It Works
-
Authentication: Zeotap obtains an OAuth2 access token from the Genesys Cloud login endpoint using your client credentials. Tokens are automatically refreshed before expiry.
-
Contact Sync: Each row from your warehouse is sent individually to the Genesys Cloud External Contacts API:
- Insert mode creates a new external contact via
POST /api/v2/externalcontacts/contacts - Update mode searches for the contact by
workEmail, then updates it viaPUT /api/v2/externalcontacts/contacts/{id} - Upsert mode searches first; if found, updates the contact; if not found, creates a new one
- Insert mode creates a new external contact via
-
Phone Numbers: Phone fields (
workPhone,cellPhone) are automatically formatted into the Genesys Cloud phone object structure with thedisplayproperty. -
Error Handling: Each row is processed independently. Failed rows are reported with specific error messages while successful rows proceed normally.
Rate Limits
Genesys Cloud enforces platform-wide API rate limits. When rate limits are exceeded, the API returns HTTP 429 responses with a Retry-After header. Zeotap automatically retries requests with exponential backoff when rate-limited.
For high-volume syncs, consider scheduling syncs during off-peak hours to reduce the likelihood of rate limiting.
Best Practices
- Always map
workEmail: Update and upsert modes match existing contacts byworkEmail. Rows missing a work email will fail to resolve in these modes. - Start with Upsert mode: Upsert mode handles both new and existing contacts gracefully, making it the safest choice for initial syncs.
- Keep phone numbers in E.164 format: Use international phone format (e.g.,
+14155552671) for best compatibility with Genesys Cloud telephony features. - Verify your region: Ensure you select the correct region — using the wrong region will result in authentication failures.
Troubleshooting
Authentication failed: invalid client credentials
Verify that the Client ID and Client Secret are correct. Ensure the OAuth client is configured with the Client Credentials grant type in Admin > Integrations > OAuth. Regenerate the client secret if needed.
Authorization failed: insufficient permissions
The OAuth client must have the externalContacts permission scope. Go to Admin > Integrations > OAuth, edit the client, and verify that the required scopes are assigned.
Contact not found for update
When using Update mode, the contact must already exist in Genesys Cloud. Ensure the workEmail field is mapped and contains a value that matches an existing external contact. Use Upsert mode to automatically create contacts that do not exist.
Genesys Cloud assigns contact IDs (GUIDs) on creation and does not accept a customer-supplied external ID at the top level of the contact record, so workEmail is used as the stable match key for updates and upserts.
Wrong region selected
If you receive connection errors or unexpected authentication failures, verify that the selected region matches your Genesys Cloud organization. Your region is visible in the URL bar when logged into Genesys Cloud (e.g., apps.mypurecloud.com indicates US East, apps.mypurecloud.de indicates EMEA Frankfurt).
Rate limiting (HTTP 429)
Genesys Cloud enforces rate limits across all API calls. If you see frequent rate limiting, reduce the sync frequency or schedule syncs during off-peak hours. Zeotap automatically retries rate-limited requests with backoff.
Phone numbers not displaying correctly
Ensure phone numbers are provided in a standard format. Genesys Cloud expects phone numbers as display strings. Use E.164 format (e.g., +14155552671) or a human-readable format (e.g., (415) 555-2671) for best results.