AWS Contact Center

Improve routing and self-service using Amazon Connect Customer Profiles and step-by-step guides

Contact centers leverage Interactive Voice Response (IVR) systems for call routing, self-service automation, and information retrieval. However, challenges often arise when customers need to access data from third-party systems and Customer Data Platforms (CDPs), as it often requires making API calls through custom code. This process can be complex, requiring technical expertise that is not universally possessed by all contact center personnel. According to a blog by Forrester, nearly 60% of organizations struggle with integrating customer data from disparate existing systems. Due to this, it becomes harder to personalize customers’ contact center experiences. Therefore, it is important to simplify integrating customer data from various sources to empower contact center staff to deliver more personalized and efficient service, regardless of their technical background.

In this blog post, we aim to address this challenge by introducing a more accessible solution to access and update customer data. We will guide you through different scenarios by utilizing different patterns across multiple channels to seamlessly retrieve customer information. This information can used for IVR routing, enhancing automated self-service, and customizing customer facing interfaces with relevant details for efficient issue resolution. Amazon Connect Customer Profiles, coupled with step-by-step guides, helps eliminates complex development work for identifying customers within the IVR by providing an easy way to incorporate interactive messaging into chat interactions, enabling customer information collection without an agent.

Key concepts

There are a few key concepts to know before enabling this experience in your contact center.

Customer Profiles data mapping

Amazon Connect simplifies the integration of customer data from external services and applications through a user-friendly, no-code approach. Customer Profiles utilizes data mappings to link data elements (e.g., customer address and email) from your source platforms to specific fields in an Amazon Connect customer profile. To create a data mapping, define an object type mapping that outlines the unified profile structure. You can map data into predefined objects like Customer, Product, Order, and Case, or create custom objects.

Customer Profiles calculated attributes

Amazon Connect Customer Profiles calculated attributes automatically transforms raw customer interaction data into valuable insights, such as recent activities and behavioral trends, making it easier for you to build automated experiences. Calculated attributes are available in the Customer Profiles flow block to craft tailored experiences for customers, including seven out-of-the-box default attributes that you can start using right away.

Step-by-step guides in chat

Step-by-step guides enable creating custom workflows that guide customers or agents through a user-friendly interface, providing clear instructions at each step of an interaction. You can display step-by-step guides directly to end-customers in chat. With this feature, you can present the same guide built for agents to end-customers for self-service needs within the chat experience, helping resolve end customer needs faster and reducing operational costs.

Deployment walkthrough

In this blog, we will walk through 3 use cases that highlight common self-service opportunities that can be enhanced using Customer Profiles and step-by-step guides.

Prerequisites:

Use case 1: Deploying a sample interactive self-service experience that allows customers to check order status using the Product object


When a customer calls to check the status of their laptop order, the contact center should be able to handle this without involving an agent. With Customer Profiles, you can store various types of objects to manage customer data (such as products, orders, or even custom objects). In this example, we will use an out-of-the-box object type Product (Asset). Once all the necessary data is provided and customer is validated, the customer will be informed the status of their order.

Step 1: Use AWS CloudFormation to set up a customer profile data mapping, import customer data with objects (Product), and deploy a flow for testing

  1. Open the AWS Console.
  2. Navigate to AWS CloudFormation using the search bar at the top.

    AWS CloudFormation search in AWS console

    Figure 2: AWS CloudFormation search in AWS console

  3. Select Create stack > With new resources (standard).
  4. Under Specify template > Template source, select Upload a template file.
  5. Download this CloudFormation template that will deploy the following:
    • An Amazon S3 bucket that will host the mock customer data1 Customer Profile (Martha Rivera) and 3 Product/Asset’s being mapped to this profile (Mouse, Laptop, Desk).Figure 1: Sample mock data imported into S3 bucket
    • An AWS Lambda function that will be used to copy the mock data into your Amazon S3 bucket
    • An Amazon Connect Customer Profile data object mapping to define how data from your data source (Amazon S3) should be mapped to your customer profile
    • An Amazon Connect Customer Profile data source integration to ingest your customer data from Amazon S3
    • An Amazon Connect flow that:
      • Provides a greeting
      • Searches customer profile based on the phone number
      • Asks for intent (in this example, status of order)
      • Looks up the order number you provide. This will use the Get Profile Object method by using the search identifier orderNumber in the Customer Profile flow block. Each Asset has an order number as shown in the data above.
      • Provides the status of the order (e.g. Shipped, Delivered, etc.).

        Use case 1 contact flow import

        Figure 3: Use case 1 contact flow import

  6. Select Choose file and select the file you downloaded above.

    AWS CloudFormation acknowledgement

    Figure 4: AWS CloudFormation acknowledgement

  7. Select Next.
  8. Provide a Stack name for your stack.
    • Note: Use lowercase characters for your Stack name as your Amazon S3 bucket will share this name and it is a requirement for Amazon S3 bucket names to be lowercase.
  9. Provide the ARN for your Amazon Connect instance under AmazonConnectInstanceARN.
    • You can find your Amazon Connect instance ARN here.
  10. Provide the domain name of your Customer Profiles domain under CustomerProfilesDomainName.
    • You can find your Customer Profiles domain name in the AWS Console > Amazon Connect > Your instance name > Customer Profiles.

      Amazon Connect Customer Profiles page

      Figure 5: Amazon Connect Customer Profiles page

  11. Select Next.
  12. On Configure stack options, leave all the default settings.
  13. Select Next.
  14. On Review and create, scroll down to the bottom and select the checkbox I acknowledge that AWS CloudFormation might create IAM resources.

    AWS CloudFormation acknowledgement

    Figure 6: AWS CloudFormation acknowledgement

  15. Select Submit.
  16. This may take a few minutes to complete. Please wait until the status of your stack is CREATE_COMPLETE. If your stack fails to deploy, check to ensure your instance meets the prerequisites listed above.

Step 2: Verify your newly created Customer Profile and associate the profile with your phone number for testing

Once you have deployed the CloudFormation template, you will see the resources in your account. It may take a few minutes for Customer Profiles to activate the integration sync between Amazon S3. You can check the status in AWS Console > Amazon Connect > Your instance name > Customer Profiles > Data source integrations. Once Active, there will be a newly created Customer Profile with account number 42424242. You will need to associate this Customer Profile with your phone number so that you can call in to test.

  1. Login to your Amazon Connect instance.
  2. Open up the Agent Workspace.
  3. Under the Customer Profile tab, search 42424242. This is the account number of the newly created Customer Profile that was mapped.

    Search for deployed profile in Customer Profile UI inside agent workspace

    Figure 7. Search for deployed profile in Customer Profile UI inside agent workspace

  4. Select Edit.
  5. Update the phone number with your phone number that you will use to test.

    Edit Phone number in Customer Profiles UI in agent workspace

    Figure 8: Edit Phone number in Customer Profiles UI in agent workspace

  6. Select Save.
  7. You will see your phone number now associated with this Customer Profile. Note: If you select the Product Purchase History tab, you will see the 3 Asset’s mapped to this profile.

Step 3: Associate a phone number on your Amazon Connect instance to your newly deployed flow

  1. Login to your Amazon Connect instance.
  2. Navigate to Channels > Phone numbers.
  3. Claim a new phone number or select an active phone number to edit.
  4. Under Contact flow / IVR, select UseCase1

    Associating contact flow to phone number selection

    Figure 9: Associating contact flow to phone number selection

  5. Select Save.

Step 4: Test the experience!

  1. Dial the phone number associated with UseCase1.
  2. Call from the phone number you have associated to the Customer Profile for Martha Rivera.
  3. When prompted, Press 1 to check the status of order.
  4. Enter 1234, and you should hear the status of your order is SHIPPED. These details are populating from the MockData.csv in the S3 bucket that syncs with your Customer Profile.

Use case 2: Using Step-by-step guides in chat to update your Customer Profile


A customer reaches out to the contact center to update the email address on their account. The customer’s email address is stored in the Customer Profile within Amazon Connect. We want to offer customers the ability to self-serve instead of talking to an agent to update their email address. To do this, we will use step-by-step guides in chat and the Customer Profile block within flows. To start, we will create Views that will prompt customers to press buttons or fill out a form. Then, we will create a flow that will run the self-service experience in chat. This flow will use the Show View block to render the Views to the customer.

Step 1: Use CloudFormation to set up your Views and flows

  1. Follow the same instructions to create a stack as shown in Use Case 1 > Step 1 using this CloudFormation template that will deploy the following:
    • 3 Step-by-step guide Views that will serve as the interactive messages
    • 1 flow that will be required to create your chat experience
  2. After providing a Stack name for your stack (using lowercase characters), provide the ARN for your Amazon Connect instance under AmazonConnectInstanceARN. You can find your Amazon Connect instance ARN here.
  3. Follow the steps to complete stack creation and wait until the status of your stack is CREATE_COMPLETE. This may take a few minutes.

Step 2: Configure your Communication Widget in Amazon Connect

  1. Create a Communication Widget that can be used for this example. You can customize your chat communication widget with fonts, colors, and branding. As a result, you will have a short code snippet that you add to your website. To learn how to create a Communication Widget, see Add a chat user interface to your website.
  2. When selecting Chat contact flow, use the flow deployed in the last step named UseCase2-SBSGuideFlow.

    Communication widget chat contact flow selection

    Figure 10: Communication widget chat contact flow selection

  3. For Website domain, enter anything for now such as https://www.example.com.
  4. Once complete, copy the generated script as you will need it in the next step.

    Communication widget generated script

    Figure 11: Communication widget generated script

Step 3: Use AWS CloudFormation to deploy a sample webpage to host your Communication widget

  1. Follow the same instructions to create a stack as shown in Use Case 1 > Step 1 using this CloudFormation template that will deploy the following:
    • 1 CloudFront distribution to host your website
    • 1 S3 bucket to host your website content
    • 1 Lambda Function to copy the website content into your S3 bucket
  2. After providing a Stack name for your stack (using lowercase characters), provide the widget script that you copied from the last step under ChatWidgetScript.
  3. Follow the steps to complete stack creation and wait until the status of your stack is CREATE_COMPLETE. This may take a few minutes.
  4. Under Outputs, copy the WebsiteURL value. This is the CloudFront distribution deployed to host your website.

Step 4: Add the website domain to your Communication Widget

  1. Navigate back to your Amazon Connect instance under Communication widgets.
  2. Select the Communication widget you created for this example.
  3. Under Domain & Security, select Edit.
  4. Add the website domain that was output from your AWS CloudFormation template. This will be a cloudfront.net URL copied from Step 3. Don’t forget to add https://.

    Add the required domains for the communication widget

    Figure 12: Add the required domains for the communication widget

  5. Select Save and continue.

Step 5: Test your step-by-step guides in chat experience

  1. Open the URL provided by the AWS CloudFormation template. This will be a cloudfront.net URL.
  2. You should notice your Communication Widget located on the bottom right hand corner of the webpage.
  3. Select it to open it. If you encounter a message such as Something went wrong, Investigate common issues with adding a chat user interface to your website.
  4. You should immediately be prompted with 3 buttons used to capture your intent.

    Deployed sample website with chat communication widget open

    Figure 13: Deployed sample website with chat communication widget open

  5. Select Update my email address.
  6. Now, it will prompt you to enter the email address associated with your Customer Profile. Enter that now. If you already went through Use Case #1, you can use the email address associated with the profile it created for you: marthar@example.com.

    Step-by-step guides in chat form field for email address

    Figure 14: Step-by-step guides in chat form field for email address

  7. It should find your account details. Now, you can see your Customer Profile details displayed on the View you created. Now enter the email address you want to update it with such as test@example.com.

    Step-by-step guides in chat enter replacement email address

    Figure 15: Step-by-step guides in chat displays customer details and allows for customer to enter replacement email address

  8. You will see that it updated with a Success message. You can go back through to confirm if it changed or check the Customer Profile through the agent workspace.

    Step-by-step guides in chat success message

    Figure 16: Step-by-step guides in chat success message

  9. This is just a simple example. However, there are a variety of components you can include as part of your interactive messages experience. Open up your flow in the flow designer and your Views in the no-code UI builder to explore and make changes to the configuration as needed. Learn more by using our interactive guides documentation.

    No-code UI builder

    Figure 17: No-code UI builder

Use case 3: Leveraging calculated attributes within your Customer Profile to enhance routing


A customer reaches out to your contact center multiple times. Depending on contact volume, you want to provide a different experience. For example, someone who is calling your contact center 5+ times in one day, may need to get to an agent quickly. In your Customer Profile, you can use calculated attributes to identify details around your customer’s behavior, patterns in their interactions, or use aggregation operations (such as sum, min, max, count, avg) to define custom metrics that will enhance experiences in your IVR or chatbots. To do this, we will use the Customer Profile block in a flow to retrieve a calculated attribute to then leverage for contact routing.

Step 1: Create or update existing calculated attributes for your business logic

  1. Login to your Amazon Connect instance.
  2. Navigate to Customer Profiles > Calculated attributes.
  3. You can create a custom attribute by selecting Create attribute, but for this example we will modify an existing default calculated attribute: Select _frequent_caller. Note: This attribute is set up to return true or false based on the number of defined times a customer has called in the past 30 days. The condition will check the COUNT of contact Id’s based on the time period defined.

    Edit _frequent_caller Customer Profile calculated attribute

    Figure 18: Edit _frequent_caller Customer Profile calculated attribute

  4. Select Edit.
  5. Update time period to 1.

    Update time period in _frequent_caller Customer Profile calculated attribute

    Figure 19: Update time period in _frequent_caller Customer Profile calculated attribute

  6. Select Save.

Step 2: Create a flow that checks your calculated attributes and provides branching logic

  1. Download the flow template here.
  2. Note: some browsers require you to right click and “Save Link As”
  3. Navigate to > Routing > Flows > Create flow.
  4. Select the drop-down arrow on the right and select Import (beta).
  5. Import the downloaded flow.
  6. You will see the imported flow appear. This flow will search for your customer profile using your phone number, greet you by name, and then search to see if you are a frequent caller or not. If so, you will be prompted with “You are a frequent caller!”
  7. Publish the flow.

Step 3: Associate a phone number on your Amazon Connect instance to your newly deployed flow

  1. Login to your Amazon Connect instance.
  2. Navigate to Channels > Phone numbers.
  3. Claim a new phone number or select an active phone number to edit.
  4. Under Contact flow / IVR, select UseCase3.
  5. Select Save.

Step 4: Test your experience!

  1. Dial the phone number you associated with UseCase3.
  2. You should dial with the phone number you have associated to a Customer Profile or the one used for Martha Rivera in the previous use case.
  3. If successful in locating your profile, you will be greeted by name.
  4. Lastly, you will hear, You are not a frequent caller! if this is your first call of the day. Keep calling to trigger the 5-contact threshold. You will then hear, You are a frequent caller!

While this is a simple example, you can now tailor this flow to your use case with custom calculated attributes.

Clean-up

Ensure resources not in use are managed properly and decommissions to maintain optimal performance and cost-efficiency within your AWS environment. Once you are finished testing:

  1. In your contact center navigate to Channels > Phone Numbers and select the phone number you used to test the example.
  2. Set that number’s Contact flow / IVR to something other than the flows deployed in this example and click Save.
  3. Empty the S3 bucket created.
  4. Delete the CloudFormation stacks that were provisioned.
  5. Using the DeleteProfile API, delete any customer profile that appears as Unknown.

Conclusion

Leveraging Amazon Connect Customer Profiles and step-by-step guides can simplify the process of integrating customer data from various sources and introduce a more accessible solution to access and update customer data. In this blog, we’ve illustrated how Customer Profiles enables no-code data management across platforms—such as Amazon S3, Salesforce, ServiceNow, Zendesk, and Marketo. Mapping product and custom data objects, alongside utilizing calculated attributes, provides deeper customer insights for personalization. In addition, we showcased step-by-step guides for chat transforming self-service, reducing agent intervention and lowering costs.

By deploying these Amazon Connect features, customers experience personalized service across channels. Through practical examples and deployment walkthroughs, we’ve shown how you can benefit from enhanced self-service and no-code UI experience, boosting the customer experience and cost efficiency.

Resources

Looking to learn more about step-by-step guides? Read this blog to get started.

Want to get hands-on with Customer Profiles? Follow this workshop to learn more about how to enable and personalize routing with the Customer Profiles block.

Ready to transform your customer service experience with Amazon Connect? Contact us.