Before getting started with C3 for Amazon Connect, please ensure the following:
- You have a current C3 vendor account
- You have an AWS account
- You have an Amazon Connect instance
- You have Node.js (v20+) and npm (v10+) installed on your machine
- You have installed and configured the AWS CDK on your machine
In order to ensure that sensitive payment information is encrypted in your environment, you will need to create a flow security key in your Amazon Connect instance. This key will be used to encrypt and decrypt sensitive data in your Amazon Connect flows.
To create a flow security key, please reference steps 1 and 2 of the Amazon Connect documentation. Once you have created the key, make note of the key ID. Keep the certificate, private key, and public key in a safe place, as you will need them later in the deployment process.
Note
Be aware of the expiration date on the certificate you generated. Once this expires, values cannot be encrypted or decrypted and your payment flows will fail. It is recommended that you set a reminder to renew the certificate before it expires. Once renewed, you will need to update the security key in your Amazon Connect instance and repeat the process outlined in this document to deploy updated resources.
Begin by cloning the C3 for Amazon Connect repository to your local machine:
git clone git@github.com:customer-dynamics/c3-amazon-connect.git
If you prefer, you can also download the latest .zip and extract it to your local machine.
Once cloned, open the project in your preferred code editor.
To reduce the need for manually importing resources, C3 for Amazon Connect uses the AWS Cloud Development Kit (CDK) to deploy the necessary resources directly to your AWS account in a newly created stack.
In order to facilitate this process, you will need to provide some values to the CDK. All of the following configuration values will need to be defined in the cdk.context.json
file:
Value | Description |
---|---|
stackLabel |
Optional. A unique label to give to the deployed stack. To enable multiple stacks to be deployed to a single AWS account, this field must be populated with a unique name. |
Value | Description |
---|---|
instanceArn |
The full ARN of your Amazon Connect Instance. You can find this in the AWS console and it should look something like "arn:aws:connect:us-west-2:815407490078:instance/5c1f1fba-d5f1-4155-9e09-496456e58912" . |
securityKeyId |
The ID of the security key that you configured for your Amazon Connect instance. You can find this in the AWS console. |
securityKeyCertificateContent |
The full content of the certificate associated with your Amazon Connect security key. Begins with -----BEGIN CERTIFICATE----- and ends with-----END CERTIFICATE----- . Note: This must be contained within a single string with newlines denoted with \\n . |
Value | Description |
---|---|
env |
The C3 environment to be used. Valid options are "prod" , "staging" , and "dev" . |
vendorId |
The C3 ID identifying your vendor. |
paymentGateway |
The payment gateway used for your vendor. Currently, only "Zift" is supported. |
Value | Description |
---|---|
agentAssistedIVR |
Determines whether or not to deploy resources necessary to support the agent-assisted IVR feature. Defaults to true . If set to false , some resources will not be deployed, and agents will not have the ability to collect payments through an IVR. |
agentAssistedLink |
Currently unsupported. This feature will be coming soon. |
selfServiceIVR |
Determines whether or not to deploy resources necessary to support a self-service payment IVR. Defaults to true . If set to false , some resources will not be deployed.For more information, see the self-service payment IVR documentation. |
subjectLookup |
Optional. Additional feature for agent-assisted IVR payments. If set, this will allow the agent to pull details about the subject to pre-fill information in the payment request (contact name, contact email, and amount due). Valid options are "required-fixed" , "required-editable" , and "optional-editable" . Leave blank if you don't want to support subject lookup.For more information, see the subject lookup documentation. |
Value | Description |
---|---|
logoUrl |
A public image URL used for the logo representing your company. This will be displayed in the receipt email sent to customers. |
supportPhone |
The phone number customers can call for support. This will be displayed in the receipt email sent to customers. |
supportEmail |
The email address customers can email for support. This will be displayed in the receipt email sent to customers. |
Once these values are provided, deploy the stack to the same region as your Amazon Connect instance by running the following at the root of the project:
npm run deploy
Note
This command will deploy to the region specified in the default profile for your AWS CLI configuration. If you would like to deploy to a different profile, you can specify the profile using the -- --profile your_profile_name
argument.
Once deployed, C3 for Amazon Connect will have deployed a number of secrets to AWS Secrets Manager. These secrets will need to be updated with the appropriate values in order to facilitate the operation of the C3 resources:
Secret Name | Description |
---|---|
C3_PRIVATE_KEY | The content of the private key that was used in the previous step when you generated the certificate. The content of this file can be copy-pasted into Secrets Manager. |
C3_API_KEY | The API key assigned to your C3 vendor. |
< GATEWAY >_CREDENTIALS | The credentials to the account used for your payment gateway (Zift, etc.). This includes a username, password, and account ID. |
You will also need to configure some items in your Amazon Connect instance to make C3 resources available for your agents.
Note
If you are not collecting agent-assisted payments, you can skip this step.
To have the C3 Payment Request workspace available for your agents, you'll need to make sure the third-party app is enabled in the security profile that your agents are using. Please follow the steps outlined in the Amazon Connect documentation to enable the third-party app in your security profile.
Once configured, your agents should see a Payment Request app in the Apps dropdown in the top right corner of the Amazon Connect agent workspace.
Note
If you are not collecting agent-assisted payments, you can skip this step.
To enable your agent to transfer a call to the C3 payment IVR, you will need to update the queue that your agents are working in to enable the Payment IVR quick connect. Reference the Enable agents to see quick connects step in the Amazon Connect documentation to enable the Payment IVR quick connect.
Once configured, your agents should see a Payment IVR quick connect in the Quick connects dropdown in the CCP interface. Note that this quick connect will only be present while the agent is on a call.
If you have enabled the self-service payment IVR feature, you will need to configure the necessary resources to support this feature. Please reference the self-service payment IVR documentation for more information.
If you have enabled the subject lookup feature, you will need to configure the necessary resources to support this feature. Please reference the subject lookup documentation for more information.
C3 for Amazon Connect can also be used within Salesforce to facilitate payments. Please reference the Salesforce Integration documentation for more information.