AWS Contact Center

Amazon Connect – Best practices for running outbound campaigns

Many contact center managers want to proactively reach out to more customers by leveraging high-volume voice, SMS and email capabilities to keep them engaged, informed, and on schedule for appointments, bill payments, or other events and activities. The vast majority of these communications are phone calls, and in many contact centers, agents make the calls manually using customer contact lists in external systems. Outbound calling is regulated in several countries, including the Telephone Consumer Protection Act (TCPA) in the US, the Office of Communication (OFCOM) in the UK, and the Australian Consumer Law (ACL) in Australia. Contact centers must always follow applicable regulations. Failure to do this may result in fines or cause reputational harm.

Amazon Connect outbound campaigns helps you proactively communicate across voice, text, and email to serve your customers quickly and improve agent productivity, while supporting compliance with local regulations. Outbound campaigns removes the limitations of existing technologies by allowing you to scale your campaigns to customers for handling appointment reminders, marketing, deliveries, and debt collection by simply specifying the contact list, channel, message, or even a pre-recorded audio to play using the Amazon Connect admin console, before connecting customers to agents for live service. Outbound campaigns includes a predictive dialer and ML-powered answering machine detection that optimizes agent productivity and increases live party connects by eliminating the time agents waste making unanswered calls. An optional integrated list management capability provided by Amazon Pinpoint can be used to build customer journeys and multi-channel user experiences. Amazon Connect outbound campaigns helps you simplify contact center operations and reduce costs using outbound campaigns in just a few clicks, all without the need to build or maintain third-party integrations.

In this blog post, you will learn best practices to help you run outbound campaigns that support compliance and offer a seamless customer experience. Specifically, you will learn to use Amazon Connect outbound campaigns to minimize silent calls, perform point-of-dial checks, implementing calling controls for time-of-day, time zone, number of attempts per contact and improve how soon a customer is connected to an agent.

NOTE : As you are responsible for your use of Amazon Connect, please consult with your own legal counsel or compliance team regarding your compliance obligations with respect to regulations affecting your business.

Prerequisites

  1. Run through the steps enumerated in this blog to set up your Amazon Connect instance for outbound campaigns.

Best Practices

Reduce the time taken to connect a live customer to an available agent

In order to reduce the time taken for the dialer to deliver the call to an available agent, the following best practices are recommended:

  • Ensure there are sufficient agents logged in to the queue.
  • Turn off Answering Machine Detection (AMD) in the campaign.
  • (If possible) Remove any “Play prompt” blocks from the contact flow prior to transferring the call to the queue.
  • Remove any “Play prompt” blocks from in the agent and customer whisper flow.
  • Enable Auto Answer setting on agent CCP.
  • (If possible) Minimize the geographical distance between the locations of the Amazon Connect instance of the agent and your customer.
  • (If possible) While creating the segment file for Pinpoint, add the data that is required for routing logic and agent screen pop and avoid dips to Lambda functions to extract additional information prior to connecting to an agent.

Avoid silent calls

Successful outbound calling campaigns will avoid silent calls, an extended period of silence after a person answers a call before an agent comes on the line. Some countries also have specific requirements to limit the number of silent or abandoned calls and keep the called party informed. You can minimize silent calls by introducing “Loop prompts” and play a message back to the customer if the agent does not answer the call within a required timeframe.

Loop Prompts

Manage redials

You can configure how often a number is dialed, by specifying a ‘pause’ between multiple dial attempts. Here’s how to configure:

  • Create a Journey in Amazon Pinpoint.
  • In the Journey, add a multivariate split.
  • For the call disposition of ‘Voicemail’, select the option to redial after, for example, 4 hours.
  • For the call disposition of ‘Not answered’, select the option to redial after, for example, 1 day.

Compliance handling

Configure maximum contact attempts over specified number of days

For certain use cases (e.g. for telemarketing), you may be required to limit how often you may attempt to call an endpoint over a certain number of days. Max attempts allows you configure the number of attempts over a specified period. There are three different ways within Amazon Pinpoint to do this:

    • Specify the maximum contact attempts made to an endpoint in a 24 hr period.

Limit per day in Journey

    • Specify the maximum number of times you can reach an endpoint for a particular journey, and across journeys.

Limits across Journeys

  • Set a rolling limit by specifying the maximum number of times you can reach a endpoint within a certain time period. For example, contact an endpoint at most 2 times over the next 7 days.

Meet minimum ring duration requirements for unanswered calls

Some regulations require unanswered calls to ring for a minimum duration of time (e.g. 15 seconds) to the customer has sufficient time to pick up the call. Amazon Connect outbound campaigns does not limit duration for unanswered calls, and as such, lets an unanswered call ring until the call goes to voicemail, or automatically terminates.

Institute Opt-out or Do-No-Call (DNC) checks

Many countries have created DNC lists to allow consumers to register their preference not to receive marketing calls. Companies are required to check customer phone numbers against such DNC lists, and remove them before placing a call. You can manage DNC lists within outbound campaigns via Pinpoint.

  • External DNC checks: Amazon Pinpoint Journeys allows you to also check the status of an endpoint against 3rd party data sources before sending the messages. Amazon Pinpoint allows customers to split off an AWS Lambda response in Journeys, so you can instruct the Lambda function to conduct external DNC checks and decide whether to dial or not based on the response. For example you can check if a customer’s phone number can be dialed based on whether it is listed in an external do not call registry.

Do-Not-Call

Institute calling controls based on time zone

Some regulations suggest calls occur only during a specified times (e.g. from 9am to 6pm). To support this requirement, there are a number of settings available within Amazon Pinpoint when creating customer journeys.

    • Set the quiet time configurations to prevent contacts between certain hours of the day based on the customer’s local time zone.
    • Configure quiet times for certain days of the year (e.g. do not contact on New Year’s day).

Holidays

    • Set start and end time for communications on each day of the week (e.g. call between 8am to 4pm from Mondays to Fridays, between 10am to 1pm on Saturdays, and not on Sundays).

Weekday configuration

Choose the “Use recipient’s local time zone” option to specify use of the local time zone of the endpoint.

Quite times

Suppress contacts on holidays

Certain regulations require customers not be contacted on specified days (e.g. on public holidays). Amazon Connect outbound campaigns will not auto-dial customers when no agents are available in the associated queue. In addition, you have two other ways to ways to suppress contacts.

    • Use Amazon Pinpoint to programmatically pause the journey via API or via the console for specified days (e.g. on public holidays). Below is an example of how to “Pause” a journey using the Pinpoint console

Pause journey

    • Use Amazon Pinpoint to programmatically resume the journey via API or via the console for specified days (e.g. on working days). Below is an example of how to “Resume” a journey using the Pinpoint console

Resume journey

    • Use the Amazon Connect outbound campaigns UI to manually pause a campaign to prevent auto-dialing. See the example below.

Pause resume

Maintain Calling Line Identification (CLI)

Certain regulations require presenting the dialed customer the phone number associated as caller ID versus switching to a different one number. Amazon Connect enforces the use of a CLI that corresponds explicitly to a number that is claimed within the instance. The requirement is supported as the phone number you specify as caller ID for your outbound campaign must be the one you have claimed or ported.

Measure metrics to support compliance

Amazon Connect publishes Contact Event Streams (CES) via Event Bridge as described in the blog, you can capture that information and log into CloudWatch logs for troubleshooting purpose. For example, below is the log excerpt that an agent answered a call :

	
{
  "version": "0",
  "id": "7eb8b9c5-a7af-7ec5-8dd6-036cd7937cd8",
  "detail-type": "Amazon Connect Contact Event",
  "source": "aws.connect",
  "account": "854005473701",
  "time": "2022-06-09T22:19:28Z",
  "region": "us-west-2",
  "resources": [
    "arn:aws:connect:us-west-2::instance/",
    "arn:aws:connect:us-west-2::instance//contact/"
  ],
  "detail": {
    "disconnectTimestamp": "2022-06-09T22:19:28.998Z",
    "initiationTimestamp": "2022-06-09T22:19:10.923Z",
    "contactId": "cf495c6e-a26a-4a6d-a157-fc818f8062cd",
    "channel": "VOICE",
    "instanceArn": "arn:aws:connect:us-west-2::instance/",
    "initiationMethod": "API",
    "eventType": "DISCONNECTED",
    "agentInfo": {
      "agentArn": "arn:aws:connect:us-west-2::instance//agent/",
      "connectedToAgentTimestamp": "2022-06-09T22:19:22.133Z"
    },
    "queueInfo": {
      "queueType": "STANDARD",
      "queueArn": "arn:aws:connect:us-west-2::instance//queue/",
      "enqueueTimestamp": "2022-06-09T22:19:22.709Z"
    },
    "campaign": {
      "campaignId": "2fa6ed53-810e-4ff3-a123-7575dfc6e1c1"
    },
    "connectedToSystemTimestamp": "2022-06-09T22:19:19.278Z",
    "customerVoiceActivity": {
      "greetingStartTimestamp": "2022-06-09T22:19:20.317Z",
      "greetingEndTimestamp": "2022-06-09T22:19:20.395Z"
    }
  }
}

In the above example the call was answered by the customer and finished their greeting (e.g. “Hello, this is Jim”) at 2022-06-09T22:19:20.395Z based on the timestamp recorded in the JSON element customerVoiceActivity.greetingEndTimestamp. Later the call was answered by the agent at 2022-06-09T22:19:22.133Z based on the timestamp recorded in JSON element agentInfo.connectedToAgentTimeStamp. The difference between these timestamps is 1.73 seconds, which is how long it took to be connected after the customer finished their greeting.

See this blog to learn how you may create metrics to calculate Abandonment Rate by campaign.

Conclusion

This post demonstrates how to configure Amazon outbound campaigns and Amazon Pinpoint to support compliance with telemarketing and consumer protection laws. Using the new feature, you can now:

  • Reduce the time taken to connect a live customer to an available agent by configuring agent queues, campaign settings and contact flows.
  • Configure Amazon Pinpoint to specify quiet times, handle do-not-call lists, pause/resume customer journeys on specified days, and managing redials.
  • Understand how you can use Amazon Connect outbound campaigns to support other compliance requirements.

Related links

To learn more about the technologies or features used to create this solution, see the following:

Amazon Connect
Amazon Pinpoint
Amazon EventBridge
Amazon CloudWatch
AWS-SDK