How to get started with a public deployment
AppFoundry partners can use the embeddable framework to speed up the creation of embedded client integrations and make them available through the AppFoundry. This page outlines how to create a Genesys Cloud Embeddable Framework integration for publication to the AppFoundry.
Development
In your code, use exposed methods to tell Genesys Cloud what to do for specific events and actions. For example, if agents will write interaction logs, tell Genesys Cloud what do with the interaction log information and where to associate it.
<a name="OAuthClient"></a>
- Create an OAuth client in your Genesys Cloud organization.
This OAuth client authenticates your external system with Genesys Cloud. You will use the Client ID from this OAuth client in step 3 under Development. For more information, see the Genesys Cloud Embeddable Framework tab in Create an OAuth client (Resource Center).
<a name="createFrameworkFile"></a>
- Create a framework.js file that implements the methods and actions that you want to use.
When you create the framework.js file, include only the methods and actions that you want to use in your implementation of Genesys Cloud Embeddable Framework. If you include methods and actions that you do not use in your implementation, the framework could produce unwanted behavior. For more information, see Configuration and methods and Actions.
<a name="step3"></a>
- Add the Client ID from your OAuth client to the appropriate Genesys Cloud region under the
clientIds
configuration in your framework.js file.
For example, if you create an OAuth client in a North American Genesys Cloud organization, then in your framework.js file, add the Client ID as the value for mypurecloud.com
. For more information, see clientIds.
- Create an iframe and add attributes that grant the iframe access to cameras, microphones, and autoplay.
Note: For WebRTC phones to function correctly, you must add the recommended attributes to your iframe.
<iframe allow="camera *; microphone *; autoplay *; hid *" src="https://apps.mypurecloud.com/crm/index.html?crm=framework-local-secure"></iframe>
<a name="step5"></a>
- (Optional) Create a second iframe to embed the Interactions window.
The Interactions window contains scripts or conversations for digital interactions (such as chat, message, or email interactions). By default, the Interactions window is a separate pop-up window that opens when agents click Chat, Script, and other icons on interactions in the client. With a second iframe in your web app and configuration in your framework.js file, you can set this Interactions window to be an embedded window rather than a separate pop-up window.
<iframe allow="camera *; microphone *; autoplay *; hid *" src="https://apps.mypurecloud.com/crm/interaction.html"></iframe>
For more information, see embeddedInteractionWindow on the settings page and the category interactionWindow
for Notification event on the subscribe page.
- Spin up a local server to host your framework.js file at
https://localhost/framework.js
. Genesys Cloud Embeddable Framework references the framework.js file at this location.
Note: The use of HTTPS requires a self-signed certificate.
Deployment
When you are ready to release your implementation, submit your framework.js file to Genesys for a security review and deployment.
- Submit your framework.js file to the Genesys AppFoundry.
Note: You must be an approved AppFoundry partner. For more information about becoming an AppFoundry partner, see Joining AppFoundry.
- The development team at Genesys reviews your framework.js file for security concerns. Genesys will contact you about the outcome of the review and any needed changes.
Estimated security review timeline
- Initial submissions: Approximately two weeks.
- Subsequent submissions: Approximately one week.
- After your framework.js file passes the security review, the development team at Genesys deploys it to
https://apps.mypurecloud.com/crm/{your app name}/index.html
.
Note: {your app name}
is the name
that you set in your framework.js file. For more information, see name.
- Add this URL to the Authorized redirect URIs field in the OAuth client in your Genesys Cloud organization. See step 1 under Development.
- Use this URL in the iframe or other method that you created.
- (Optional) If you embed the Interactions window, update the URL in your web app to
https://apps.mypurecloud.com/crm/{your app name}/interaction.html
.
Permissions
Users must have permission to access your product.
- Genesys creates the permission for your product.
Genesys uses the value for name
that you provide in your framework.js file to create a permission for your product. Genesys creates this permission under the integration node, following the format integration-{your app name}-agent
. For more information, see name.
Warning: After you submit your framework.js file for review, do not change name
in the file. If you do change it, you will be permanently locked out of your account. For more information, see name.
- Your customers assign the permission to users.
After Genesys deploys your product, your customers must assign the permission Integration > {your app name} > Agent to users in their Genesys Cloud organization. Genesys Cloud Embeddable Framework performs a permission check against each user who seeks to access your product. Unless customers assign this permission to users, they will not be able to access your product.
Genesys Cloud organization settings
If the Restrict Genesys Cloud Embedding setting is enabled in your Genesys Cloud organization, you must add the parent domain to Allowed Embeddable Domain(s). Otherwise, your implementation of the Genesys Cloud Embeddable Framework will fail to embed. For more information, see Manage Genesys Cloud embedding with the Genesys Cloud embedded clients (Resource Center).
Note: You must load both the client and the parent domain in a secure context.