Creating a New Application
We are deprecating the automatic support for the following permissions: camera, microphone, geolocation. For more information see our developer center forum announcement.
Apps can be added via the Genesys Cloud UI under Admin > Integrations > Web. As a convenience factor for your app, you might want to install it for your users by programmatically calling the APIs to install it.
- Create the app (i.e. integration instance). This call will return an integrationInstanceId, use this id in the next step to configure your app
- Create a Client Application integration (Standalone or Widget)
{
"integrationType": {
"id": "embedded-client-app"
}
}
{
"integrationType": {
"id": "embedded-client-app-interaction-widget"
}
}
- Configure the app
- You must provide the current version of the config as a
version
property to the PUT. For the first update, this will be1
- Configure the Client Application integration (Standalone or Widget)
{
"name": "Custom Application Name",
"notes": "Optional Application Notes",
"credentials": {},
"version": <currentVersion>,
"properties" : {
"url" : "https://mypurecloud.github.io/client-app-sdk/help.html",
"sandbox" : "allow-forms,allow-modals,allow-popups,allow-presentation,allow-same-origin,allow-scripts,allow-downloads",
"permissions": "camera,clipboard-write,display-capture,fullscreen,geolocation,microphone",
"displayType": "standalone",
"featureCategory": "",
"groups": ["group-guid-1", "group-guid-2", "group-guid-n"]
},
"advanced": {
"i10n": {
"es": {
"name": "Genesys Cloud ejemplo de la Ayuda"
},
"fr": {
"name": "Genesys Cloud Aide Exemple"
}
},
"lifecycle": {
"ephemeral": false,
"hooks": {
"bootstrap": false,
"focus": false,
"blur": false,
"stop": false
}
},
"icon": {
"vector": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy.svg",
"24x24": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-24x24.png",
"36x36": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-36x36.png",
"48x48": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-48x48.png",
"72x72": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-72x72.png"
},
}
}
Property Definitions
Property | Description |
url | (Required) url to your application |
displayType | (Required) Where the application will be displayed, valid values are widget or standalone. |
featureCategory | (Optional) Specifies the general purpose of this application. This will be used to customize it's display in GC such as the menu item it can be found under. Valid values are directory, contactCenterInsights or an empty string. |
sandbox | (Optional) Comma separated value of iframe sandbox options. Allowed sandbox options: allow-forms, allow-modals, allow-popups, allow-presentation, allow-same-origin, allow-scripts, allow-downloads See Mozilla Developer Network for more details. |
permissions | (Optional) Comma-separated list of features/permissions (See Permissions Policy on MDN) to control application permissions. Only the minimum required permissions should be added, as allowing permissions can open the app to security concerns. Allowed permissions options: camera, clipboard-write, display-capture, fullscreen, geolocation, microphone See Mozilla Developer Network for more details. |
groups | (Optional) Array of Genesys Cloud group ids whose users will see this application in the PureCloud UI. Note: This alone should not be used for authorization purposes. As your app url is public, you should always restrict access to your application server side. |
{
"name": "Custom Application Name",
"notes": "Optional Application Notes",
"credentials": {},
"version": <currentVersion>,
"properties" : {
"url" : "https://mypurecloud.github.io/client-app-sdk/toast.html?gcHostOrigin={{gcHostOrigin}}&gcTargetEnv={{gcTargetEnv}}&gcLangTag={{gcLangTag}}&gcConversationId={{gcConversationId}}",
"sandbox" : "allow-forms,allow-modals,allow-popups,allow-presentation,allow-same-origin,allow-scripts,allow-downloads",
"permissions": "camera,clipboard-write,display-capture,fullscreen,geolocation,microphone",
"groups": ["group-guid-1", "group-guid-2", "group-guid-n"],
"communicationTypeFilter": "chat,email",
"queueIdFilterList": ["queue-guid-1", "queue-guid-2", "queue-guid-n"],
},
"advanced": {
"i10n": {
"es": {
"name": "Genesys Cloud ejemplo de la Ayuda"
},
"fr": {
"name": "Genesys Cloud Aide Exemple"
}
},
"lifecycle": {
"ephemeral": false,
"hooks": {
"bootstrap": false,
"focus": false,
"blur": false,
"stop": false
}
},
"icon": {
"vector": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy.svg",
"24x24": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-24x24.png",
"36x36": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-36x36.png",
"48x48": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-48x48.png",
"72x72": "https://mypurecloud.github.io/client-app-sdk/img/066-lifebuoy-72x72.png"
},
}
}
Property Definitions
Property | Description |
url | (Required) url to your application |
sandbox | (Optional) Comma separated value of iframe sandbox options. Allowed sandbox options: allow-forms, allow-modals, allow-popups, allow-presentation, allow-same-origin, allow-scripts, allow-downloads See Mozilla Developer Network for more details. |
permissions | (Optional) Comma-separated list of features/permissions (See Permissions Policy on MDN) to control application permissions. Only the minimum required permissions should be added, as allowing permissions can open the app to security concerns. Allowed permissions options: camera, clipboard-write, display-capture, fullscreen, geolocation, microphone See Mozilla Developer Network for more details. |
groups | (Optional) Array of Genesys Cloud group ids whose users will see this application in the Genesys Cloud UI. Note: This alone should not be used for authorization purposes. As your app url is public, you should always restrict access to your application server side. |
queueIdFilterList | (Optional) Array of Genesys Cloud queue ids - users will see this application as a conversation's tab in the Genesys Cloud UI if the conversation was distributed through one of the configured queues. |
communicationTypeFilter | (Optional) Comma separated list of media types - users will see this application as a conversation's tab in the Genesys Cloud UI if the conversation is of one of the configured media types. |
- Finally, enable the app
{
"intendedState": "ENABLED"
}