Setting up Integration for Outbound Email Campaigns
Contents
Learn how to enable Email connectivity for outbound campaigns.
- Send Email in your outbound campaigns through CX Contact.
To get started, complete the configuration steps for one of the following scenarios:
Option 1: Set up Digital Channels to use SparkPost Email
Complete the steps in this section to set up Digital Channels to use SparkPost email provider.
- Review the prerequisites table.
- Use the Digital Channels provisioning API to create Digital Channels services definitions.
- Provision email domains.
Prerequisites
Review the Prerequisites table and make sure you have all the listed information before you get started. The values in this table are referenced later by the name in the Variable column.
Parameter | Variable | Type | Example | Notes |
---|---|---|---|---|
Contact Center Id | $ccid | UUID string | 45acae06-6b7c-4f97-9c76-471cb5c21bf7 | This value comes from your Web Services and Applications deployment. |
Digital Channels URL | $baseURL | string | http://digital.example.com | Publicly available URL for Digital Channels API. |
SparkPost API URL | $sparkpostURL | string | Secret | URL for SparkPost email API. |
SparkPost apikey | $sparkpostApikey | UUID string | Secret | API key for using SparkPost email API. |
Create Digital Channels services definitions
In this step, you will enable Digital Channels to use SparkPost email services. You must configure the following services in Digital Channels within your tenant:
- Email - Enables outbound email service through the third-party provider.
- SparkPostEmail - Integrates your Genesys Multicloud CX tenant to SparkPost for email communication.
curl -X POST \ $nexusURL/nexus/v3/provisioning/services/$ccid/Email \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \ -d '{ "url" : "N/A", "secret": {}, "data" : { "provider": "SparkPost" }'
curl -X POST \ $nexusURL/nexus/v3/provisioning/services/$ccid/SparkPostEmail \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \
-d '{ "url" : "$sparkpostURL", "secret": { "apikey": "$sparkpostApikey"}, "data": {} }'
Manage email domains
Provision email domains in Digital Channels.
Option 2: Set up Digital Channels to use a Custom Gateway
Complete the steps in this section to set up Digital Channels to use a custom email gateway provider.
- Review the prerequisites table.
- Use the Digital Channels provisioning API to create Digital Channels services definitions.
- Provision email domains.
Prerequisites
Review the Prerequisites table and make sure you have all the listed information before you get started. The values in this table are referenced later by the name in the Variable column.
Parameter | Variable | Type | Example | Notes |
---|---|---|---|---|
Company's email domain | $asyncEmailDomain | string | company.com | |
Third-party Messaging Webhook URL | $asyncWebhookURL | string | https://genesys-webhook.company.com | The FQDN of the third-party service implementing the Third-Party Messaging Webhook. |
Third-Party Messaging API secret key | $asyncAPISignatureKey | string | Secret | The key used by the third-party service to calculate the signature for calls to the Third-Party Messaging API. |
Third-Party Messaging Webhook secret key | $asyncWebhookSignatureKey | string | Secret | The key used by Digital Channels to calculate the signature for calls to the third-party service through the webhook. |
Create Digital Channels services definitions
In this step, you will enable Digital Channels to use a custom gateway for the email provider of your choice. You must configure the following services in Digital Channels within your tenant:
- Async - Integrates your Genesys Multicloud CX tenant to the custom gateway used to communicate with the email provider of your choice.
- Email - Enables outbound email service through the third-party provider.
curl -X POST \
$nexusURL/nexus/v3/provisioning/services/$ccid/Async \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \
-d '{
"data": {
"channels": [
{
"channelId": "$asyncPhoneNumber",
"webhook": { "url": "$asyncWebhookURL" }
},
{
"channelId": "$asyncEmailDomain",
"webhook": { "url": "$asyncWebhookURL" }
}
]
},
"secret": {
"channels": [
{
"channelId": "$asyncPhoneNumber",
"webhook": { "secret": "$asyncWebhookSignatureKey" },
"api": { "secret": "$asyncAPISignatureKey" }
},
{
"channelId": "$asyncEmailDomain",
"webhook": { "secret": "$asyncWebhookSignatureKey" },
"api": { "secret": "$asyncAPISignatureKey" }
}
]
}
}'
curl -X POST \
$nexusURL/nexus/v3/provisioning/services/$ccid/Email \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \
-d '{
"url" : "N/A",
"data" : { "provider": "Async" },
"secret": {}
}'
Manage email domains
Provision email domains in Digital Channels.
Option 3: Set up Digital Channels to use Genesys Cloud CX Email Aggregation
Complete the steps in this section to set up Digital Channels to use Genesys Cloud CX Messaging Aggregation as the Email gateway.
- Review the prerequisites table.
- Contact your Genesys representative to create a Genesys Cloud CX organization and get administrator user credentials. Your Genesys representative also must add the Genesys Cloud CX product to your organization.
- Create the Digital Channels integration in Genesys Cloud CX. This will give you a clientId and clientSecret to authenticate API calls with the Digital Channels provisioning API.
- Create a Digital Channels API key for Genesys Cloud CX.
- Use the Digital Channels provisioning API to create Digital Channels services definition.
- Provision email domains.
Prerequisites
Review the Prerequisites table and make sure you have all the listed information before you get started. The values in this table are referenced later by the name in the Variable column.
Parameter | Variable | Type | Example | Notes |
---|---|---|---|---|
GWS tenant Contact Center ID | $ccid | UUID string |
45acae06-6b7c-4f97-9c76-471cb5c21bf7 | This value comes from your Web Services and Applications deployment. |
Request a Genesys Cloud CX organization
Contact your Genesys representative to create a Genesys Cloud CX organization and get administrator user credentials. Your Genesys representative also must add the Genesys Cloud CX product to your organization.
Make sure your Genesys representative provides you with the details in the Genesys Cloud CX information table.
Parameter | Variable | Type | Example | Notes |
---|---|---|---|---|
Genesys Cloud CX Organization ID | $orgId | UUID string | 47d8329d-1c28-4c86-9374-5596bddfee15 | Your Genesys Cloud CX organization ID. |
Genesys Cloud CX Organization admin user credentials | $orgUsername
$orgPassword |
string | admin-user / admin-password | The username and password for an account with administrative permissions for this organization. |
Genesys Cloud CX Login URL | $gcLoginURL | HTTPS URL string | https://login.mypurecloud.com | Your Genesys Cloud CX login URL (depends on your organization region). |
Genesys Cloud CX API URL | $gcAPIURL | HTTPS URL string | https://api.mypurecloud.com | Your Genesys Cloud CX login URL (depends on your organization region). |
Create the Digital Channels integration in Genesys Cloud CX
Complete the steps in this section as an administrator user in Genesys Cloud CX to create the integration client credentials that will be used by Digital Channels to access Genesys Cloud CX APIs to send and receive messages. You're going to create a new role, assign it to your admin user, and create the access credentials.
First, create the new role:
- Navigate to $gcLoginURL (for example, https://login.mypurecloud.com) and log in to Genesys Cloud CX with your $orgUsername/$orgPassword.
- Go to Admin.
- Under People and Permissions, click Roles/Permissions.
- Click Add Role and give it a name. For example,
Nexus Messaging
. - Under Permissions, search for messaging and select messaging > All Permissions and messagingProvisioning > All Permissions. Save your changes.
Next, assign the role to your administrator user:
- Click Admin.
- Under People and Permissions, click People.
- Search for your admin user.
- Under Roles, switch the view to All and search for the name of your new role (
Nexus Messaging
). Click to enable the role and then save your changes. - Log out and log in again to enable the permissions.
Now create access credentials for the Digital Channels integration.
- Click Admin.
- Under Integrations, click OAuth.
- Click Add Client.
- Under Client Details, set App Name to
Nexus Messaging Integration
and select the Client Credentials Grant Type. - Click Roles and assign the
Nexus Messaging
role. Save your changes. - Go back to Client Details and copy the values for clientId and clientSecret.As the output of this step, you will have the access credentials:
Parameter | Variable | Type | Example |
---|---|---|---|
Nexus Integration client ID | $clientId | UUID string | 4da40a9de-b113-4024-8ba9-c9dd89c91f67 |
Nexus Integration client secret | $clientSecret | string | aKSXEgLO57cm6FqxD4hrjkcW-iuWiXhd0uF0WOcZUm2 |
Create a Digital Channels API key for Genesys Cloud CX
To create an API key that will be used by Genesys Cloud CX to send requests to Digital Channels, follow the steps in Provision API keys. Make sure to use the following parameters:
"tenant": "*" "name":"Portico Cluster API Key" "permissions" : ["nexus:cluster:*"]
As an output of this step, you will have the API key:
Parameter | Variable | Type | Example |
---|---|---|---|
Messaging Cluster API Key | $apikey | UUID string | 9b7682b7-cbce-422f-9bbb-ecda85e61695 |
Create Digital Channels services definitions
Enable Digital Channels to use Genesys Cloud CX Messaging Aggregation as the Email provider. You must configure the following services in Digital Channels within your tenant:
- PurecloudIDP - Integrates the Genesys Multicloud CX tenant to the Genesys Cloud CX organization.
- PorticoEmail - Enables the outbound email service through Genesys Messaging Aggregation.
curl -X POST \
$nexusURL/nexus/v3/provisioning/services/$ccid/PurecloudIDP \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \
-d '{
"url" : "$gcLoginURL",
"secret": {"clientId": "$clientId", "clientSecret": "$clientSecret"},
"data" : {}
}'
curl -X POST \
$nexusURL/nexus/v3/provisioning/services/$ccid/PorticoEmail \
-H 'Content-Type: application/json' \
-H 'x-api-key: $apiKey' \
-H 'x-ccid: $ccid' \
-d '{
"url" : "$gcAPIURL",
"secret": {},
"data": {}
}'
Provision email domains in Digital Channels
Complete the steps in this section if you are integrating with CX Contact and plan to use email campaigns. These steps explain how to choose an email domain that you control (you should be able to update DNS record sets for this domain) and want to use in email campaigns as the "sent from" address.
If you are using Genesys Cloud CX as the provider, contact your Genesys representative to have them provision an email domain in Genesys Cloud CX for your organization. Once completed, you will receive a set of secrets you must use to update your domains records. After this update, contact your Genesys representative to validate the secrets and confirm domain ownership. Now you can provision an email service channel.
Complete the following for each domain only after your domain records have been updated, validated, and provisioned in Genesys Cloud CX.
- In Agent Setup, navigate to the "NexusServices" transaction you created previously.
- Create a section that starts with 'cxc.' and includes some text that represents the domain. For example,
cxc.Coraporate_Promotions
. Note: The 'cxc.' prefix is required and the rest of the value can be made up of letters and underscore or dashes, but not spaces. - In this new section, create the following options:
- channelId = $emailDomain
- channelType = email
- provider = Async (Only set this option if you use a custom gateway as the email aggregator.)