How to Integrate Customer Profile Data into your Contact Center Experiences - AWS Online Tech Talks

How to Integrate Customer Profile Data into your Contact Center Experiences - AWS Online Tech Talks


How to Integrate Customer Profile Data into your Contact Center Experiences - AWS Online Tech Talks

Your customers expect a fast, frictionless, and personalized customer service experience. However, agents spend on average 2 minutes navigating mutliple applications to find important customer data leading to poor experiences and high costs. Amazon Connect Customer Profiles automatically brings together customer information from multiple applications into a unified customer profile, delivering the profile directly to the agent as soon as the support call or interaction begins. In this tech talk, learn how to ingest data from third party and homegrown CRMs, use machine learning to delete duplicate profiles, and discover how to use customer profiles to greatly improve your agent productivity.

Learning Objectives:
-Discover how Amazon Connect Customer profiles enable contact center agents to deliver faster, more personalized customer service
-Learn how to ingest data from homegrown CRMs and application using S3 as a source
-Explore how to remove duplicate customer records using ML

To learn more about the services featured in this talk, please visit: https://aws.amazon.com/connect/custom… Subscribe to AWS Online Tech Talks On AWS:
https://www.youtube.com/@AWSOnlineTec

Follow Amazon Web Services:
Official Website: https://aws.amazon.com/what-is-aws
Twitch: https://twitch.tv/aws
Twitter: https://twitter.com/awsdevelopers
Facebook: https://facebook.com/amazonwebservices
Instagram: https://instagram.com/amazonwebservices

☁️ AWS Online Tech Talks cover a wide range of topics and expertise levels through technical deep dives, demos, customer examples, and live Q\u0026A with AWS experts. Builders can choose from bite-sized 15-minute sessions, insightful fireside chats, immersive virtual workshops, interactive office hours, or watch on-demand tech talks at your own pace. Join us to fuel your learning journey with AWS.

#AWS


Content

0.56 -> good afternoon everyone
3.12 -> we are very excited for for presenting
5.44 -> today
6.16 -> how can you personalize and automate
8.08 -> your contact center experiences
10.96 -> in the session today review of the two
12.96 -> presenters first
14.48 -> show with gupta that's myself i'm a
16.64 -> senior product manager
18.08 -> with amazon web services when you want
20.72 -> to do this
21.84 -> hi everyone my name is quinn and i'm a
23.84 -> specialist solutions
25.119 -> architect for amazon connect
28.96 -> great now let us get started
33.52 -> in the agenda today we have five items
36.239 -> first
36.96 -> we're gonna introduce to you what is
39.36 -> amazon connect
40.559 -> and how it can help you to solve for a
43.6 -> smarter and more automated contact
45.28 -> center experiences
47.2 -> second we're going to walk through some
48.879 -> challenges that our customers tell us
50.719 -> they face
51.76 -> for personalizing the customer
54.8 -> experience
55.76 -> for contact centers third we're gonna
58.879 -> start talking about
60.079 -> a new feature that we launched last
63.039 -> december at reinvent 2020
64.879 -> called amazon connect customer profiles
67.28 -> and how this new feature
68.64 -> can really help you personalize and
71.52 -> automate
72.32 -> your contact center experiences and then
75.439 -> we'll walk the talk
77.04 -> we'll have quinn presenting on how to
79.6 -> build
80.64 -> for for this above use cases identified
83.759 -> in a builder session and finally we're
86.159 -> going to leave you with rich resources
87.92 -> to get started such as blogs
89.92 -> documentation and other assets
93.84 -> all right with that let's get started
95.84 -> with introduction
97.28 -> to amazon connect
101.119 -> so one of the common questions we hear
103.439 -> from our customers
104.72 -> are like this hey you know i'm
106.64 -> struggling with low c sat scores how can
108.64 -> i improve my customer experience
110.72 -> hey i have heard aws is great with
113.52 -> machine learning and artificial
114.799 -> intelligence
116 -> how can i infuse that into my contact
119.68 -> centers to make it smarter
121.759 -> or we have questions such as i want to
124.88 -> innovate
126 -> for for improving my customer experience
128.399 -> but i don't want to incur a lot of
130.319 -> large upfront costs at the same time you
133.52 -> always get questions such as hey
135.12 -> in my contact center i'm struggling with
137.68 -> longer than average
138.8 -> hold durations long queue durations we
142.08 -> have a lot of call volumes with limited
144.16 -> agents
145.04 -> can you help us optimize for costs and a
147.36 -> better customer experience
149.68 -> and to address these questions we have
152.239 -> amazon connect
156 -> amazon connect is an easy to use
158.72 -> omni-channel
160.16 -> cloud contact center experience amazon
163.12 -> connect has been built
164.319 -> after years of of work on understanding
168 -> how amazon.com scales its contact center
170.4 -> experiences
171.44 -> it's the same technology that powers
173.12 -> contact center experiences for
174.4 -> amazon.com
176.72 -> now going up straight is is what are the
179.2 -> different parts of amazon connect that
181.12 -> makes it special
182.64 -> first self-service configuration that
185.04 -> enables instant innovation
187.44 -> so we provide the ability for our
189.44 -> customers to get started with a contact
191.2 -> center
192.159 -> within within a few hours
195.68 -> that's number one and this can be done
198.239 -> by
198.72 -> by just going to the management console
200.56 -> spinning up an instance of amazon
202.159 -> connect
202.72 -> without any required command of coding
205.92 -> the second is that a traditional contact
208.56 -> center
209.28 -> has multiple applications inside it
211.519 -> there is a multiple
212.48 -> application for tracking the efficiency
214.879 -> of agents
216.239 -> for managing customer data for
218.64 -> understanding how routing works
220.959 -> and amazon connect brings all of these
223.2 -> applications together
224.48 -> in one application which is amazon
226.48 -> connect so you just get started with
227.76 -> amazon connect and you get this
229.68 -> suite of features and services under the
231.519 -> same banner
233.599 -> the third is automated experiences
237.12 -> we live in a world where when customers
239.2 -> reach out to
240.159 -> two organizations they want their
242.08 -> queries to be resolved as soon as
243.599 -> possible
244.56 -> sometimes that doesn't even require
246.64 -> talking to an agent
248.319 -> and in situations like this amazon
250.319 -> connect provides
251.439 -> dynamic personal and natural automated
254.08 -> experiences
256.239 -> then with our host of ai and ml services
260.239 -> every interaction that your customers
262.479 -> have within contact center
264.16 -> can be analyzed for sentiments can be
266.16 -> analyzed for
267.199 -> predicting customer intent and can be
269.759 -> analyzed for how can they be
271.44 -> you know personalized for routing using
273.919 -> our ainmo services
276.16 -> and finally the most important thing is
278.4 -> that we want
279.6 -> our contact center to be up and running
281.919 -> with with high level of security
283.84 -> and and and real-time nature which which
286.96 -> is supported by amazon connect
288.88 -> and the most important that this is
290.4 -> cloud first solution
292 -> where you pay as you go
295.199 -> awesome so with this slide we have
296.72 -> understood about how amazon connect can
298.72 -> help you
299.52 -> build cloud contact center experiences
302 -> within a few minutes
307.36 -> now coming to the context of this
308.96 -> webinar where how
311.12 -> to personalize your customer experience
313.68 -> if you're using
314.639 -> amazon connect customer profiles
317.84 -> so amazon connect customer profiles the
319.68 -> service that was launched
321.52 -> at reinvent 2020 that helps you to
323.84 -> basically achieve
324.639 -> three objectives one it helps you to
327.919 -> ingest
328.8 -> all of your customer data from all the
331.84 -> different data applications
333.28 -> into amazon connect so now your agents
336.639 -> don't need to go to individual
338.479 -> applications to get customer data during
340.639 -> a phone call
341.52 -> they get all of that data inside amazon
343.44 -> connect
345.199 -> number two as soon as a contact comes in
350 -> customer profiles scans matches and
352.88 -> deduplicates customer data
354.96 -> what it means is that for the same
357.36 -> customer
358.319 -> might have different records across
361.039 -> different applications
363.759 -> amazon connect customer profiles removes
366.24 -> those duplicate records for you
368.24 -> so that every time your agent interacts
370.16 -> with the customer
371.36 -> they have one profile one unified
373.52 -> profile that they are interacting with
375.52 -> and not multiple profiles saving them
378 -> time
378.72 -> and making them more productive the
381.68 -> third
382.319 -> is the agent desktop experience
385.68 -> at the time of contact be from a chat
388 -> beat from voice
389.039 -> beat from ivr customer profiles
392.319 -> finds the matching record using the
394.479 -> incoming phone number
397.039 -> and surfaces that record in the asian
399.199 -> desktop experience
400.56 -> for your contact center agents
404.88 -> with this we have learned that amazon
406.479 -> connect customer profiles
408 -> enables your agents to deliver faster
411.759 -> and more personalized customer service
415.12 -> at amazon we are super customer obsessed
418.56 -> and in this situation we are going to
421.039 -> highlight
422.24 -> how one of our customers in this case is
424.88 -> a fictitious company called any company
427.039 -> is struggling to provide the customer
429.599 -> experience they need
430.479 -> for their customers the main reason
433.919 -> that that that our customer any company
436.16 -> is struggling to provide this experience
437.68 -> is
438.24 -> they're experiencing high call volumes
441.44 -> and that's that's a very common trait we
443.759 -> see in
444.479 -> in in reservation companies in service
446.72 -> companies
447.599 -> with a lot of customers calling up and
449.84 -> asking about a follow-up
451.599 -> so they're expecting large call volumes
454.16 -> and because of large call volumes and
456.08 -> limited agents
457.199 -> they're experiencing longer than average
459.44 -> wait times
460.96 -> now longer than average wait times can
462.56 -> be because like call duration
464.08 -> is running long our agent is not able to
466.4 -> resolve the customer issue in time
468.24 -> are they just like too many people
469.36 -> calling in long story short
471.52 -> the longer than average wait times is
473.919 -> what we're going to
475.12 -> solve for in the webinar today now any
478.479 -> company plans to do the following
480.56 -> to reduce their average wait times and
482.72 -> improve their customer experience
484.8 -> number one they want to reduce the
486.879 -> average handle times
489.12 -> average handle times is the time that an
490.96 -> agent spends in interacting with the
492.24 -> customer
493.68 -> and the way they want to solve it is by
495.28 -> providing more agent productivity tools
497.12 -> such as
497.759 -> a unified agent experience
501.199 -> second they want to reduce the call
503.599 -> duration overall
505.36 -> and by reducing the call duration
506.8 -> overall what they want to do is as soon
508.16 -> as a call comes in
509.759 -> they want to detect who is calling they
512.24 -> want to understand
513.279 -> if that caller even needs an agent or
515.839 -> they can just be routed to a
517.2 -> self-service workflow
518.56 -> such as checking status of a case
521.36 -> checking status of a return item
523.36 -> logging a return and so on
527.6 -> third they want to improve the customer
529.839 -> experience by personalized routing
531.68 -> experiences
533.279 -> now what i mean by that is let's say
535.04 -> that you're a customer
536.56 -> who just had an interaction with an
538.24 -> agent
539.76 -> somehow your call drops now you want to
542.08 -> call back
542.88 -> after nr any company wants to match
546.48 -> that incoming caller back to the same
548.64 -> agent that they were talking to
550.959 -> this saves time both for the customer
554.399 -> and for the agent because they know the
556.32 -> context of the call
557.839 -> so to summarize we are going to walk
560.08 -> through how any company today
563.6 -> moves from longer hold weight durations
565.839 -> to a more
566.8 -> smart and personalized and automated
568.88 -> contact center
574.08 -> now coming to the problem statement
576.32 -> right so i think
577.76 -> when we talk to our customers the main
580.959 -> problem statement that we already
582.08 -> reached to is that whenever
583.2 -> they get a contact from uh from from a
585.839 -> customer
586.88 -> the agent is spending a lot of their
588.8 -> time going through multiple applications
591.279 -> for example if a customer is calling in
593.519 -> to check status of an order
595.279 -> the agent has to first go through their
596.959 -> crm system
598.32 -> identify who is calling they have to ask
600.72 -> clarifying questions such as what is
602.24 -> your name
602.959 -> what's your email address what's your
604.399 -> account number that helps them to pull
606.56 -> up the record
607.36 -> of the caller in the crm system now they
610.32 -> take the record from the crm system
612.079 -> and then they go to a case management
613.68 -> system and the case management system
615.36 -> they try to understand
616.72 -> all right if this is the customer this
618.56 -> is their account number
619.839 -> what are the cases attached to it then
623.04 -> once they go to the case management
624.32 -> system they are able to find the status
626.079 -> of
626.8 -> was the order shipped to them has the
628.56 -> order yet not been shipped to them
630.24 -> what's the delay and sometimes they have
632.399 -> to even go to the provider which which
634.24 -> can be fedex or which can be ups service
636.16 -> to trade track the order
638.8 -> now what it does is that while an agent
641.12 -> is doing all of this
642.48 -> back-end work the the customer
646.24 -> is on a hold for the first couple of
648.72 -> minutes of a phone call the customer is
650.72 -> waiting on a phone call just so that the
653.839 -> agent can get
654.959 -> and stitch all the information that they
657.279 -> need to service them
660.48 -> in our analysis we we have found that
663.519 -> more than 30 to 35 percent of the time
665.92 -> during a call
666.88 -> is spent in just stitching this data
669.2 -> together into a unified view
671.6 -> and what does it lead to it leads to
674.399 -> poor
674.88 -> customer experience and higher contact
677.36 -> center costs
678.72 -> and this is the problem we want to solve
681.279 -> with amazon connect customer profiles
684.32 -> with amazon connect customer profiles a
686.48 -> contact center admin
688.16 -> can just go to the management console
690.399 -> aws management console
692.48 -> click and select their third party
694.959 -> application
695.68 -> such as a crm system from salesforce
698.959 -> a case management system such as
700.56 -> servicenow and zendesk
702.32 -> or just a home grown system from s3
706.56 -> they can select that within a few clicks
708.959 -> and start
709.6 -> ingesting their data within an r
712.72 -> so what it does is that within a few
714.72 -> clicks a contact center admin is
716.32 -> empowered
718.24 -> to ingest data from these different
720.24 -> sources
721.279 -> and provide it to their agent in one
723.36 -> single view
726.32 -> so that's the first value proposition of
728.48 -> amazon current customer profiles
730.32 -> providing pre-configured connectors for
732.16 -> ingesting data from third-party
733.6 -> applications
739.76 -> as soon as we start to detect that data
742.24 -> is coming in from multiple applications
743.92 -> which can be
745.6 -> let me take an example of salesforce and
747.44 -> servicenow so let's say that
749.76 -> customers data is coming in from from
752.399 -> salesforce and the case data is coming
754.24 -> in
754.48 -> from servicenow what we are doing behind
757.92 -> the scenes is we are also unifying this
760 -> data
760.72 -> and we are de-duplicating this data so
762.88 -> that when this data comes in front of an
765.12 -> agent it doesn't come as two or three
766.8 -> different records
767.839 -> but it comes as one unified record
770.88 -> and we use machine learning to identify
773.2 -> which records are similar to each other
775.36 -> and that can be tied together
777.519 -> so the value for that agent is your
780.399 -> agent doesn't have to look at
782.16 -> multiple tabs or multiple sources of
784.88 -> data and they can see all of the data in
786.399 -> a single view
790.32 -> and this is how an end experience in
793.279 -> front of an agent look like
795.6 -> to it in in order to really drive
798.639 -> personalization such as predicting that
802.24 -> the reason for the call before you are
804.24 -> even connected
805.279 -> the agent gets an automatic pop of the
808 -> customer profile
809.44 -> in their asian desktop experience and
811.839 -> that
812.56 -> already has information such as case
815.2 -> information
816.72 -> purchase history contact history
820.16 -> contact info and even customer insights
823.6 -> let me give you an example for this
826.079 -> let's say that i am a customer who is
827.6 -> calling back to check the status of
829.519 -> a plumbing work that i have logged in
832 -> for so so i called into a service
833.92 -> company
834.48 -> i set up i set up a service ticket for
838.24 -> somebody to come and check my plumbing
839.6 -> in my house i'm calling them back
842.399 -> when i'm calling them back uh the
844.32 -> customer needs to have an ability
846.8 -> or rather the contact center needs to
848.32 -> have an ability to first detect
849.92 -> who is calling and that comes in from
852.079 -> the contact information so as soon as
853.839 -> the call gets connected you get the
854.959 -> contact information
856.399 -> second i need to know when did this
858.639 -> person approach
859.92 -> the center in the past like if they're
862 -> calling in just in the last 24 hours
864.079 -> i can prioritize that call and that
866.24 -> comes from the contact history
868.24 -> i can also i can also prioritize the
870.16 -> cost on the business of call sentiments
871.839 -> such as maybe the customer had a bad
873.36 -> customer experience last time when they
874.72 -> were locking the service ticket
876 -> and they need to be prioritized to a
877.199 -> more experienced agent
879.36 -> i can also go and see what the
881.04 -> historical you know
882.959 -> transactions that that customer has done
885.279 -> with with our
886.48 -> uh with with the specific organization
890.079 -> let me take another quick example
891.92 -> another example can be
893.279 -> you know our our retail example of
895.68 -> buying a pair of shoes
897.199 -> let's say that you are looking to buy a
898.8 -> pair of new shoes
900.24 -> and you look on a website you look on a
902.399 -> website
903.36 -> you click and you add it to the cart but
905.36 -> you don't don't buy the shoes
907.68 -> you go to their mobile application and
909.36 -> the mobile application again you look
910.959 -> through the cart and you look at some
912.16 -> other shoes
913.199 -> and then you still don't make the
914.8 -> decision you call in to the retail
916.959 -> company to understand
918.48 -> like like why a specific color of the
920.88 -> shoe is not available
922.399 -> as soon as the contact center gets that
924.24 -> call the contact center then quickly ask
926.32 -> the question
927.12 -> are you calling in to ask about the pair
929.199 -> of new shoes that you're trying to buy
931.92 -> for the agent to have that level of
933.92 -> interaction for having that first
935.68 -> question to be asked
937.12 -> they need to get information access to
940 -> what was the purchase history
941.6 -> what's the customer insight whatever
943.12 -> they're browsing on their web history
945.839 -> as well as contact information about who
947.839 -> is calling that's exactly what we
949.68 -> present
950.8 -> to the agent
954 -> right now let me summarize about what i
956.32 -> have discussed with amazon connect
957.759 -> customer profiles
959.12 -> so there are four clear use cases which
961.04 -> our customers today use us for
963.44 -> number one agent experience our
966.079 -> customers
966.88 -> use our agent application widget
970.399 -> to unify all of their customer data
973.519 -> and to reduce longer than average call
976.16 -> handle times
976.959 -> as you will see in the example of any
978.32 -> company in the builder session
981.04 -> second a lot of our customers are using
983.44 -> us for automation
985.04 -> which means that a call comes in you
987.12 -> detect who is calling
988.32 -> that customer is routed to a to a
991.199 -> specialist agent to attend to their
992.639 -> names
993.279 -> or the customer goes through an ivr or a
996.16 -> self-service workflow to complete
998.16 -> the work on their own and they don't
999.6 -> need to be connected to an agent
1001.519 -> some of our customers are also using
1003.68 -> this rich history for driving their web
1005.519 -> and mobile application experiences
1007.519 -> let's say that you have a customer who
1008.959 -> is trying to try to interact with you
1011.839 -> over over a mobile application
1013.519 -> as a customer service team you can get
1015.759 -> all of that updated through customer
1017.36 -> profiles
1018.8 -> the third is identity resolution at
1020.88 -> scale
1021.839 -> so we use machine learning to go and
1025.199 -> match your data between different
1026.559 -> applications
1027.52 -> and tie that data together into a
1028.959 -> unified profile
1030.64 -> and that helps your agent that he or she
1033.28 -> doesn't need to
1034.16 -> jump between different applications but
1035.839 -> finds all of that data in a single place
1038.4 -> but last and not the least is customer
1040.24 -> insights we also plan
1042.16 -> to provide customers with insights about
1044.959 -> what's the intent of the call
1046.64 -> why is the customer calling so that the
1048.799 -> agent doesn't have to ask usual
1050.24 -> questions such as who is calling what
1051.84 -> are your email addresses what are you
1053.039 -> calling about
1054.559 -> agent starts already with the context
1056.559 -> about who and why
1057.919 -> are they calling all right
1061.36 -> with that i will hand it over to my
1063.44 -> colleague quinn
1065.12 -> to help us with how to get this built
1067.679 -> over to you quinn
1070.48 -> thank you sherbet today
1073.52 -> we're going to be using a fictitious
1075.2 -> business any company as
1077.28 -> as our example we will go through and
1079.919 -> build a demo
1080.96 -> on how you could easily unify your uh
1084.08 -> data from your customer data from
1085.919 -> multiple data sources
1087.76 -> then we can leverage this data to do
1090.64 -> automation and personalization
1092.48 -> and finally we'll showcase the machine
1094.72 -> learning capabilities
1095.919 -> from our identity resolution feature
1098.96 -> to identify duplicate records in our
1101.52 -> data sources
1102.559 -> and merge these records together
1105.76 -> let's get started in the first section
1109.679 -> what we're going to do is set up the
1111.919 -> integration with different data sources
1114.4 -> in our example any company is a services
1117.28 -> company
1117.919 -> who provides domestic services to the
1119.679 -> client they use
1121.2 -> salesforce as their customer
1123.6 -> relationship management
1125.28 -> software and specifically they use the
1127.919 -> salesforce
1128.72 -> contact object to maintain the records
1130.799 -> about their customers
1133.039 -> this includes uh client information such
1136.08 -> as first name last name
1137.28 -> email and phone number to keep track
1140.559 -> of their service history for their
1141.84 -> different customers they also have a
1143.84 -> separate homegrown
1145.52 -> system that records all of the service
1147.919 -> record histories
1149.28 -> which agent was assigned to which record
1151.679 -> what was the status of their
1153.36 -> of that service request uh when did that
1155.679 -> service request happen
1156.88 -> all of that is stored in a homegrown
1158.64 -> system
1160 -> so today i'm going to walk through a
1162.4 -> salesforce environment we'll show you
1164.559 -> the
1165.2 -> customer fictitious customers that we
1167.2 -> had created in the salesforce
1168.4 -> environment
1169.28 -> we're going to set up a amazon connect
1171.6 -> customer profiles domain from scratch
1173.44 -> for your amazon connect custom instance
1176.559 -> after that we're going to set up the
1178.64 -> integration between salesforce
1180.24 -> and our customer profile domain and
1181.919 -> start the ingesting ingestion for the
1184.08 -> data
1184.96 -> into our amazon connect customer
1187.039 -> profiles from salesforce
1189.2 -> we'll then use the out of the box agent
1191.76 -> application
1192.64 -> to validate the profiles that were
1194.559 -> created from salesforce
1197.28 -> and then we are going to create
1200.72 -> a separate ingestion mechanism to ingest
1203.919 -> the data that we have from our home burn
1205.84 -> crm in the form of a
1208.08 -> service record data using amazon s3 as
1211.44 -> our data source
1212.88 -> we will then talk about how to design a
1215.44 -> project mapping schema
1216.96 -> to allow the service to know how to
1218.4 -> ingest the data
1220.88 -> finally let's get started and get
1222.96 -> building
1224.799 -> as you can see we're in my salesforce
1226.799 -> environment
1227.84 -> this is the salesforce contact object
1231.2 -> inside here any company uses
1234.4 -> the contact object to store customer
1236.48 -> details
1237.44 -> uh for their customer you can see i have
1240.64 -> created some fictitious
1242.96 -> users inside the salesforce environment
1245.76 -> specifically
1246.88 -> i want to point out i've got a john doe
1250.32 -> another john doe another john doe and a
1253.6 -> jane doe
1254.88 -> i think i have another john doe
1256.08 -> somewhere oh and a dojo
1258.24 -> so these are the duplicate records that
1259.76 -> i created for john doe
1262.48 -> i have three merry major customer
1265.36 -> records
1265.919 -> and i finally have one nicky wolf
1268.24 -> customer record
1275.36 -> ignore these duplicate profiles for a
1276.96 -> moment we're going to let it ingest into
1278.72 -> our customer profile domain
1280.159 -> the reason i created these duplicate
1281.6 -> records is to show how our identity
1283.919 -> resolution
1284.64 -> feature is able to pick these up in the
1286.32 -> third section but for now
1288.08 -> we're going to focus on how to ingest
1289.52 -> this data into customer profiles
1292.88 -> after looking at what our salesforce
1295.679 -> environment looks like
1296.88 -> let's navigate back to the aws console
1300.08 -> from the aws console let's go to amazon
1302.84 -> connect
1305.28 -> choose your amazon connect instance
1309.36 -> from there we can start setting up our
1311.36 -> customer profiles
1315.039 -> go to the customer profiles tab
1319.039 -> here let's click enable profiles
1322.96 -> we will create a new domain
1333.84 -> we can optionally select a dead letter
1336.08 -> queue for this new domain
1339.52 -> the purpose of this deadloader queue is
1341.6 -> if we ingest any records that the
1343.2 -> service fails to process
1345.28 -> or it could be the data doesn't match
1346.88 -> the schema or the profile mapping
1349.039 -> the system is going to put those records
1351.2 -> into the dead later queue
1352.48 -> so that you can view the error messages
1355.039 -> but for today's example we're going to
1356.64 -> skip this configuration
1358.88 -> next we have to specify a kms key for
1362 -> data encryption
1363.52 -> this is the kms key used to encrypt all
1365.919 -> your data in the service
1367.919 -> let's go through the creation process
1369.679 -> for this kms key
1373.76 -> in the kms console let's choose a
1376.08 -> symmetric key
1377.919 -> give it a key alias
1384 -> and give it a description
1389.919 -> optionally add tags in the next section
1393.12 -> here we define who is going to have
1396.72 -> administrative privileges for our key
1399.919 -> if you have any users that you need to
1402.24 -> grant this permission to
1404.159 -> please feel free to add it here
1405.919 -> otherwise the default option will give
1407.36 -> your administrators admin access to this
1409.76 -> key
1410.88 -> next we define the usage permissions for
1413.919 -> this key
1414.88 -> we recommend that you use this kms key
1417.919 -> solely for the purposes of customer
1419.6 -> profiles
1420.559 -> but if you have your own use cases where
1422.24 -> you need to grant other users
1423.6 -> other accounts access to this key
1427.52 -> please consider that
1431.6 -> next you can define
1436.64 -> who gets to use who has the permissions
1438.64 -> to use this kms key
1440.4 -> we recommend you to set this key only to
1442.559 -> use by the
1443.52 -> profile service if you do have other use
1446.24 -> cases
1446.799 -> where you need to extend the use usage
1449.919 -> you can enable your users from here for
1452.08 -> this demo we'll skip this step
1455.12 -> once we review our key policy we're
1458.08 -> going to finish creating the key
1460.4 -> navigate back to the profiles
1463.76 -> console and here we can choose the key
1465.6 -> that we have just created
1472.24 -> submit and your profiles domain have
1474.799 -> been enabled
1477.76 -> next let's create the salesforce
1479.279 -> integration
1481.039 -> once the domain has been set up we can
1483.2 -> click the add integration
1484.72 -> button choose salesforce click read and
1488 -> acknowledge
1488.799 -> to look at the integration requirements
1490.96 -> for your salesforce instance
1493.679 -> once you have met the requirements click
1495.44 -> next create a new
1497.279 -> connection give it a name of your
1500.4 -> choosing this defines the name of this
1502.08 -> connection
1506.96 -> we're going to click log into salesforce
1509.84 -> we will choose
1511.039 -> your salesforce account and
1514.64 -> enable the integration
1519.6 -> once the connection has been established
1522.08 -> you can configure what
1523.44 -> objects from salesforce you would like
1524.88 -> to ingest into your domain
1528.08 -> out of the box amazon connect customer
1530.32 -> profiles
1531.12 -> has native connectors for the salesforce
1533.279 -> account contact
1534.48 -> and asset objects
1539.2 -> once you're happy with the date for the
1541.2 -> integration date
1542.799 -> choose next
1546.72 -> once you review your configuration here
1549.039 -> click create integration
1552.48 -> now this salesforce integration could
1554.559 -> take anywhere between 5
1556 -> to 15 minutes for your in first
1557.919 -> integration to be set up
1559.52 -> after that profiles will automatically
1561.36 -> ingest data from your salesforce
1562.88 -> instance
1564 -> you can check when the last integration
1566.72 -> was synced by clicking
1568.08 -> the view objects button to see when was
1570.88 -> the last time
1571.6 -> your objects were synced to this
1573.919 -> customer profile domain
1576.32 -> once the data are ingested we can use
1578.32 -> the out of the box agent application to
1580.32 -> view the records
1586.24 -> now we have navigated to the amazon
1588.64 -> connect
1590.64 -> agent application you can see out of the
1594.08 -> box we have access to the
1595.76 -> call control panel where the agent makes
1597.6 -> calls but also we have a widget for
1599.52 -> customer profiles
1601.2 -> here we can search for the salesforce
1603.44 -> records that was ingested
1604.88 -> we can search by first name email phone
1607.279 -> number
1607.919 -> let's look for mary major
1612.64 -> as you can see we have all three of the
1615.12 -> duplicate mary major
1617.279 -> records ingested let's look for mickey
1619.919 -> wolf
1622.4 -> you can see the profile for nikki wolfe
1625.36 -> is ingested from salesforce
1629.2 -> now that we have the salesforce data
1630.64 -> ingested let's create the integration
1633.679 -> to test for the service records
1636.799 -> before we start it would be great to
1638.399 -> take a look at our data for the service
1639.84 -> record
1642.24 -> we can see there are different columns
1644.159 -> here we've got customer id
1645.919 -> this maps to our salesforce contact
1647.919 -> record we have reference id
1650 -> for the service request this is a unique
1652 -> identifier for the service record
1654.559 -> we have the service types like cleaning
1658.08 -> plumbing moving we have the agent
1660.08 -> assigned for the job and we also have
1661.76 -> some additional notes here
1663.039 -> so this is what our service record looks
1664.88 -> like next
1666.64 -> in order to ingest this data into the
1669.44 -> profile's domain
1670.64 -> we have to define a schema for this data
1672.96 -> we're going to be referring to the
1674.399 -> schema
1675.039 -> as an object mapping as we refer to the
1678.48 -> service record as a profile object type
1681.919 -> this profile object type
1683.44 -> is a record that's associated with a
1685.76 -> profile
1687.679 -> in order to create the pro profile
1690.159 -> object mapping we can use the profile
1692.32 -> object mapping tool to create this
1694.84 -> mapping
1696.08 -> here you can see the profiles object
1698.159 -> mapping tool
1700.08 -> we can start by providing the domain
1702 -> name for our profile object
1713.279 -> we can create the object type name
1718.32 -> and give it a description
1724.24 -> i'm going to go click next here we can
1726.96 -> provide an example
1728.32 -> of what an individual record looks like
1731.679 -> i'm going to copy paste this from our
1733.44 -> data
1734.72 -> based on this data the tool is going to
1737.84 -> grab
1738.559 -> the fields that are available inside
1741.6 -> this data model
1743.76 -> here in the drop down we can see all the
1745.36 -> columns or fields from our source data
1748.24 -> by default the entire source object is
1750.96 -> ingested
1752.24 -> what the source what the object mapping
1754.88 -> needs
1755.36 -> to define is how this object is going to
1757.279 -> be ingested
1758.48 -> how are we going to assign the service
1761.279 -> record
1761.919 -> to an existing profile object how can we
1764.88 -> search these service records
1766.96 -> in the object mapping we have two
1768.559 -> sections we have
1770.48 -> the field mapping and the key definition
1773.039 -> the field mapping defines if any fields
1775.279 -> from the source object is going to be
1777.12 -> mapped to the profile object
1779.039 -> this is going to be useful if we want to
1780.799 -> update any of the existing attributes in
1782.96 -> a profile data
1784.799 -> from when we ingest it from another data
1786.64 -> source or if we want to add additional
1788.799 -> attributes to the profile data
1791.039 -> the key definition defines how the
1793.279 -> source object
1794.159 -> are assigned to profiles in our example
1797.36 -> we're going to choose the these
1798.88 -> following four fields
1800.559 -> customer id reference id
1804.399 -> last service date and and notes
1808.88 -> we click add field to mapping and what
1811.039 -> we're going to populate
1812.08 -> is choose the target field the target
1814.799 -> field
1815.679 -> defines how the profile object is going
1818.559 -> to update the profile data
1820.08 -> so here we want to match the customer id
1822.799 -> to the salesforce
1825.2 -> contact id we want to match we don't
1828.48 -> have a match for the reference id but we
1830.24 -> want to use this reference id as a key
1832.72 -> we're going to be creating a custom
1834.48 -> attribute for the service
1836 -> record are called attributes
1840.559 -> dot last service date and we're going to
1844.159 -> map
1844.559 -> the notes to additional information on
1846.64 -> the profile
1848.24 -> now next we add our keys for every
1851.679 -> object mapping
1852.88 -> we require to define two separate keys
1855.44 -> the unique key and the profile key
1857.76 -> the unique key is used to uniquely
1860.159 -> identify
1861.36 -> objects in this case a sells a service
1864.24 -> record
1865.12 -> the profile key is used to define how to
1867.679 -> associate the service record with a
1869.2 -> profile
1870.08 -> for example here we'll use the
1872.159 -> salesforce contact id
1873.76 -> which means that the service when the
1876.08 -> service is ingesting this data
1878.48 -> it's going to use the customer id field
1880.64 -> here to look up any profiles with a
1883.12 -> salesforce content id with this value
1885.519 -> and then assign the service record
1887.12 -> to that profile
1897.679 -> when we click next we can download our
1899.279 -> template or copy template to clipboard
1901.679 -> and use the following api to create the
1906.399 -> create the object mapping
1909.679 -> once we have downloaded the template we
1912.399 -> can use the
1913.44 -> put profile object type api to update
1916.88 -> and to create this object type
1920 -> once this object type is created now we
1922.159 -> can create the data ingestion
1924.24 -> from the from the s3 as a source
1927.679 -> once the profile object type have been
1930.08 -> created
1930.799 -> now we can upload the data to s3
1932.96 -> navigate to amazon s3
1935.12 -> create bucket give it a
1946.84 -> name once the bucket has been created
1950 -> navigate to the bucket
1954.96 -> create a folder we can name this prefix
1959.76 -> service records
1963.919 -> once we have the service record prefix
1966.159 -> created we can upload our csv file
1968.559 -> to the bucket
1973.76 -> navigate back to the profile once the
1976.559 -> object has
1977.6 -> uploaded click add integration
1981.039 -> choose s3
1984.24 -> check the s3 account meets the
1986.96 -> integration requirements
1989.039 -> choose the bucket make sure the bucket
1991.039 -> is in the same region
1994.32 -> choose the prefix
2001.36 -> you can choose the service record object
2003.279 -> type
2005.36 -> make sure the dates are correct click
2007.279 -> next and create integration
2010 -> similar to the salesforce integration
2012.159 -> the first integration setup will take
2013.679 -> between 5 to 15 minutes
2015.2 -> in order for the integration to be set
2017.44 -> up once this integration has been set up
2019.44 -> new data ingested into s3 will be
2021.519 -> automatically ingested into the domain
2025.2 -> in the next section we're going to be
2027.039 -> using this data that we set up now
2028.799 -> to set up automation and personalization
2032.159 -> for the purpose of this webinar i've
2033.919 -> created this integration on another
2035.36 -> domain ahead of time which we're going
2036.96 -> to be using in the next section
2039.2 -> to summarize what we just went through
2041.039 -> we did a walkthrough on how you can
2042.72 -> ingest your customer data into amazon
2044.72 -> connect from two different data sources
2047.039 -> we use the out of the box connectors
2049.28 -> object type mapping
2050.639 -> and the out of the box agent application
2052.48 -> widget using these tools we can provide
2054.72 -> a more personalized experience
2056.399 -> for the customer in the next section
2058.8 -> i'll show you how to use the data we
2060.079 -> ingested to create automation
2062.8 -> when a customer calls calls in to a
2065.44 -> phone number that's on amazon connect
2067.28 -> the call goes through a contact flow the
2069.839 -> contact flow describes how a customer
2071.919 -> experience
2072.8 -> experiences your connect center from
2074.32 -> start to finish at the most basic level
2077.52 -> contact flows enable you to customize
2079.2 -> your interactive voice response system
2081.76 -> amazon connect provides an
2083.04 -> out-of-the-box graphical interface
2084.879 -> which allows you to easily create
2086.639 -> content flows
2088 -> in the next section of this demo we're
2090.24 -> going to be creating a contact flow
2092.639 -> inside this contact flow we're going to
2094.32 -> be using the
2095.76 -> customer profiles api to search for the
2098.079 -> profiles associated with the customer's
2100 -> phone number when they called in
2101.52 -> we're going to then look up any of the
2103.2 -> service records associated with that
2104.8 -> profile
2106.32 -> we're going to return this data from the
2108.64 -> into the contact flow to allow the
2110.079 -> contact flow to deliver a more
2111.52 -> personalized experience
2113.839 -> after that we will show a custom agent
2116.72 -> desktop that i've built
2118.079 -> to surface the service record data to
2120.24 -> the agent
2122.88 -> now let's begin navigate to your amazon
2126.079 -> connect admin console
2128 -> go to contact flows and we can create a
2129.92 -> new contact flow
2135.04 -> we'll first by enabling logging and
2142.839 -> recording
2148.56 -> logging will and log the contact flow
2150.8 -> experience
2151.839 -> to the cloudwatch logs and the recording
2154.88 -> block will enable core recording
2156.88 -> for your connect center
2160.56 -> once we have enabled logging and
2162.72 -> recording now we want to
2164.64 -> use the amazon connect customer profiles
2167.04 -> to get the personalized data
2168.56 -> based on the customer's profile we'll do
2171.2 -> this with our aws lambda function
2173.28 -> to search for the profiles and service
2175.2 -> record let's navigate to
2177.359 -> the aws slam the console
2182.32 -> let's create a function from scratch
2191.52 -> we'll use the node.js runtime and click
2194.48 -> create function
2196.079 -> once the function is created we have to
2198.24 -> update the lambda function's execution
2200 -> role
2200.4 -> to provide it with permissions to access
2202.64 -> customer profiles
2204.48 -> once the function is created we're going
2206.96 -> to click on the configurations tab
2209.76 -> permissions and identify the role for
2212.64 -> the lambda function
2213.68 -> that is attached to this function
2217.119 -> in this role we have to attach a policy
2220.16 -> to provided access to customer profiles
2222.64 -> let's first create a policy
2225.359 -> go to policies
2229.76 -> create policy choose a service
2233.599 -> profile and we're going to provide
2237.04 -> read-only access for the purposes of
2239.76 -> this demo we'll go
2241.04 -> scope the access to all resources
2243.76 -> however
2244.48 -> please change this for your own setup
2248.8 -> we'll provide it with a name
2255.52 -> great policy now let's go back
2258.64 -> to the iem role and attach this policy
2262.079 -> to the role
2269.52 -> once this policy is attached the lambda
2271.76 -> function can now access
2273.52 -> customer profiles go back to the code
2277.599 -> and let's describe what we're going to
2279.44 -> be coding
2281.44 -> from a high level we're going to be
2283.44 -> receiving the phone number
2284.8 -> from amazon connect customer the contact
2286.8 -> flow
2287.92 -> we're going to search for profiles with
2289.839 -> the phone number of the customer calling
2291.52 -> in
2292.24 -> for the purposes of this demo we'll be
2294.8 -> taking the first profile that is
2296.839 -> returned
2299.44 -> there could be multiple profiles that
2300.72 -> are returned in the real world here
2302.56 -> you would write business logic to
2303.92 -> determine which profile would be the
2305.52 -> most relevant
2306.48 -> you can check for content attributes
2310 -> or other records attached to the profile
2312.96 -> even the last
2314.4 -> update date for records attached to the
2317.359 -> profiles
2319.52 -> for the simplicity of this demo we'll be
2321.599 -> choosing the first
2323.28 -> profile that's returned and based on the
2325.28 -> profile id we're going to be looking at
2327.44 -> the service record
2328.48 -> attached to that profile let's start
2331.52 -> coding
2332.72 -> so the first thing we need to do is
2334.16 -> initialize the aws sdk
2336.56 -> and the customer profiles sdk client
2340.72 -> we initialize this outside of the lambda
2342.72 -> function handler
2346.32 -> next we are going to be creating a phone
2348.4 -> number variable
2349.52 -> this phone number is passed in from the
2351.68 -> contact flow
2353.52 -> we can access it in this in this json
2356.32 -> path
2358.079 -> next we will be using the phone number
2360.32 -> to make an api call to search for the
2362.16 -> profiles attached to this phone number
2367.04 -> like i described earlier we'll be
2368.56 -> grabbing the content are the profile id
2370.72 -> and the first name
2371.599 -> from the first item in that list the
2374.72 -> first name is going to be used to greet
2376.48 -> the
2377.119 -> customer in the contact flow and the
2378.72 -> profile id will be used
2380.88 -> to search for the service records
2382.8 -> attached to this profile
2386.4 -> next we're going to be calling the list
2388.079 -> profile objects api
2389.92 -> passing in the profile id and the
2393.04 -> service record as the object type name
2397.04 -> the service records will be returned
2399.04 -> with the most recent one at the top of
2400.72 -> the list
2401.44 -> so we can grab the latest service record
2405.359 -> for the following code
2409.359 -> then we can identify the service type of
2412.4 -> that particular service record whether
2413.92 -> it was plumbing
2415.119 -> whether it was moving or electricity and
2418.16 -> we can identify
2419.28 -> based on other nodes in the service
2421.04 -> record if
2423.52 -> if the service was cancelled or if uh or
2426.64 -> anything else
2427.44 -> uh related to that service record in
2429.599 -> this example
2430.48 -> we're going to be uh alerting our
2433.359 -> contact flow that the
2435.119 -> service was cancelled based on the note
2438.16 -> in the service record and lastly we
2441.2 -> will return this value back to our
2442.96 -> amazon connect contact flow
2445.2 -> so the contact flow can use this data to
2447.359 -> do automation and personalization
2449.76 -> we'll deploy the lambda function and now
2452.16 -> we can go back to the amazon connect
2453.76 -> contact flow editor
2459.839 -> here we can invoke our m lambda function
2464.079 -> by adding our lambda function to the
2465.839 -> amazon connect content flow in the
2467.68 -> amazon
2468.48 -> connect console so go back to the
2471.04 -> console
2472 -> amazon connect and contact flows we can
2474.88 -> choose the lambda function
2476.4 -> to add to the content flow
2480.64 -> once this lambda function has been
2481.839 -> successfully added we can
2484.079 -> choose the lambda function from our drop
2485.76 -> down
2493.119 -> once the lambda function has
2494.16 -> successfully invoked
2496.24 -> we can access the variables returned by
2498.72 -> the lambda function
2499.76 -> inside content attributes and the first
2502.48 -> thing we can do is we can save this
2504.96 -> content attribute in a user-defined
2506.8 -> content attribute
2516.8 -> all of the lambda function responses are
2518.96 -> stored in the external namespace
2520.8 -> so by defining user
2525.119 -> content attributes like this we can
2528.8 -> we can access the responses from the
2531.44 -> lambda function
2556.64 -> once we save the content attributes we
2558.319 -> can do branching logic on these content
2561.2 -> attributes
2562.079 -> so like i said earlier we can branch
2564.56 -> based on whether or not the last
2567.2 -> service was cancelled so we can do this
2569.119 -> with the check content attributes block
2588.4 -> so if the last service was cancelled for
2590.72 -> our customer
2591.52 -> we can greet the customer by their name
2593.92 -> and
2594.56 -> escalate the call to an agent with
2596.64 -> higher priority
2597.92 -> we can change the priority of the of the
2600.96 -> contact
2601.52 -> by the change routing age and priority
2604.56 -> block the queue priority one is the
2606.64 -> highest priority
2610 -> and before we transfer the customer to a
2611.52 -> queue we will play a customized prompt
2620.4 -> for example we can say something along
2622.56 -> the lines of
2624.16 -> hello uh refer to the customer by name
2627.2 -> thanks for calling and we noticed that
2628.72 -> your last service type
2630.72 -> was cancelled in this case it would be
2632.319 -> plumbing or electricity
2634.16 -> or moving and they can we can escalate
2637.2 -> this chord to an agent immediately
2648.319 -> in order to transfer the core to a queue
2650 -> we will have to define which queue to
2651.44 -> transfer to
2652.319 -> in this case we can choose our basic
2653.839 -> queue
2656.16 -> and then transfer
2659.359 -> the call to a queue
2663.119 -> in the example where the service wasn't
2665.359 -> uh wasn't cancelled
2667.28 -> you can have other uh self-service tools
2669.92 -> like elec spot here to greet and
2671.52 -> interact the customer to figure out the
2673.119 -> intent
2673.839 -> and transfer the customer to the most
2676.4 -> appropriate queue
2677.68 -> but today our demo will be building out
2679.92 -> the first flow
2684.8 -> and now we have to do is connect all
2686.64 -> these uh
2687.92 -> error branches to the disconnect flow
2689.92 -> for now
2701.839 -> once we give it a name
2706.96 -> we can publish the flow
2711.76 -> once our flow is published we can
2713.119 -> associate our phone number with this
2714.319 -> flow
2715.119 -> and colon to experience this contact
2718.319 -> flow
2720.72 -> once we have our phone number associated
2722.8 -> with our contact flow that we just
2724.16 -> designed
2724.96 -> now we can call in and see what the
2727.839 -> content flow
2730.839 -> says
2735.599 -> hi nikki thanks for calling we've
2738 -> noticed that your last plumbing was
2739.599 -> canceled
2740.48 -> we apologies for any inconvenience we
2742.88 -> will escalate this call so you can speak
2744.88 -> with someone who can help immediately
2746.88 -> thank you for calling your call is very
2749.28 -> important to us and will be answered in
2751.04 -> the order it was received
2752.7 -> [Music]
2755.04 -> so what what you just heard there was uh
2758.24 -> the customer going through the content
2760.4 -> flow and
2762.16 -> uh was able to uh grab the profile
2765.44 -> information from the customer greet the
2767.04 -> customer
2768 -> and uh understand that the customer was
2769.92 -> calling about their last plumbing
2771.359 -> service
2772.079 -> that was cancelled on the service date
2774.079 -> all of this information was serviced to
2776.079 -> the agent inside our custom agent
2778.8 -> application
2780.88 -> so the customer services which our
2782.64 -> customer profiles widget is available
2784.24 -> out of the box
2785.119 -> and you can use our amazon connect
2786.96 -> streams.js library
2788.4 -> as well as the amazon connect customer
2790.4 -> profiles api
2791.599 -> to build a custom widget to showcase our
2794.079 -> information such as your
2795.2 -> service records in the previous section
2799.04 -> we looked at how to use amazon connect
2801.119 -> contact flows and aws lambda
2803.119 -> along with the customer profiles api to
2805.44 -> build an
2806.319 -> automated and personalized experience
2808.079 -> for the caller
2809.44 -> in the next section we'll show you how
2811.28 -> to use the new
2812.48 -> identity resolution feature which is now
2814.56 -> available in preview to get started
2816.64 -> unifying these duplicate records
2819.04 -> we can enable amazon customer profiles
2822.4 -> to automatically detect these duplicate
2824.319 -> customer profiles
2825.76 -> by switching on the feature the identity
2829.2 -> resolution uses
2830.4 -> machine learning to detect duplicate
2832.4 -> profiles based on similar name
2834.079 -> email and phone number for example if
2836.72 -> two or more profiles
2837.839 -> have spelling mistakes like the ones
2839.839 -> we've seen earlier with john doe
2841.599 -> and john misspelt or different casing
2844.16 -> with email addresses
2845.52 -> and different phone number formats these
2847.359 -> can all be detected
2850.64 -> when the identity resolution feature is
2853.599 -> going through the data
2855.359 -> to enable the identity resolution to run
2857.52 -> we simply call the update domain api
2860 -> on any existing domain or pass in the
2862.64 -> parameter
2863.44 -> of matching enables equals to true when
2866 -> you're creating the domain
2868.72 -> the following cli command we can use to
2870.96 -> update our existing domain
2872.48 -> to enable identity resolution
2876.88 -> once identity resolution is enabled
2878.96 -> customer profile service
2880.559 -> will in the back end run the machine
2882 -> learning job every saturday
2884.4 -> at 12 o'clock utc this job runs on a
2887.599 -> weekly interval
2888.559 -> and the results can be viewed with the
2890.24 -> get matches api
2892.079 -> for the purposes of this demo i'm using
2894.88 -> another domain that i have created where
2896.48 -> the data has already been processed by
2898.24 -> the identity resolution feature
2900.96 -> we can use the aws customer profile
2904.64 -> get matches api to list the
2908.079 -> matches that is found
2911.599 -> later this data was originally
2914.88 -> inside our salesforce account and these
2916.72 -> are duplicate salesforce contact
2919.52 -> records the api you can see returns a
2923.68 -> list of matches
2924.64 -> and each match contains a list of
2926.88 -> profile ids that the service deems to be
2928.72 -> duplicates
2929.839 -> we can use the search profile api to
2931.839 -> look at these individual
2933.44 -> profiles to check for the services
2936.4 -> matches
2939.04 -> we can see we have two groups of matches
2942 -> here
2942.64 -> the first group are three profile ids
2944.559 -> and a group of five profile ids
2946.96 -> we're going to be looking at these
2948.4 -> matches separately
2953.04 -> let's first look at the first group of
2955.04 -> three we can use the search profile api
2957.839 -> to look at these
2987.76 -> we can see that this first record with
2990.16 -> the profile id
2991.28 -> starting with 705a is for mary major
2995.52 -> let's look at the next one
3005.839 -> this uh profile id d171
3009.119 -> also looks like to be the identical
3011.28 -> record from
3012.16 -> mary major
3016.64 -> and the same for the third one the only
3019.04 -> difference for these records are the
3020.8 -> salesforce account id salesforce contact
3023.52 -> id
3024.319 -> which is the different contact id
3025.92 -> objects that were ingested
3027.44 -> and we can see that this one has last
3029.04 -> service date and last updated time
3030.64 -> updated
3031.359 -> these are from the service records that
3033.52 -> were ingested that was mapped onto this
3035.52 -> particular profile id
3037.76 -> so now what we can do is we can use the
3039.44 -> merge profile api
3041.04 -> to merge these three profiles into one
3043.359 -> api into one profile
3048.88 -> the merge profile api uses quite a few
3051.76 -> different input sources
3053.04 -> so what we can do is we can use the
3054.64 -> generate cli skeleton
3057.28 -> option to create a json file as the
3059.92 -> input for our api request
3062.96 -> now i've opened up the json file that
3065.119 -> was generated by that cli command
3070.319 -> we can see these are the attributes that
3072.96 -> are
3073.76 -> that are available for us to use in this
3075.76 -> api call
3077.359 -> what we will do here is we'll fill out
3079.119 -> the domain name
3083.2 -> main profile id we'll choose this one
3085.359 -> because it has the service record
3087.04 -> attached
3089.2 -> and everything else is the same and
3091.599 -> we'll list the profiles that need to be
3093.28 -> merged
3093.839 -> so it would be
3096.88 -> this one
3105.119 -> and here we will specify the profile ids
3107.68 -> that we'll be using
3108.559 -> for these fields so because we don't
3110.8 -> have an account
3112.24 -> number field we'll remove that the
3114.88 -> additional information
3116.24 -> field is also not populated
3119.52 -> we'll remove these first name we'll use
3123.44 -> the first name from the
3124.64 -> main profile don't have a middle name
3128.48 -> same with last name
3132.319 -> or phone number we can use the one from
3134.24 -> the main profile
3138.64 -> and because everything is the same we
3141.2 -> can use the main profile for most of
3142.88 -> these
3143.359 -> however just for the purpose of this
3145.2 -> demo i'll use one of the secondary
3147.44 -> profiles for the email address
3152.8 -> for the attributes we can use the we can
3155.839 -> populate these attributes here
3158.88 -> we can use the main profile
3175.92 -> and in the salesforce content id we can
3177.68 -> use the main profiles
3185.04 -> once we have this file
3188.72 -> and save it and in the api here we can
3192.8 -> refer to this input file and make the
3195.359 -> api call
3202.16 -> based on your business objectives you
3203.68 -> can write custom business logic to merge
3206.16 -> these records you can call the get
3209.28 -> matches api
3210.16 -> iterate through the profiles and
3211.599 -> validate the match and then
3213.359 -> call these programmatically the expected
3216 -> behavior
3216.8 -> is that all the uh profile objects
3219.76 -> associated with the profile
3221.2 -> will be all linked back to the main
3223.2 -> profile id
3225.599 -> now let's quickly review the other
3227.04 -> duplicates that we found
3246.96 -> let's have a look at this first one
3254.72 -> this is our john doe with the misspelt
3256.88 -> first name
3262.839 -> john
3264.079 -> says jane go
3267.599 -> with the same phone number and email
3271.04 -> as this next uh
3274.319 -> first name uh is and last name is the
3276.48 -> wrong order dojon
3279.04 -> and then
3282.4 -> this last one is a is a john doe with
3285.28 -> the correct
3286 -> john doe phone number but it looks like
3289.04 -> it's missing an email field
3291.119 -> and then finally our last uh
3294.72 -> example would be the uh the
3298.24 -> john doe with the most complete
3299.44 -> information here so if we were to write
3301.76 -> a business logic here we would
3303.44 -> probably identify this last one as the
3305.2 -> primary profile however
3307.119 -> when we see the fuzzy matches like this
3309.52 -> the best thing would be
3310.88 -> to route and a task to an agent
3314.64 -> to ask them to manually validate
3317.92 -> and merge these uh profiles
3321.359 -> so these merging requests can be created
3324.319 -> with a amazon
3326 -> so in this demo we showed how to quickly
3327.839 -> identify duplicate records
3329.44 -> and merge them using the apis from
3331.28 -> identity resolution
3332.799 -> duplicate records is a common problem
3334.48 -> for our customers with organizations
3336.72 -> reporting up to 10 to
3338.079 -> 30 percent of their customer records
3341.359 -> and having duplicates in them by
3343.28 -> removing these duplicates we can
3344.96 -> speed up our agent's efficiency and
3347.04 -> overall help to improve the customer's
3349.04 -> experience
3353.119 -> to help you get started please visit the
3356.24 -> amazon connect landing page from there
3358.079 -> you can find all the blog posts and
3359.52 -> other resources to help you get started
3361.28 -> with amazon connect customer profiles
3363.44 -> thank you very much

Source: https://www.youtube.com/watch?v=LLIEwFel_7c