Technical guide
Genesys Cloud and Salesforce Service Cloud Voice: live and post-call transcripts
Genesys Cloud can stream a live transcript into Salesforce Service Cloud Voice while the agent is on the call, and with some engineering it can store the finished transcript on the Voice Call record afterwards. This guide sets out how we built both, step by step, with the vendors' own documentation as the reference and our test findings marked as such.
In short
- Live transcription needs eight things in place; Genesys documents six across two articles, a seventh in a third article, and one permission we established by testing.
- An empty status mapping logs every agent out about 30 seconds after login, with no error; it is the first thing to check.
- The live transcript is shown, not stored. To keep it on the Voice Call record, fetch the finished transcript from Genesys after the call.
- Package versions and behaviour are true as of October 2026; check the current release notes before you build.
01
What you are building, and who provides what
Service Cloud Voice with Partner Telephony lets agents handle Genesys Cloud calls inside the Salesforce Service Console, using the CX Cloud from Genesys and Salesforce packages. Two transcript needs usually follow. The first is a live transcript, speaker-separated and timestamped, that the agent reads during the call. Genesys provides this through its Voice Transcript component, written into the standard Salesforce Enhanced Conversation component on the Voice Call record page. The second is a stored copy of the finished transcript on the Voice Call record, for case history, quality review and search after the call. Genesys does not document that second path for this integration, so we engineered it.
This guide comes from a Service Cloud Voice build we delivered in a full sandbox in September 2026 and re-checked against the vendors' documentation in October 2026. We worked to one rule throughout: nothing was treated as fact until we had seen it in the org, and anything taken only from documentation or inferred was labelled as such. Here, the vendor's own pages are cited first. Where our testing found something the documentation does not say, the text says so plainly, and we have reported each of those points to Genesys.
02
The moving parts and the two authentication paths
This integration is easy to misdiagnose because several components are involved and only some of them are Genesys. When an agent is logged out the instinct is to blame Genesys; in our experience the cause was more often on the Salesforce side. The table names each part and what it does, so a symptom can be traced to the right place.
Two separate authentication paths exist, and confusing them wastes more time than anything else. The agent's session uses OAuth 2.0 with PKCE in the browser: it drives login, presence, call control and screen pop. Server-to-server calls from Genesys to Salesforce are authenticated by an RSA key pair. The public key sits on the Salesforce contact centre; the private key is held twice, in the Genesys integration credential and in the Digital and AI private key upload in Salesforce. All three must come from one pair, and Salesforce requires the pair to be unique for each org. A broken key pair can leave the agent experience working normally, so calls connecting and screen pop firing are not evidence that the keys are right.
| Component | What it is | Provided by |
|---|---|---|
| Omni-Channel | The Salesforce presence and routing engine. Agent statuses live here, and Service Cloud Voice is built on it. | Salesforce |
| Phone utility | The Service Cloud Voice softphone. It loads the Genesys connector from the Connector URL on the contact centre. | Salesforce, loading Genesys |
| Genesys Cloud CX Utility | A utility bar component from the CX Cloud packages. The connector checks for it at login. | Genesys |
| CX Cloud, Digital and AI utility | A utility bar component that signs the agent in to Genesys for transcription and passes that state to the transcript component. | Genesys |
| Voice Transcript component | Subscribes to the live transcript and writes it into the Enhanced Conversation component. | Genesys |
| Enhanced Conversation component | The standard component where the live transcript appears. | Salesforce |
| Salesforce real-time service | The <org>.my.salesforce-scrt.com host that carries the conversation session and receives server-side calls. | Salesforce |
03
Prerequisites and the package versions we tested
Genesys lists per-user Genesys Cloud licences (CX 1 or later) and add-on licences for the Salesforce integration, plus a Salesforce Service Cloud Voice licence. Voice transcription has its own licence prerequisites: Genesys documents Genesys Cloud CX 3 or CX 4, or CX 1 and CX 2 with the relevant add-ons, and call recording must be enabled. In the browser, Genesys asks for third-party cookies to be allowed and pop-up and ad blockers turned off for the Salesforce domain, and for Enhanced Tracking Protection to be off in Firefox.
The table shows the CX Cloud package versions we built and tested on, and the versions current when this guide was checked. Keep the base and Voice packages on matching versions. The Digital and AI package uses a different namespace, genesysps, from the other two, genesyscloud, so filtering Installed Packages on the namespace can make it look missing when it is present. Genesys's release notes for 1.65 include two fixes relevant here: live transcription appearing for calls not linked to a queue, and latency when several voice call tabs are open.
| Package | Namespace | Tested | Current |
|---|---|---|---|
| CX Cloud from Genesys and Salesforce | genesyscloud | 2.41 | 2.43, released 28 September 2026 |
| CX Cloud, Voice for Salesforce Service Cloud | genesyscloud | 2.41 | 2.43, released 28 September 2026 |
| CX Cloud, Digital and AI for Salesforce Service Cloud | genesysps | 1.62 | 1.65, released 9 October 2026 |
04
Salesforce configuration: URLs, statuses and the contact centre
Two Salesforce settings sound alike and do different jobs. Remote Site Settings authorise outbound Apex callouts; Salesforce documents that a callout to a site not registered there fails. They do not govern which frames a page may load. In our testing, the Genesys frames raised content security policy warnings until Trusted URLs were added for the app, apps, api and login hosts of the Genesys region, with frame-src, connect-src, font-src, img-src, media-src and style-src enabled. Genesys's setup guide does not mention this step. When checking Remote Site Settings, look at the All view: the page opens on the last saved list view, and a record can exist and be invisible in another view.
Every presence status an agent uses to take calls must have the phone service channel assigned. A status without it can be selected but never puts the agent on queue, which presents as an agent who looks available and never receives a call. Orgs often collect several statuses with near-identical names; agents pick the wrong one. In our testing presence statuses could not be deleted from Setup, so remove unwanted ones from every profile and permission set, or delete them with a Metadata API deployment.
On the contact centre record, the Connector URL points at the Genesys connector for your region, for example https://apps.mypurecloud.com/salesforce-scv/index.html in US East, and the Public Key field holds the public half of the key pair. On the Genesys side, the integration can filter on a Genesys group. That filter is a hard gate: a user configured in Salesforce but outside the group cannot use the integration, and the failure does not point at group membership. Keep the Genesys group and the Salesforce contact centre users aligned, and agree which list is authoritative.
05
Status mapping, and the 30-second logout
The most disorienting failure in this build looks like this: the agent logs in, the dialpad renders, the agent appears available in Genesys for a moment, and about 30 seconds later they are signed out with no error. A consistent 30 seconds reads like a session timeout and sends investigators towards single sign-on, cookies, proxies and firewalls. In our case it was none of those. The status mapping on the contact centre was empty. In our testing the connector retried its start-up check for about 30 seconds and then logged the agent out; the error message that explains this is in the connector but was never shown to the agent or an administrator.
Genesys states that the status mapping between Genesys Cloud and Omni-Channel statuses is mandatory, and includes it as a step in its article on creating a contact centre in Salesforce. The voice setup guide's own five steps do not include it, so anyone working from that guide alone can miss it. The mapping is in App Launcher, CX Cloud Genesys Settings, Channels, Voice for Salesforce Service Cloud, Configure, Configure Contact Centers, then Status Mapping, and all four fields must be set. A missing Genesys Cloud CX Utility in the utility bar causes a related failure, with the Phone tab reporting that it cannot communicate with Genesys Cloud CX Utility; add it with Start automatically ticked, ahead of Phone.
With the mapping in place the session stayed up well beyond 60 seconds, presence synchronised in both directions and queue membership could be read. Before we found it, we ruled out the OAuth exchange, third-party cookies, the sign-on policy, package version mismatch, Genesys embedding restrictions, integration permissions and the Trusted URLs, each by testing. If you see this symptom, check the status mapping and the utility bar first.
| Field | Direction | Example value |
|---|---|---|
| Omni-Channel status to On Queue | Both ways | A voice status such as Available for Voice (Genesys) |
| Upon leaving the on-queue status | Salesforce to Genesys | A Genesys status such as Available |
| Upon leaving On Queue | Genesys to Salesforce | An Omni-Channel status such as Busy |
| Default phone status | Genesys to Salesforce | A phone-enabled status every agent in the contact centre can hold |
06
Conversation field mapping: prefixes, timing and reporting
The conversation field mapping, on the same Configure Contact Centers screen, copies Genesys conversation attributes onto the Salesforce Voice Call record. The left-hand side is free text, and this is where it goes wrong. In our testing a built-in attribute needed the Conversation prefix, for example Conversation.ConversationId, and a value set in an Architect flow with Set Participant Data needed the Participant prefix, for example Participant.CaseNumber. The prefix is singular and case-sensitive. A bare name, Participants or participant wrote nothing, and failed silently: the Salesforce field simply stayed empty.
Only attributes set before the call leaves the queue for Salesforce are mapped, so values captured in the IVR qualify and anything decided after the agent answers does not. An attribute the flow never set also leaves an empty field that looks exactly like a broken mapping, so prove the mechanism first with Conversation.ConversationId, which is always present, and default participant variables in Architect to a value such as Not captured. VendorCallKey is populated by the integration as three colon-separated parts, with the Genesys conversation id in the middle; a transfer can create a second Voice Call with the same conversation id. Genesys also documents that a value is discarded, without an error, when the user cannot access the target field, so test with a production-like profile.
Where another telephony provider shares the org, a formula field on Voice Call is a better way to label which platform handled a call than a mapped attribute. A formula is evaluated when the record is read, so it applies to every existing Voice Call the moment it is saved, needs no flow change and costs nothing to run. The example reads the name of the contact centre that handled the call and returns Unknown where there is none, so an unrecognised platform shows up rather than going blank.
IF(CONTAINS(CallCenter.Name, "Genesys"), "Genesys",
IF(CONTAINS(CallCenter.Name, "Other provider"), "Other provider",
BLANKVALUE(CallCenter.Name, "Unknown")))07
Genesys Cloud configuration: integration, roles and permissions
In Genesys Cloud, the CX Cloud from Genesys and Salesforce integration holds the Salesforce organisation id, the contact centre API name, the optional group filter and, under Credentials, the private key. The private key cannot be read back from either product, so record when and how each half of the key pair was set. In our build the agent permissions Genesys lists for the integration were not enough for transcription, and two further permissions were established only because the platform refused a request and named the permission it needed.
Genesys does not publish a single permission list for this integration, because each notification topic the components subscribe to has its own requirement. To find gaps in your own org, call GET /api/v2/notifications/availabletopics as an agent and again as an administrator and compare the two: a topic present only for the administrator is one the agent cannot subscribe to. Genesys's requirements article asks for utilization to be set at organisation level; in a shared or multi-tenant organisation, set it at the narrowest level that achieves the outcome, because an organisation-wide change affects everyone in it. Finally, if you widen the agent role while troubleshooting, grant the missing permissions explicitly before you trim it back.
| Permission | Administrator | Agent | Where it is documented |
|---|---|---|---|
| Integration > cxCloudSFCore: Add, Delete, Edit, View | Yes | No | Genesys requirements article |
| Integration > cxCloudSFVoice: Add, Edit, View | Yes | Yes | Genesys requirements article |
| Integration > cxCloudSFVoice: Delete | Yes | No | Genesys requirements article |
| Conversation > Utterance > View | Yes | Yes, for live transcription | Listed by Genesys for Digital and AI chat and email; in our testing the voice transcript subscription returned 403 without it |
| Routing > Queue > View, in the right division | Yes | Yes, for queue statistics | In our testing a queue read returned 403 without it |
08
Live transcription: the eight requirements
Genesys's Voice Transcript article asks for voice transcription to be enabled at both organisation and queue level and for low latency transcription to be enabled, which minimises the delay before each line reaches the agent. In our testing a Speech and Text Analytics programme was not needed for a call to be transcribed. The table lists all eight requirements and where each is documented. The seventh is the one most easily missed: it appears only in Genesys's article on creating a Lightning app for Digital and AI, which the voice setup guide does not link to.
When the seventh is missing, the failure is silent. In our testing the transcript component logged in the browser console that its configuration had loaded and that it had matched the Voice Call to the Genesys conversation, and then waited. There was no subscription to the conversation's transcription topic, no sign-in traffic to Genesys and no error anywhere. The reason is that the transcript component does not sign in to Genesys itself: it waits for the Digital and AI utility to pass it the agent's signed-in state over a Lightning message channel. With no utility in the app, that message never arrives. Adding the utility, with pop-up authentication set to Yes as Genesys advises, was the only change between our failing calls and the first working one.
The Digital and AI package signs the agent in with an OAuth client that uses the Code Authorization with PKCE grant, the redirect URI shown on the GC Digital and AI Integration Setup page, and the ten scopes Genesys lists. In our testing the Validate button on that page checked only that the values were well formed; it did not contact Genesys, so a successful validation is not proof that sign-in works. Genesys advises against using the Implicit Grant Client Id field on the utility when PKCE is configured and states that implicit grant flows will be deprecated in May 2027. In our build the utility would not save with that field empty, so check the current behaviour and Genesys's guidance when you configure it.
| # | Requirement | Where it is documented |
|---|---|---|
| 1 | CX Cloud, Digital and AI for Salesforce Service Cloud package installed | Genesys Voice Transcript article |
| 2 | Private key uploaded in GC Digital and AI Integration Setup, with the contact centre selected | Genesys Voice Transcript article |
| 3 | Remote Site Setting for <org>.my.salesforce-scrt.com, host only | Genesys Voice Transcript article |
| 4 | Genesys Cloud CX Voice Transcript component on the primary tab of the Voice Call record page | Genesys Voice Transcript article |
| 5 | Standard Enhanced Conversation component on the same page | Genesys Voice Transcript article; Salesforce Voice Call record page |
| 6 | Voice transcription on at organisation and queue level, with low latency transcription | Genesys Voice Transcript and voice transcription articles |
| 7 | CX Cloud, Digital and AI utility item in the Lightning app, with pop-up authentication | Genesys Lightning app article for Digital and AI only |
| 8 | Agent role holds Conversation > Utterance > View | Established in our testing; listed by Genesys for chat and email |
09
Post-call transcripts: storing the finished transcript
The live transcript is rendered in the browser, not stored. In our testing Genesys voice calls created no ConversationEntry rows, the object behind Enhanced Conversation, and the VoiceCallTranscript object was not present in the org. So at the end of a call there is nothing in Salesforce for a trigger or flow to act on, and the finished transcript has to be fetched from Genesys once Speech and Text Analytics has processed the call.
Genesys documents an SDK method for this, createTranscript, in the older Genesys Cloud for Salesforce package. That package was deprecated on 23 March 2026 and retires with Salesforce Open CTI on 28 February 2028. In our testing the method could not work after a call ended: it looks up the call's communication through the live conversation, and once the conversation had ended that lookup returned no call segments, so it reported that it could not find a transcript URL. The transcript only exists after the call has ended, so the two conditions never overlap.
Taking the communication from the recording metadata avoids the problem. The sequence is three requests: read the recording metadata, which still works after the call, and take the session id from it; request the transcript URL for that conversation and communication; then download the transcript from the signed URL it returns, which carries its own authentication and expires within minutes, so fetch it in the same transaction. Genesys lists three permissions for call transcripts in its OAuth article; the transcript URL endpoint also requires Speech and Text Analytics > Data > View, which Genesys's API reference names and the OAuth article does not. Grant them on the role assigned to the OAuth client in the divisions that hold the conversations, and add a Remote Site Setting for the region's download host, for example https://api-downloads.mypurecloud.com.
We store the transcript in a Long Text Area field on Voice Call. Salesforce allows up to 131,072 characters, roughly two hours of conversation. A scheduled sweep suits this better than a trigger, because the transcript does not exist when the call ends. A Schedulable class runs every 15 minutes and queues Voice Calls that ended more than 20 minutes ago, within the last 24 hours, with an empty transcript and a Genesys conversation id; a Queueable class makes the callouts, since Salesforce does not support synchronous callouts from scheduled Apex. Retries cost nothing and duplicates cannot occur, because a written transcript takes the call out of the sweep. The sample shows the core of the Queueable, using a Named Credential rather than the deprecated package.
- GET /api/v2/conversations/{conversationId}/recordingmetadata, and take the sessionId of the recording.
- GET /api/v2/speechandtextanalytics/conversations/{conversationId}/communications/{sessionId}/transcripturl, which returns a signed URL.
- GET the signed URL, with no Authorization header, and read transcripts[].phrases[] from the JSON.
- Label each phrase from participantPurpose (external for the caller, internal for agent, IVR or ACD), join them and write the field.
public class TranscriptFetch implements Queueable, Database.AllowsCallouts {
private final Id voiceCallId; private final String convId;
public TranscriptFetch(Id voiceCallId, String convId) { this.voiceCallId = voiceCallId; this.convId = convId; }
public void execute(QueueableContext ctx) {
// 1. Recording metadata still exists after the call; take the session id from it
List<Object> recs = (List<Object>) JSON.deserializeUntyped(
get('callout:Genesys_Cloud/api/v2/conversations/' + convId + '/recordingmetadata'));
if (recs.isEmpty()) return; // not processed yet: the next sweep retries
String sessionId = (String) ((Map<String, Object>) recs[0]).get('sessionId');
// 2. A signed, short-lived download URL for the transcript
Map<String, Object> link = (Map<String, Object>) JSON.deserializeUntyped(get(
'callout:Genesys_Cloud/api/v2/speechandtextanalytics/conversations/' + convId +
'/communications/' + sessionId + '/transcripturl'));
// 3. Download in the same transaction; the URL carries its own authentication
Map<String, Object> doc = (Map<String, Object>) JSON.deserializeUntyped(get((String) link.get('url')));
List<String> lines = new List<String>();
for (Object t : (List<Object>) doc.get('transcripts')) {
for (Object p : (List<Object>) ((Map<String, Object>) t).get('phrases')) {
Map<String, Object> ph = (Map<String, Object>) p;
String who = ph.get('participantPurpose') == 'external' ? 'Customer' : 'Agent';
lines.add(who + ': ' + ph.get('text'));
}
}
update new VoiceCall(Id = voiceCallId, Voice_Transcript__c = String.join(lines, '\n').left(131072));
}
private static String get(String endpoint) {
HttpRequest req = new HttpRequest(); req.setEndpoint(endpoint); req.setMethod('GET');
HttpResponse res = new Http().send(req);
if (res.getStatusCode() != 200) throw new CalloutException(res.getStatusCode() + ' ' + endpoint);
return res.getBody();
}
}10
Validating the build and troubleshooting
Run the checks in order; each has a pass condition that needs no judgement. Keep a network trace of the first full test call: the absence of a request is often the most useful evidence in this integration, and it cannot be seen any other way. Then use the table for the symptoms we met, each of which presented without a helpful error.
- The agent logs in to the Phone tab and the dialpad renders.
- The session survives 60 seconds, with no logout request in the network trace.
- Setting the mapped voice status in Salesforce puts the agent on queue in Genesys, and back again.
- The agent's queue membership can be read.
- An inbound call is offered, answered in Salesforce and pops the right record.
- A Voice Call record exists for the call, with the Genesys conversation id mapped.
- The live transcript appears in Enhanced Conversation, speaker-separated and timestamped.
- After the sweep has run, the finished transcript is stored on the Voice Call record.
| Symptom | Cause | Fix |
|---|---|---|
| Agent logged out about 30 seconds after every login | Status mapping empty, or Genesys Cloud CX Utility missing | Set all four mapping fields; add the utility with Start automatically |
| Phone tab cannot communicate with Genesys Cloud CX Utility | Utility missing from the utility bar | Add Genesys Cloud CX Utility, ahead of Phone |
| Agent looks available but never receives a call | Presence status has no phone service channel | Assign the channel, or stop agents selecting that status |
| Some users cannot use the integration, with no clear error | Genesys group filter excludes them | Align the Genesys group with the contact centre users |
| Mapped field always empty | Attribute name lacks its Conversation or Participant prefix, or was never set | Use the prefixed name; prove it with Conversation.ConversationId |
| No live transcript, no error | Digital and AI utility missing, or agent lacks Conversation > Utterance > View | Add the utility with pop-up authentication; grant the permission |
| Post-call fetch returns 403 | OAuth client role lacks Speech and Text Analytics > Data > View, or the division | Grant it in the divisions that hold the conversations |
| Content security policy warnings for Genesys frames | Trusted URLs missing for the Genesys hosts | Add the region's app, apps, api and login hosts |
11
Before production
Generate a fresh key pair for production and set all three locations in one sitting: Salesforce requires the pair to be unique for each org, because a shared private key would let its holder call Salesforce Voice APIs for any org using the matching public key. The GC Digital and AI Integration Setup page has a Key Validation tab that tests whether a private and public key match; use it before you change anything. Utility items, record page assignments and Remote Site Settings are org and app configuration and do not travel with the packages, and the real-time service and download hosts are specific to each org and region.
Apex must reach 75 per cent test coverage to deploy to production, so the transcript classes need tests. A stored transcript is a second copy of what the caller said, so agree its retention before go-live, and decide whether the OAuth client should hold Recording > Recording > ViewSensitiveData: Genesys documents that users with it can see transcripts without masking, so leave it off if card numbers and personal data should arrive redacted. Record package versions in your change history for every environment, because Salesforce does not let you roll a managed package back in place.
Finally, plan for the browser. In our testing each Genesys component that embeds the Genesys desktop loaded its own copy, with its own notification channel, so every unused component added load and noise. Keep only the components the agents need, one telephony platform's utilities per Lightning app, and a single authoritative Lightning app for agents. QVCCS builds and supports integrations like this one remotely unless agreed otherwise, and every delivery team member holds, or is completing, Genesys Cloud certification.
Questions
Common questions
Does Genesys Cloud support live transcripts in Salesforce Service Cloud Voice?
Yes. Genesys documents a Voice Transcript component for CX Cloud, Voice for Salesforce Service Cloud, which writes the live transcript into the standard Enhanced Conversation component on the Voice Call record. It needs the Digital and AI package, the right OAuth client, organisation and queue transcription settings, the Digital and AI utility item and, in our testing, the Conversation > Utterance > View permission for agents.
Why is my agent logged out about 30 seconds after logging in?
In our experience the most likely cause is an empty status mapping on the contact centre, which Genesys states is mandatory. The connector cannot complete its start-up and signs the agent out without an error. Set all four status mapping fields, and check that Genesys Cloud CX Utility is in the utility bar with Start automatically ticked.
Is the live transcript saved in Salesforce?
Not in our testing. The live transcript is shown to the agent during the call and is not written to a Salesforce object. To keep the transcript on the Voice Call record, fetch the finished transcript from Genesys after Speech and Text Analytics has processed the call, using the recording metadata and transcript URL endpoints, and write it to a field.
Can we use the Genesys SDK createTranscript method instead?
That method belongs to the older Genesys Cloud for Salesforce package, which Genesys deprecated in March 2026 and which retires with Salesforce Open CTI on 28 February 2028. In our testing it also could not find the transcript once the call had ended. Native Apex callouts through a Named Credential avoid both problems.
Sources
- Requirements for CX Cloud from Genesys and Salesforce integration – Genesyshelp.genesys.cloud
- Setup guide for CX Cloud, Voice for Salesforce Service Cloud – Genesyshelp.genesys.cloud
- Create a contact center in Salesforce Service Cloud – Genesyshelp.genesys.cloud
- Configure Genesys Cloud CX Voice Transcript component – Genesyshelp.genesys.cloud
- Create a Lightning app for Digital and AI for Salesforce Service Cloud – Genesyshelp.genesys.cloud
- Create an OAuth client for Digital and AI for Salesforce Service Cloud Voice – Genesyshelp.genesys.cloud
- Configure voice transcription – Genesyshelp.genesys.cloud
- Agent permissions for Digital and AI for Salesforce Service Cloud – Genesyshelp.genesys.cloud
- Use the SDK to create voice transcript in Genesys Cloud for Salesforce – Genesyshelp.genesys.cloud
- OAuth client permissions for Genesys Cloud for Salesforce – Genesyshelp.genesys.cloud
- Release notes for CX Cloud from Genesys and Salesforce – Genesyshelp.genesys.cloud
- Deprecation: Salesforce Open CTI integration – Genesyshelp.genesys.cloud
- Create the Voice Call record page – Salesforcehelp.salesforce.com
- Generate a certificate for Service Cloud Voice with Partner Telephony – Salesforcedeveloper.salesforce.com
- Remote site settings for Apex callouts – Salesforcedeveloper.salesforce.com
- Testing Apex – Salesforcedeveloper.salesforce.com
Keep reading
More guides
Genesys Cloud or Zendesk? How they compare, combine and what each requires
Genesys Cloud and Zendesk compared and combined: the embedded client, data actions, Zendesk plan and Partner Edition requirements, costs, and migration.
Read the guideHow to choose a Genesys Cloud partner
A buyer's guide to choosing a Genesys Cloud CX delivery partner: certified people, method and artefacts, integration, support fit, references and red flags.
Read the guideGenesys Engage on premises: security patches, end of support and moving to cloud
Genesys Engage on premises: which SIP Server, Rules, Email Server and Framework versions still get security fixes, the 2028 end of support, and how to move.
Read the guide