Provisioning Push Notifications
Push Notifications are messages that are proactively sent from an app to a known, permitted client (either a mobile device or a web browser). Modern smartphone users will be well acquainted with push notification behavior within their favorite apps.
The Push Notification page in Callback helps you to integrate Push Notification support into your apps. In the Callback UI, you implement Push Notifications on the Developer > Credential Management > Push Notification tab. Only users who are members of the Callback Developer and/or Administrator Roles can access this tab. See Controlling User Access for more information about controlling user access to Callback tabs and features. As long as you have sufficient permissions to view the Push Notification page, then you have full access to use all of its features.
In terms of Callback features, you might want to include a Click To Call feature in your mobile app so customers can easily connect with you when they need an agent's assistance. As part of that feature's implementation, the system can communicate with the customer through Push Notifications; for example, in cases where the system needs to let the customer know that an agent is available to take their call or to offer follow-up actions such as the ability to confirm or cancel the call. For information about provisioning the Click-To-Call-In feature in Callback, see Provisioning the Click-to-Call-In Scenario.
Callback Push Notifications
If Push parameters are provided with a Callback Create API request on a standard callback virtual queue, the system can send Push Notifications for the following events:
- CALLBACK_UPCOMING—When the callback's Estimated Wait Time (EWT) is below the configured threshold for the queue (configured under the Push Notification Threshold (minutes) setting in the CALLBACK_SETTINGS data table), the CALLBACK_UPCOMING event sends a Push Notification to let the consumer know that they can expect a phone call soon. This event is sent only once. In other words, if the EWT increases above the threshold after the notification is sent and then drops below the threshold again, the CALLBACK_UPCOMING Push Notification is not sent again.
- The system might not send a Push Notification for the CALLBACK_UPCOMING event in the following situations:
- When the EWT is already low (below the configured threshold) when the Callback Create API request arrives.
- When the system determines that there is not enough time to complete the callback because the callback will be purged or the end of the business will occur before the callback is at the top of the queue.
- CALLBACK_READY—Used only with the Click-To-Call-In (Delayed) scenario. When a consumer's callback request reaches the front of the queue, the CALLBACK_READY event sends a Push Notification to alert the consumer. If the consumer accepts the callback, the mobile app sends a Call-In Create API request. The system immediately sends another Push Notification with the information that the user needs to call in to the contact center.
- Note that the callback "acceptance" is a function of your mobile app's configuration. For example, your mobile app developer might configure your mobile app to automatically make the call-in request as soon as it receives the CALLBACK_READY notification or the app could require the consumer to manually make the call-in request by clicking a button to acknowledge receipt of the notification.
- CALLBACK_PURGED—This Push Notification is sent if the callback has been purged from the system and the callback was not rescheduled.
- CALLBACK_ATTEMPT_FAILED—This event occurs when the system makes the outbound call for a callback, but the call fails to connect to the consumer for some reason. Another outbound call can be attempted later. In the CALLBACK_SETTINGS data table, you can configure the number of times that the system will make outbound calls for each Callback request before declaring failure. This Push Notification is not used with the Click-To-Call-In (Delayed) scenario because there are no outbound calls associated with that scenario.
- CALLBACK_FINAL_ATTEMPT_FAILED—This event occurs when the system makes the final outbound call associated with a Callback request and the call fails to connect to the consumer. In the CALLBACK_SETTINGS data table, you can configure the number of times that the system will make outbound calls for each Callback request before declaring failure.This Push Notification is not used with the Click-To-Call-In (Delayed) scenario because there are no outbound calls associated with that scenario.
Firebase Cloud Messaging Push Notifications
Genesys Callback currently supports Google Firebase Cloud Messaging (FCM) Push Notifications. Using the Callback UI, you can integrate Firebase Cloud Messaging into your web or mobile applications. For detailed information about FCM, see the Google Firebase Cloud Messaging documentation. You use the Push Notification page in the Developer tab to register your Firebase credentials with Callback and to test that the credentials are valid.
Before You Start
Before you start working with the Push Notification page on the Callback Developer tab, ensure that you have a Google Firebase account. You require the following Firebase objects to register with Callback and to implement and test the Push Notification functionality:
- The Firebase project name that is associated with the app that you are registering with Callback.
- The client email address that is associated with the project. See Client Email for more information.
- The private key.
- The sender ID that is associated with the project.
Using the Push Notification Page
You can perform the following activities on the Push Notification page:
- Provision and update your Firebase credentials in Callback.
- Determine if your Firebase credentials for an app are already configured in Callback.
- Perform a test to verify that the Firebase credentials that you entered are correct and configured in Callback and, by extension, that the Push Notifications are working as intended.
To configure the Firebase credentials in Callback, you enter and update those credentials on the Update Firebase Credentials pane of the Push Notification page. You use the Test Firebase Credentials pane to verify that web Push Notifications are working in your environment. If the Firebase credentials that you provisioned on the Update Firebase Credentials pane are correct and valid, then – when you run a test using your Firebase Sender ID – the Push Notification page returns a message that your Firebase credentials were successfully configured.
Register your Firebase Credentials with Callback
To implement the Firebase Cloud Messaging functionality, you must provide the following information in the Update Firebase Credentials pane of the Push Notification page:
After you click the Update button, a message appears in the bottom right-hand corner of the page to let you know that your credentials were successfully updated or that there was an issue.
Genesys recommends that you also test your Firebase credentials to make sure that the credentials have been successfully configured in Callback. To run the test, you require the Firebase Sender ID associated with the project that is identified on the Update Firebase Credentials pane.
This is a user-friendly name that you configure for the Firebase project. For example, fcm-client-11959. Once configured, the Firebase project name (or Project ID) can be found in the Project settings > General tab on the Firebase console. On the Push Notification page, you must enter the Firebase project name exactly as it is configured in Firebase.
This is an email address that is associated with the Firebase project. On the Firebase console, this is the service account, however, in the file that contains the private key, the account is called the client email address. For example, a client email address might be email@example.com. Once configured, you can find the service or client email account on the Project settings > Service accounts tab on the Firebase console or within the file that contains your private key.
The private key is used by an application to access the Firebase API. You generate a file that contains the private key for your app on the Project settings > Service accounts tab of the Firebase console. Generating the file downloads it to your local machine. The private key is a very long character string and is only available in the downloaded file.
If, for any reason, you need to generate a new private key for an application that was previously configured in Callback, then you can do so on the Firebase console, but then you must update the credentials in Callback using the Update Firebase Credentials pane on the Push Notification page. Remember to test the new credentials as well.
Test Your Credentials Configuration
If you are registering new Firebase credentials with Callback or updating credentials, then test the credentials to verify that Firebase and Callback can validate the configuration. You require your Firebase Sender ID to test your credentials. You can find the Firebase Sender ID in the Project settings > Cloud Messaging tab on the Firebase console. You must check the Enable this app to deliver push notifications to your browser box to run the test. The Push Notification page returns either a "successful configuration" message or a "failure" message.
If you receive a failure message, use the following process to recover and try again:
- Check that the Sender ID that you have entered on the Update Firebase Credentials pane matches the Sender ID on the Firebase console for the app that you are registering with Callback. Run the test again.
- If the Sender ID matches and you do not receive a Push Notification, then refresh the browser and run the test again.
- If you don't receive a Push Notification, then navigate to your browser's Settings and ensure that the browser allows notifications from your Genesys Engagement Service (GES)/Callback host. If you need help to find the setting, check the documentation for your browser. If your browser is blocking notifications, then alter the setting to enable notifications. Run the test again.
- If you don't receive a Push Notification, then refresh your browser again, check all of your FCM credentials to ensure that they are entered correctly, and run the test again.
Displaying the Firebase Credentials on the Push Notification Page
After you have successfully configured the Firebase credentials in the Callback UI, and you refresh the Push Notification page or leave the page and return to it later, you will see only a few characters for each entry (project name, client email address, and the private key). This is for security purposes. Once configured, it is impossible to see the complete entries again on the Push Notification page. The Project name, Client email address, and Private key sections on this page explain where you can find the full credentials again, if required.