Zendesk for Contact Center implementation guide

<div class="body">
<div class="div article-banners"><p class="p"><span class="ph addon_contact-center">Add-on | Zendesk for Contact Center</span></p></div>
<p class="p" dir="ltr">This guide helps you to set up Zendesk for Contact Center with Zendesk and Amazon Connect. It covers setting up a Connect instance, integrating it with the Zendesk for Contact Center app and with Zendesk itself.</p>
<p class="p" dir="ltr">You'll learn about the overall process from creating a Connect instance, linking it with the Contact Center app and Amazon Cognito, and how key components relate to each other.</p>
<p class="p">This article contains the following topics:</p>
<ul class="ul" id="internal_implementation_guide__ul_iz4_nzb_vgc">
<li class="li" data-list-item-id="ed7018ab76c91eb6e835935da766c149a"><a class="xref" href="#topic_xwd_pzb_vgc">Understanding key terms</a></li>
<li class="li" data-list-item-id="e2996655caa6fe0c86579d9aab14f5620"><a class="xref" href="#topic_zz4_szb_vgc">Setting up Contact Center</a></li>
<li class="li" data-list-item-id="eef6f564d80584a09390b91ccc2c05416"><a class="xref" href="#topic_wg3_ncc_vgc">Next steps</a></li>
<li class="li" data-list-item-id="e74af970d11377de8596e7b7671e410bf"><a class="xref" href="#topic_v2j_kbc_vgc">Troubleshooting Contact Center</a></li>
</ul>
</div><article class="topic nested1" aria-labelledby="ariaid-title2" id="topic_xwd_pzb_vgc">
<h2 class="title topictitle2" id="ariaid-title2">Understanding key terms</h2>
<div class="body">
<p dir="ltr" class="p">Before you start, it’s important to know the key building blocks of Contact
Center and how they interact:</p>
<ul class="ul" id="topic_xwd_pzb_vgc__ul_ifg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Amazon Connect</strong> is AWS’s cloud contact center that powers
Contact Center. It manages calls, chats, queues, and contact flows. Each Contact
Center customer must run a Connect instance in their own AWS account, and a
Contact Center account can link to only one Connect instance. </li>
<li dir="ltr" class="li">
<strong class="ph b">Amazon Cognito</strong> is an AWS managed authentication service for web
and mobile apps, handling sign-up, sign-in, and access control. For Contact
Center, it hosts the <em class="ph i">user pool</em> for agents, supervisors, and admins,
securely managing passwords and logins so users can access the Contact Center
app in Zendesk. The integration automatically creates this user pool using
CloudFormation, avoiding a custom identity system.</li>
<li dir="ltr" class="li">
<strong class="ph b">Amazon CloudFormation</strong> automates AWS setup with templates,
deploying all resources and permissions for the Connect and Contact Center
integration in a single stack. Think of it as an installer: the stack provisions
and configures the components that let Amazon Connect and the Contact Center app
work together, saving time and reducing errors.</li>
<li dir="ltr" class="li">
<strong class="ph b">The Zendesk Contact Center app</strong> is a contact-center-as-a-service
platform from Zendesk that works with Amazon Connect, adding an omnichannel
inbox, AI-assisted tools, and advanced dashboards. Agents sign in to Contact
Center to handle calls and messages, and these are handled by the customer’s own
Connect instance.<p class="p">It’s deployed in the customer’s AWS environment using
CloudFormation, so Contact Center data (for example, call recordings and
customer information) stays in the customer’s environment, not on Zendesk
servers. After linking the Connect instance and deploying the stack, Contact
Center and Connect function as a unified solution.</p>
</li>
<li dir="ltr" class="li">
<strong class="ph b">Dual-stack upgrade process:</strong> Upgrades use a <em class="ph i">dual-stack</em>
approach: instead of updating the existing CloudFormation stack, deploy a new
stack from the latest template, switch Contact Center to it after testing, then
retire the old stack. This ensures a safe rollback point, since in-place
CloudFormation rollbacks can fail (for example, due to permissions). Dual-stack
is the only supported upgrade path. To begin an upgrade, request the updated
template URL from Zendesk and create the new stack in the customer’s AWS
account.</li>
</ul>
</div>
</article><article class="topic nested1" aria-labelledby="ariaid-title3" id="topic_zz4_szb_vgc">
<h2 class="title topictitle2" id="ariaid-title3">Setting up Contact Center</h2>
<div class="body">
<p dir="ltr" class="p">Use the following steps to get your contact center up and running:</p>
<ul class="ul" id="topic_zz4_szb_vgc__ul_xwk_tw3_xgc">
<li class="li"><a class="xref" href="#topic_rnw_5zb_vgc">Setting up Amazon Connect</a></li>
<li class="li"><a class="xref" href="#topic_qm2_11c_vgc">Creating a Contact Center Account (Zendesk Professional Services Only)</a></li>
<li class="li"><a class="xref" href="#topic_zm3_11c_vgc">Deploying the CloudFormation Stack in a new instance</a></li>
<li class="li"><a class="xref" href="#topic_bj4_11c_vgc">Setting up users and access</a></li>
<li class="li"><a class="xref" href="#topic_vnx_11c_vgc">Enabling writeback from Contact Center to Zendesk</a></li>
<li class="li"><a class="xref" href="#topic_h1b_b1c_vgc">Adding a Contact Center admin user</a></li>
<li class="li"><a class="xref" href="#topic_wk4_b1c_vgc">Configuring Amazon Connect approved origins</a></li>
<li class="li"><a class="xref" href="#topic_ngs_b1c_vgc">Installing and configuring the Contact Center app</a></li>
</ul>
</div>
<article class="topic nested2" aria-labelledby="ariaid-title4" id="topic_rnw_5zb_vgc">
<h3 class="title topictitle3" id="ariaid-title4">Setting up Amazon Connect</h3>
<div class="body">
<p dir="ltr" class="p">Connect instances are created in the AWS Management Console. Generally,
you'll create the Connect instance in the AWS region closest to your customer or
as required.</p>
<div class="p"><div class="note note note_note">
<span class="note__title">Note:</span> Not all regions support Connect, so you must choose from the supported list.</div></div>
<p dir="ltr" class="p">You can create a Connect Instance using a CloudFormation template, or
manually.</p>
</div>
<article class="topic nested3" aria-labelledby="ariaid-title5" id="topic_jl2_4x3_xgc">
<h4 class="title topictitle4" id="ariaid-title5">Setting up Connect using a CloudFormation template</h4>
<div class="body">
<p class="p"><strong class="ph b">(Optional) To turn on single sign-on for Connect instances</strong></p>
<ol class="ol" id="topic_jl2_4x3_xgc__ol_ok2_3xd_vgc">
<li class="li">Configure an application in your IdP with SAML authentication turned on. </li>
<li class="li">Download the SAML metadata xml file.<p dir="ltr" class="p">The value for Relay
state in the application can be left blank and updated after your
Connect instance is set up.</p>
</li>
</ol>
<p class="p">The template turns on SAML SSO on the Amazon Connect instance. If your SAML
IdP app is already configured and you provide its metadata during
deployment, the stack automatically provisions the IAM resources to
integrate Connect with that IdP.</p>
<p dir="ltr" class="p"><strong class="ph b">To deploy the Connect instance template</strong></p>
<ol class="ol" id="topic_jl2_4x3_xgc__ol_tqr_mxd_vgc">
<li class="li">In the AWS console, navigate to the Cloudformation service.</li>
<li class="li">Click <strong class="ph b">Create stack</strong>, then enter the following Amazon Simple
Storage Service (S3) URL:<div class="p" dir="ltr">
<pre class="pre">https://zendesk-contact-center-us-east-1.s3.amazonaws.com/connect/cfn.yaml</pre>
</div>
<p class="p"><img class="image" id="topic_jl2_4x3_xgc__image_ifx_dml_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_1.png" width="750"></p>
</li>
<li class="li">Enter a unique value for InstanceAlias and paste the entire contents of
the metadata xml file in the SamlXmlDocument field if you configured it,
or else leave the field blank.<div class="p">
<div class="note note note_note">
<span class="note__title">Note:</span> If you encounter an error that the metadata file is too large,
leave the "SamlXmlDocument" parameter blank to complete the
CloudFormation stack deployment, then setup the SAML
configurations manually afterwards.</div>
</div>
</li>
<li class="li">Click <strong class="ph b">Next</strong> and complete the stack deployment.<p class="p"><img class="image" id="topic_jl2_4x3_xgc__image_ckk_gml_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_2.png" width="750"></p>
</li>
<li class="li">Finally, note the SamlRelayState from the stack outputs and update the
relay state in the SAML application configured in your SSO for your
Connect instance.<p class="p"><img class="image" id="topic_jl2_4x3_xgc__image_o3c_pml_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_3.png" width="650"></p>
</li>
</ol>
<p class="p">The following resources are provisioned by the template:</p>
<ul class="ul" id="topic_jl2_4x3_xgc__ul_nfg_hzb_vgc">
<li dir="ltr" class="li">Connect Instance</li>
<li dir="ltr" class="li">S3 bucket for transcripts</li>
<li dir="ltr" class="li">KMS key for S3 bucket</li>
<li dir="ltr" class="li">Kinesis Stream</li>
<li dir="ltr" class="li">Customer Profiles domain</li>
<li dir="ltr" class="li">KMS Key for Customer Profiles domain</li>
<li dir="ltr" class="li">SAML Identity Provider in IAM</li>
<li dir="ltr" class="li">IAM Role for SAML</li>
</ul>
</div>
</article>
<article class="topic nested3" aria-labelledby="ariaid-title6" id="topic_q3q_px3_xgc">
<h4 class="title topictitle4" id="ariaid-title6">Setting up Connect manually</h4>
<div class="body">
<p class="p">If you don't want to automatically create your Connect instance, you can
configure it manually.</p>
<p class="p"><strong class="ph b">To manually create a Connect instance</strong></p>
<ol class="ol" id="topic_q3q_px3_xgc__ol_sxt_xvd_vgc">
<li class="li">Sign into the AWS console and open the Connect service.</li>
<li class="li">On the Amazon Connect virtual contact center instances page, click
<strong class="ph b">Add an instance</strong>. <p class="p"><img class="image" id="topic_q3q_px3_xgc__image_kvf_rml_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_4.png" width="750"></p>
</li>
<li dir="ltr" class="li">Choose your preferred identity management method (usually,
<strong class="ph b">SAML 2.0-based authentication</strong> for client
environments).<p class="p"><img class="image" id="topic_q3q_px3_xgc__image_phq_w1m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_5.png"></p>
</li>
<li dir="ltr" class="li">On the Set identity page, enter your Access URL and instance
name. This name will become part of the instance’s URL. For example, if
you name it 'MyDemoConnect', the instance URL will look like
MyDemoConnect.awsapps.com/connect/). Choose a name that identifies the
client or purpose (for example, <em class="ph i">ClientName-ConnectEU</em>). </li>
<li dir="ltr" class="li">Specify whether an admin user for Connect needs to be created.
For simplicity, you can create an admin username and a password. This
will be the login used to access the Connect dashboard initially. In
real deployments, customers often integrate with their single sign-on
using SAML, but for training and sandbox purposes a manual admin user
can be created.</li>
<li dir="ltr" class="li">Under Telephony and data settings, configure how the contact
center will handle communications and store data:<ul class="ul" id="topic_q3q_px3_xgc__ul_rfg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Telephony Options:</strong> You can turn on inbound
and/or outbound calling. For most uses, turn on both
<em class="ph i">Inbound</em> and <em class="ph i">Outbound</em> calling (so the instance
can receive and make calls).</li>
<li dir="ltr" class="li">
<strong class="ph b">Data Storage:</strong> Connect creates an Amazon S3
bucket to store call recordings, chat transcripts, and other
data. In the setup wizard, make sure that the option: Enable
customer profiles” is turned on.<p class="p">We recommend that the Profile
creation policy is set as <strong class="ph b">Associate Only</strong>.</p>
</li>
</ul>
</li>
<li class="li">Turn off Enable email. It's not used in Contact Center.</li>
<li class="li">Uncheck Custom data storage (Advanced).</li>
<li dir="ltr" class="li">Continue through the wizard, reviewing the settings on the
final page. Once everything looks good, click <strong class="ph b">Create Instance</strong>.
Connect will begin provisioning the instance. It usually takes a couple
of minutes for the instance to be ready. During this time, AWS is
setting up the service and resources in the background. <div class="p">
<div class="note note note_note">
<span class="note__title">Note:</span> Avoid closing the browser or navigating away until setup is
complete, to prevent any interruption. The creation process is
fairly fast and robust, but it’s a good practice to wait.</div>
</div>
<p class="p">When the creation finishes, the AWS console shows your new
instance. </p>
</li>
<li dir="ltr" class="li">If you didn't configure SSO, click <strong class="ph b">Access URL</strong> (the
instance URL) to open the Connect sign in page. Use the admin username
and password you created to sign in.<p class="p">This opens the Connect dashboard,
a web-based interface where you can manage your contact center. When
you first sign in, you might see some default sample contact flows
and a basic dashboard screen.</p>
<p class="p"><img class="image" id="topic_q3q_px3_xgc__image_z3v_gbm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_111.png" width="800"></p>
<div class="p">
<div class="note note note_note">
<span class="note__title">Note:</span> If you set up SSO for login and authentication, you must
complete the steps in <a class="xref" href="#topic_bj4_11c_vgc">Setting up users and access</a> before you can sign in to the Connect
environment.</div>
</div>
</li>
<li dir="ltr" class="li">Make sure that nsure that Kinesis data streaming is turned on
in the new Connect instance. In the AWS Console, navigate to the new
Connect instance &gt; <strong class="ph b">Data Streaming</strong> &gt; <strong class="ph b">Enable data streaming</strong>
and be sure to select <strong class="ph b">Kinesis Stream</strong> and create a new stream if
needed. <div class="p">
<div class="note tip note_tip">
<span class="note__title">Tip:</span> Make sure to turn on <em class="ph i">Kinesis data streaming</em>,
not <em class="ph i">Kinesis firehose</em>.</div>
</div>
</li>
<li dir="ltr" class="li">Click <strong class="ph b">Save</strong>.</li>
</ol>
<p class="p"><img class="image" id="topic_q3q_px3_xgc__image_fyy_4bm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_6.png" width="800"></p>
<p dir="ltr" class="p">You now have a working Amazon Connect instance.</p>
<div class="p">
<div class="note note note_note">
<span class="note__title">Note:</span> It is the AWS account owners responsibility to ensure that service
limit increases are logged with AWS as required, for example, concurrent
call limit, number of numbers that can be claimed, and whitelisting
outbound countries.</div>
</div>
</div>
</article>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title7" id="topic_qm2_11c_vgc">
<h3 class="title topictitle3" id="ariaid-title7">Creating a Contact Center Account (Zendesk Professional Services Only)</h3>
<div class="body">
<p dir="ltr" class="p">With Connect ready, your next step is to create a Contact Center
instance. </p>
<p dir="ltr" class="p">Before you start, make sure that the following is in place:</p>
<ul class="ul" id="topic_qm2_11c_vgc__ul_vfg_hzb_vgc">
<li dir="ltr" class="li">You must have access to the Contact Center Admin app, with
permission to access the relevant instance. You can request access from your
IT department.</li>
</ul>
<p dir="ltr" class="p">As a Zendesk Professional Services user, you’ll use the Contact Center
account admin interface to create a new Contact Center account tied to the
client's Connect instance. This essentially onboards the client into the Contact
Center system, establishing the one-to-one connection between Contact Center and
Connect.</p>
<p dir="ltr" class="p">Zendesk provides a special account admin portal (distinct from the
agent interface) for setting up and configuring customer accounts. It's
accessible by Zendesk admins using the URL <a class="xref" href="https://cc-admin.zende.sk/" target="_blank">https://cc-admin.zende.sk</a>. Once signed in, make sure you select the
appropriate pod in the admin tool. The pod used must match the Zendesk instance
pod.</p>
<p dir="ltr" class="p">The pod used to create the contact center instance must match the
Zendesk account pod. This might be different to the Connect pod or region.</p>
<p dir="ltr" class="p"><strong class="ph b">To add a Zendesk for Contact Center account</strong></p>
<ol class="ol" id="topic_qm2_11c_vgc__ol_lmm_lvd_vgc">
<li dir="ltr" class="li">In the admin console, navigate to the section where you manage
customer accounts and click <strong class="ph b">Create new account</strong>.<p class="p"><img class="image" id="topic_qm2_11c_vgc__image_izk_ybm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_112.png" width="600"></p>
</li>
<li dir="ltr" class="li">On the Create new account page, configure the following:<ul class="ul" id="topic_qm2_11c_vgc__ul_zfg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Account name:</strong> A descriptive name for the customer
or project, for example (using the company name and environment),
'ClientXYZ Sandbox' or 'ClientXYZ Production'. This name might be
used internally or in URLs, so keep it concise and
identifiable.</li>
<li dir="ltr" class="li">
<strong class="ph b">Instance type:</strong> Choose the type of instance, for
example, 'Production' for a live account.</li>
<li dir="ltr" class="li">
<strong class="ph b">Workspace ID:</strong> This will be automatically populated
with the value entered in the account name field, but can be changed
before you save the account. This will be used to form the URL to
access the app and to link it to Zendesk.</li>
<li dir="ltr" class="li">
<strong class="ph b">Licence details: </strong>Specify the maximum number of
agents planned for the account, the rate per agent, and the
expiration date for the account.</li>
<li dir="ltr" class="li">
<strong class="ph b">Zendesk instance name:</strong> Enter your Zendesk
subdomain. The account ID will be automatically retrieved and will
be displayed in the Zendesk account ID field.</li>
<li dir="ltr" class="li">
<strong class="ph b">Technical contact:</strong> - Add a contact in case Zendesk
needs to reach out about your account.</li>
<li dir="ltr" class="li">
<strong class="ph b">Feature access:</strong> - Turn on/check the Advanced
dashboards feature. This is turned on by default. If turned off, the
customer will not be able to use the Contact Center Dashboards
app.</li>
<li dir="ltr" class="li">
<strong class="ph b">Product analytics:</strong> - Select this option if you give
permission for us to share analytics data with third parties.</li>
</ul>
</li>
<li dir="ltr" class="li">Review your setting, then click <strong class="ph b">Create Account</strong>.<p class="p">A new
Contact Center account is created. You can see the new account listed in
the admin console accounts list. At this stage, the account exists on
the Zendesk side, but it’s not yet fully connected to the Connect
instance.</p>
</li>
<li dir="ltr" class="li">You can click the newly created account in the admin console to
review its settings and confirm that the account has been successfully
created. </li>
</ol>
<p dir="ltr" class="p">You now have an Amazon Connect instance on AWS, and a Contact Center
account in Zendesk.</p>
</div>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title8" id="topic_zm3_11c_vgc">
<h3 class="title topictitle3" id="ariaid-title8">Deploying the CloudFormation Stack in a new instance</h3>
<div class="body">
<p dir="ltr" class="p">To link Connect and Contact Center, use a CloudFormation stack provided
by Zendesk. The stack is a pre-defined set of AWS resources and configurations
that sets set up everything you need for the integration. This includes linking
Connect with other AWS services such as Amazon Cognito for user management,
Amazon Kinesis for streaming contact data, AWS Lambda functions for any custom
logic, as well as establishing trust between Connect and the Contact Center
app.</p>
<div class="p" dir="ltr">Before you start, make sure you have the following:<ul class="ul" id="topic_zm3_11c_vgc__ul_m35_cvd_vgc">
<li dir="ltr" class="li">Access to the Contact Center Admin app, with permission to
access the relevant instance.</li>
<li dir="ltr" class="li">Someone with access to the AWS Console will need to perform
part of the process, Depending on the customer’s ability to share
access, this could be a Zendesk employee or a member of the customer
team.</li>
</ul>
</div>
<p dir="ltr" class="p">There are three scenarios in which a CloudFormation stack must be
installed:</p>
<ul class="ul" id="topic_zm3_11c_vgc__ul_kjb_dvd_vgc">
<li dir="ltr" class="li">A new Contact Center instance that has never had a CloudFormation
stack installed.</li>
<li dir="ltr" class="li">An existing Contact Center instance that has had a CloudFormation
stack installed via the legacy (non-admin app) method.</li>
<li dir="ltr" class="li">An existing Contact Center instance that has had a CloudFormation
stack installed via the current (admin app) method.</li>
</ul>
<p dir="ltr" class="p">The process itself is similar across each of the above scenarios, with
the differences being how automated the process is and how much manual review or
updates might be required.</p>
<p class="p"><strong class="ph b">To deploy the CloudFormation stack</strong></p>
<ol class="ol" id="topic_zm3_11c_vgc__ol_fgg_hzb_vgc">
<li dir="ltr" class="li">In the account admin console, for the newly created account, click
<strong class="ph b">Create stack</strong>.<p class="p"><img class="image" id="topic_zm3_11c_vgc__image_km2_qcm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_113.png" width="600"></p>
</li>
<li dir="ltr" class="li">Provide the required details for the CloudFormation template. <ul class="ul" id="topic_zm3_11c_vgc__ul_c4l_2qb_xgc">
<li dir="ltr" class="li">
<strong class="ph b">Stack name:</strong> A name for the CloudFormation stack.
You can choose something such as: &lt;<em class="ph i">Account name from previous
section</em>&gt; + “CF” + “07-30-2025”. We recommend including a
date in the stack name to make sure it's easy to understand when the
stack was installed.</li>
<li dir="ltr" class="li">
<strong class="ph b">Stack region:</strong> This is the region in which you will
deploy your CloudFormation stack.</li>
<li dir="ltr" class="li">
<strong class="ph b">Amazon Connect instance ARN:</strong> Enter the ARN (Amazon
Resource Name, a unique identifier for AWS resources) of the Connect
instance you created. You can find this in the AWS console on the
Amazon Connect service, in the instance details page, look for the
<em class="ph i">Instance ARN</em> (it typically looks like
arn:aws:connect:region:account-id:instance/xxxxxxxx-xxxx-....). Copy
this value from AWS and paste it into this field in the admin
console. For more information, <a class="xref" href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html" target="_blank">see the AWS
documentation</a>.</li>
<li class="li">For new installations, configure the following: <ul class="ul" id="topic_zm3_11c_vgc__ul_xf4_bmj_xgc">
<li class="li">Click <strong class="ph b">New setup</strong>.</li>
<li class="li">For the Domain prefix, enter the URL domain of your Connect
account. </li>
<li class="li">Access your Connect account by navigating to the Account
overview section from the Access URL which will have the
following form:
<span class="ph u wysiwyg-underline">https://YOUR_DOMAIN_PART.my.connect.aws</span>.</li>
<li class="li">Copy the &lt;YOUR_DOMAIN_PART&gt; section and use it to fill in
the domain profile section.</li>
</ul>
</li>
</ul>
</li>
<li dir="ltr" class="li">For existing installations, configure the following:<ul class="ul" id="topic_zm3_11c_vgc__ul_zlq_bvj_xgc">
<li class="li">Select Use an existing user pool and app client.</li>
<li class="li">Enter the User pool ID and App Client ID that are being used in
AWS.</li>
</ul>
</li>
<li dir="ltr" class="li">Configure the following: <ul class="ul" id="topic_zm3_11c_vgc__ul_o5l_rrx_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Dashboard and analytics:</strong> - Select
<strong class="ph b">Enabled</strong>.<p class="p">This is turned on by default and will remain
turned on unless you turn it off. This turns on data flowing
into the Contact Center Dashboards app, which is a separate free
app available from the Zendesk Marketplace.</p>
</li>
<li dir="ltr" class="li">
<strong class="ph b">Resource tags:</strong> These are optional.</li>
</ul>
</li>
<li dir="ltr" class="li">After filling in the necessary fields, click <strong class="ph b">Launch
stack</strong>.<div class="p">In the pop-up page, you have two options:<ul class="ul" id="topic_zm3_11c_vgc__ul_zk4_x51_wgc">
<li dir="ltr" class="li">
<strong class="ph b">Automated launch:</strong> After creating the
CloudFormation stack, you will be automatically redirected to
the AWS CloudFormation console with the template ready to
deploy. This is convenient if you or someone on your team has
access to the customer’s AWS account with sufficient
permissions.</li>
<li dir="ltr" class="li">
<strong class="ph b">Manual template copy:</strong> If you don't have direct
access to the AWS account, click <strong class="ph b">Copy instructions to
clipboard</strong> to export the CloudFormation template (usually
as a JSON or YAML file or a link). This link or export can then
be used by the relevant team with AWS access to implement the
CloudFormation stack.</li>
</ul>
</div>
<p class="p"><img class="image" id="topic_zm3_11c_vgc__image_scc_ddm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_114.png" width="450"></p>
</li>
<li dir="ltr" class="li">A new browser tab opens on the AWS CloudFormation Quick create
stack page with the template already loaded. You’ll see the stack name and
parameters filled in as you provided. </li>
<li dir="ltr" class="li">Scroll down to the bottom of the page and, in the Capabilities and
transforms section, check and mark all the acknowledgments.</li>
<li dir="ltr" class="li">Click <strong class="ph b">Create stack</strong>.<p class="p"><img class="image" id="topic_zm3_11c_vgc__image_rt5_jdm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_7.png" width="800"></p>
<p class="p">Once initiated,
CloudFormation will start creating resources. In the AWS CloudFormation
console, you can watch the progress. It will list events such as
“CREATE_IN_PROGRESS” for various components. This process can take a few
minutes. The stack is doing a lot in the background: setting up IAM
roles and policies, Lambda functions, Kinesis data streams, Amazon
Cognito user pool and groups, Connect settings, and more . Typically,
this completes without intervention. The status will change to
<strong class="ph b">CREATE_COMPLETE</strong> when the process completes.</p>
<p class="p">While it
runs, do not close the stack page.</p>
<div class="p">
<div class="note tip note_tip">
<span class="note__title">Tip:</span> You can refresh your web browser to see updates, but
we recommend waiting for the stack to complete. If the stack fails,
it will roll back (you’ll see a status such as ROLLBACK_COMPLETE).
If you have any problems, <a class="xref" href="#topic_v2j_kbc_vgc">see the troubleshooting section</a>
below.<p class="p"><img class="image" id="topic_zm3_11c_vgc__image_ahg_mdm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_8.png" width="800"></p>
</div>
</div>
</li>
<li class="li">When the CloudFormation stack shows <strong class="ph b">CREATE_COMPLETE</strong>, the integration
is complete. The CloudFormation template automated the previously manual
steps. At this point, the following is in place:<ul class="ul" id="topic_zm3_11c_vgc__ul_kkw_nhf_vgc">
<li dir="ltr" class="li">An <strong class="ph b">Amazon Cognito user pool</strong> (and associated
identity pool, if applicable) specifically for this Contact Center
instance’s users.</li>
<li dir="ltr" class="li">An <strong class="ph b">LMAdmin user group</strong> in Cognito (created by the
stack) that will be used to designate admin users in Contact
Center.</li>
<li dir="ltr" class="li">AWS <strong class="ph b">Lambda functions</strong> or other services for features
such as transcription, bots, and others, connected between Connect
and Contact Center (the exact resources depend on the template
scope).</li>
<li dir="ltr" class="li">
<strong class="ph b">IAM Roles/Permissions</strong> that allow Zendesk’s platform
to access the Connect instance (within the limits needed) and vice
versa, without exposing unnecessary access.</li>
<li dir="ltr" class="li">Connect might need configuration adjustments using the
API, for example, attaching Amazon Lex bots or setting up flow
modules if the product requires, though many such things are often
optional, or configured later.</li>
</ul>
</li>
</ol>
<p class="p">Now, the Connect account, the Contact Center account, and the CloudFormation
resources are all in place and connected.</p>
<p class="p"><strong class="ph b">To perform post-stack steps</strong></p>
<p dir="ltr" class="p">Once the stack begins deployment, it will show in the Still deploying
state. While in this state, you can click <strong class="ph b">Check Status</strong> to check the
status of the stack deployment. When it's fully deployed, it will appear as
Ready to activate.</p>
<div class="p" dir="ltr">After the stack is complete, the Zendesk admin portal will now show
that the new Stack for the account is ready to be activated. Generally, once the
AWS side is done, the Contact Center platform is ready to go live with that
Connect instance.<ul class="ul" id="topic_zm3_11c_vgc__ul_nqm_ydl_xgc">
<li class="li">Once you are ready to link the new stack, click <strong class="ph b">Activate</strong>.</li>
</ul>
</div>
<p class="p"><img class="image" id="topic_zm3_11c_vgc__image_n2l_zpc_vgc" src="../../../../Desktop/dddddd/cc_guide_100.png" width="800"></p>
</div>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title9" id="topic_bj4_11c_vgc">
<h3 class="title topictitle3" id="ariaid-title9">Setting up users and access</h3>
<div class="body">
<p dir="ltr" class="p">In this section, you'll make sure that users (agents or admins) can
sign into Contact Center and that Connect will allow the connection. The
following sections detail how to configure Cognito for a variety of SAML
providers. The high-level requirement for configuring SSO is summarized and can
be used as guidance for configuration of any new SAML providers that have not
yet been documented.</p>
</div>
<article class="topic nested3" aria-labelledby="ariaid-title10" id="topic_lmp_xy3_xgc">
<h4 class="title topictitle4" id="ariaid-title10">Setting up users with SSO and SAML</h4>
<div class="body">
<p dir="ltr" class="p">Contact Center leverages Amazon Cognito for agent authentication,
including single sign-on (SSO). The benefits of this approach are:</p>
<ul class="ul" id="topic_lmp_xy3_xgc__ul_tgg_hzb_vgc">
<li dir="ltr" class="li">No agent data is stored in the Zendesk environment. All agent
data is stored in Amazon Cognito in the client's own AWS account.</li>
<li dir="ltr" class="li">Amazon Cognito caters for user pools where users can manually
be created.</li>
<li dir="ltr" class="li">Amazon Cognito caters for SAML federation, which enables SSO,
with most SAML providers.</li>
<li dir="ltr" class="li">A SAML application (and associated xml configuration file) is required.<div class="p">
<div class="note note note_note">
<span class="note__title">Note:</span> To set up single sign-on (SSO) for Connect, configure the SAML
application in the IAM Identity Center, which is often in a
separate AWS account and region. However, the identity provider,
role, and policy are established in the same AWS account as
Connect.</div>
</div>
</li>
<li dir="ltr" class="li">The SAML application must have the following specified:<table class="table" id="topic_lmp_xy3_xgc__table_vgg_hzb_vgc">
<caption></caption>
<colgroup>
<col>
<col>
</colgroup>
<tbody class="tbody">
<tr class="row">
<td dir="ltr" class="entry"><strong class="ph b">Attribute</strong></td>
<td dir="ltr" class="entry"><strong class="ph b">Value</strong></td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">ACS URL</td>
<td dir="ltr" class="entry">https://${yourDomainPrefix}.auth.${region}.amazoncognito.com/saml2/idpresponse</td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">Application SAML audience</td>
<td dir="ltr" class="entry">urn:amazon:cognito:sp:${yourUserPoolID}</td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">Application start URL
(optional)</td>
<td dir="ltr" class="entry">Contact Center login URL</td>
</tr>
</tbody>
</table>
</li>
<li dir="ltr" class="li">The SAML application must have the following two SAML
attributes:<table class="table" id="topic_lmp_xy3_xgc__table_xgg_hzb_vgc">
<caption></caption>
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody class="tbody">
<tr class="row">
<td dir="ltr" class="entry"><strong class="ph b">SAML Attribute</strong></td>
<td dir="ltr" class="entry"><strong class="ph b">Maps to this string value or user
attribute</strong></td>
<td dir="ltr" class="entry"><strong class="ph b">Format</strong></td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">Subject</td>
<td dir="ltr" class="entry">${user:email}</td>
<td dir="ltr" class="entry">Persistent</td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress</td>
<td dir="ltr" class="entry">${user:email}</td>
<td class="entry"></td>
</tr>
</tbody>
</table>
</li>
<li dir="ltr" class="li">Configure the identity provider in Cognito with the following
attributes:<table class="table" id="topic_lmp_xy3_xgc__table_zgg_hzb_vgc">
<caption></caption>
<colgroup>
<col>
<col>
</colgroup>
<tbody class="tbody">
<tr class="row">
<td dir="ltr" class="entry"><strong class="ph b">User pool attribute</strong></td>
<td dir="ltr" class="entry"><strong class="ph b">SAML Attribute</strong></td>
</tr>
<tr class="row">
<td dir="ltr" class="entry">email</td>
<td dir="ltr" class="entry">http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress</td>
</tr>
</tbody>
</table>
</li>
</ul>
<p class="p"><img class="image" id="topic_lmp_xy3_xgc__image_yxh_sdm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_10.png" width="800"></p>
<p dir="ltr" class="p">The following resources provide additional information about
setting up SSO with various services:</p>
<ul class="ul" id="topic_lmp_xy3_xgc__ul_ahg_hzb_vgc">
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/11mZjOW89yRoEqpVA15wdSvPyB23XbKZLs9ke5bEED8M/edit?usp=drive_link" target="_blank">AWS SSO</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/12GOsJaVsh95wIimcFoeR7DFIz-nsbj5Q_IiOs0AoM98/edit?usp=sharing" target="_blank">Azure AD</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/1zPw1m-HvsSyEqBMpHTeNph3EEgoISGH_oLm6sIo-u4M/edit?usp=drive_link" target="_blank">Okta</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/1jRn93CEj7FT2JqF9XQN8X0VjdH3rivwjLLA4DzuZXIQ/edit?usp=sharing" target="_blank">Google Workspaces</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/1OyJ0B-ovWBB3vr8w9xqn8_MqRjc4zeTByB8h-KWrYps/edit?usp=drive_link" target="_blank">Cognito Userpools</a></li>
</ul>
</div>
</article>
<article class="topic nested3" aria-labelledby="ariaid-title11" id="topic_syc_1z3_xgc">
<h4 class="title topictitle4" id="ariaid-title11">Manually adding users using Cognito user pools (if you're no using SAML/SSO)</h4>
<div class="body">
<p dir="ltr" class="p">When the CloudFormation stack ran, it created an Amazon Cognito
user pool for this Contact Center instance. The user pool is a directory of
user accounts who can authenticate to Contact Center. It likely also created
an <strong class="ph b">App Client</strong> in Cognito (which the Contact Center web app uses to
allow users to login), and an <strong class="ph b">LMAdmin group</strong> for admin permissions.
The next step is to create at least one user in this user pool so you can
test logging into Contact Center.</p>
<p dir="ltr" class="p"><strong class="ph b">To manually add a user</strong></p>
<ol class="ol" id="topic_syc_1z3_xgc__ol_qyh_5td_vgc">
<li class="li">Navigate to the Cognito service in the AWS console. Under User pools,
click the use pool you want to manage. <p class="p"><img class="image" id="topic_syc_1z3_xgc__image_izh_h2m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_115.png" width="800"></p>
</li>
<li dir="ltr" class="li">Go to App client settings, Login pages tab, and edit the
Managed login pages configuration.</li>
<li dir="ltr" class="li">Change the Identity Provider to be the Congito user pool
directory.</li>
<li class="li">In the Cognito user pool console, find the section for <strong class="ph b">“Users”</strong>
and choose <strong class="ph b">“Create user”</strong> (or “Add user”). You'll be prompted to
enter details for the new user account:<ul class="ul" id="topic_syc_1z3_xgc__ul_ehg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Username:</strong> Choose a username (for example, the
person’s email or a simple name).</li>
<li dir="ltr" class="li">
<strong class="ph b">Temporary Password:</strong> Set an initial password for
the user. (Cognito might require the user to reset the password
on first login, but for internal testing you can set a simple
one and. optionally, turn off the reset requirement).</li>
<li dir="ltr" class="li">
<strong class="ph b">Contact Info:</strong> Depending on settings, you might
need to provide a valid email address and/or phone number for
the user (these can be used for password recovery or
multi-factor authentication).</li>
<li dir="ltr" class="li">
<strong class="ph b">Account Status:</strong> Make sure that Mark phone/email
as verified is checked if you provided those and don’t want
Cognito to expect a verification step. Also, check Temporary
password so the user must change it on first sign in (for
production users).</li>
<li dir="ltr" class="li">
<strong class="ph b">Create the user.</strong> The new user will now appear
in the user list for the pool.<p class="p"><img class="image" id="topic_syc_1z3_xgc__image_wqk_p2m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_116.png" width="800"></p>
</li>
</ul>
</li>
</ol>
<p class="p">This user represents an agent (or admin) who can log into the Contact Center
web app.</p>
</div>
</article>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title12" id="topic_vnx_11c_vgc">
<h3 class="title topictitle3" id="ariaid-title12">Enabling writeback from Contact Center to Zendesk</h3>
<div class="body">
<p dir="ltr" class="p">To allow Contact Center to send call recordings back to Zendesk after a
call, turn on the Voice Post Call Lambda in AWS.</p>
<p class="p"><strong class="ph b">To turn on writeback</strong></p>
<ol class="ol" id="topic_vnx_11c_vgc__ol_t31_crc_vgc">
<li class="li">Navigate to Lambdas in your Amazon Console.</li>
<li class="li">In the "Functions" section, search for "post". This returns a function with
a name containing 'VoicePostCa'</li>
<li class="li">Open this function, and on the Function overview page, select
<strong class="ph b">Configuration</strong> &gt; <strong class="ph b">Triggers</strong> from the navigation menus.<p dir="ltr" class="p">Select the ‍Contact Center Zendesk Voice Post Call Lambda
function:</p>
</li>
<li class="li">For <strong class="ph b">Kinesis</strong>, select its checkbox, then click <strong class="ph b">Edit</strong>.<p class="p"><img class="image" id="topic_vnx_11c_vgc__image_tvt_w2m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_16.png" width="800"></p>
</li>
<li class="li">On the Edit trigger page, select Activate trigger, and save the
change.<p class="p"><img class="image" id="topic_vnx_11c_vgc__image_x3k_y2m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_17.png" width="800"></p>
</li>
<li class="li">For <strong class="ph b">EventBridge</strong>, click the link in the name (blue highlighted
hyperlink).<p class="p"><img class="image" id="topic_vnx_11c_vgc__image_aqz_cfm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_18.png" width="800"></p>
</li>
<li class="li">In the <strong class="ph b">EventBridge</strong> rule details page, click <strong class="ph b">Enable</strong>.<p class="p"><img class="image" id="topic_vnx_11c_vgc__image_qz1_ffm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_19.png" width="800"></p>
</li>
<li class="li">Repeat the above steps for the following Lambda functions:<ul class="ul" id="topic_vnx_11c_vgc__ul_hhg_hzb_vgc">
<li dir="ltr" class="li">ContactLensEventsLambda</li>
<li dir="ltr" class="li">CTRIngestLambda</li>
</ul>
</li>
</ol>
<p dir="ltr" class="p">After these steps have been completed, your call transcripts will be
shown in your Zendesk tickets from a Contact Center voice call.</p>
<p dir="ltr" class="p">‍</p>
<p dir="ltr" class="p"><strong class="ph b">Note:</strong> If a dual stack upgrade is performed, these triggers must
be turned off on the old Lambda, and only then turned on for the new Lambda. See
<a class="xref" href="#topic_xwd_pzb_vgc">Understanding key terms</a>.</p>
</div>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title13" id="topic_h1b_b1c_vgc">
<h3 class="title topictitle3" id="ariaid-title13">Adding a Contact Center admin user</h3>
<div class="body">
<p dir="ltr" class="p">By default, newly created users are regular users. If a user has
administrator privileges in Contact Center (meaning they can configure Contact
Center settings, view dashboards, and so on), they must be added to the
<strong class="ph b">LMAdmin</strong> user pool group that was created with the CloudFormation
stack. </p>
<p class="p"><strong class="ph b">To add a Contact Center admin user</strong></p>
<ol class="ol" id="topic_h1b_b1c_vgc__ol_vtl_cnq_xgc">
<li class="li">In the Cognito user pool, go to <strong class="ph b">“Groups”</strong> and you will see a group
named LMAdmin.</li>
<li class="li">Click the LMAdmin group and add your new user to the group.</li>
</ol>
<p dir="ltr" class="p">. </p>
<p class="p"><img class="image" id="topic_h1b_b1c_vgc__image_nbs_xfm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_117.png" width="850"></p>
<p class="p"><img class="image" id="topic_h1b_b1c_vgc__image_idn_yfm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_118.png" width="800"></p>
<p dir="ltr" class="p">If you use SSO, the users available to add to this group are only
created after they have successfully signed into Contact Center at least once.
Once added, the user will gain access to the settings and dashboard pages in
Contact Center.</p>
<div class="p"><div class="note note note_note">
<span class="note__title">Note:</span> Connect provides the core contact center capabilities that Contact Center builds on.</div></div>
</div>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title14" id="topic_wk4_b1c_vgc">
<h3 class="title topictitle3" id="ariaid-title14">Configuring Amazon Connect approved origins</h3>
<div class="body">
<p dir="ltr" class="p">Connect includes a security setting that controls which web origins
(domains) are allowed to embed or access the Connect streams (for example, the
softphone agent interface). Since Contact Center is a separate web app that
links to Connect (through the browser, using Connect streams, API, and SAML
login behind the scenes), you must whitelist the Contact Center domain in the
Connect instance settings. This ensures that when an agent uses Contact Center,
Connect recognizes it and permits the connection.</p>
<p dir="ltr" class="p"><strong class="ph b">To configure approved origins</strong></p>
<ol class="ol" id="topic_wk4_b1c_vgc__ol_bny_qqd_vgc">
<li class="li">In the AWS console, open the Amazon Connect service and click your instance
name to view its details.</li>
<li class="li">In the Approved origins section, enter the origin (domain URL) for the
Contact Center web app that agents will use. Typically, Contact Center is
accessed via a web app URL.</li>
<li dir="ltr" class="li">Add the following URLs:<ul class="ul" id="topic_wk4_b1c_vgc__ul_mhg_hzb_vgc">
<li dir="ltr" class="li">https://${<em class="ph i">Zendesk instance name</em>}</li>
<li dir="ltr" class="li">https://1162892.apps.zdusercontent.com</li>
<li dir="ltr" class="li">http://1162894.apps.zdusercontent.com</li>
</ul>
<p class="p">Replace <em class="ph i">Zendesk instance name</em> with your Zendesk subdomain for
example, https://demoinstance.zendesk.com</p>
</li>
<li dir="ltr" class="li">Save your changes. Connect now trusts requests coming from that
domain.</li>
</ol>
<p dir="ltr" class="p"><strong class="ph b">Why this matters:</strong> If you skip this step, when a user tries to
sign into Contact Center, and it tries to silently open the Connect stream or
perform actions via the Connect APIs, it might get blocked due to CORS
(cross-origin request) restrictions. Whitelisting the domain prevents that
issue. You need to do this once for each Connect instance and integrating
app.</p>
<p class="p"><img class="image" id="topic_wk4_b1c_vgc__image_hxr_3gm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ig2_14.png" width="800"></p>
<p dir="ltr" class="p">With the Cognito user in place and the Connect origin set, the
integration setup is complete complete. You can now test the end-to-end
functionality.</p>
<p class="p"><strong class="ph b">To test your contact center</strong></p>
<ol class="ol" id="topic_wk4_b1c_vgc__ol_kq1_yqd_vgc">
<li dir="ltr" class="li">Sign out of the Contact Center admin console and navigate to the
Contact Center agent login page, https://${Zendesk Instance
Name}/agent.</li>
<li dir="ltr" class="li">Sign in with SSO or the user credentials you set up in Cognito
(username and password).<p class="p">You'll now be in the Contact Center independent
interface. This web app will link to Connect in the background (using
the allowed origin we set and the integration configuration we
deployed). If your Connect instance is brand new, there might not be
much to see yet (until you set up a phone number or chat). However, you
can verify connectivity by seeing if the Connect softphone/agent status
controls load in Contact Center.</p>
<p class="p">For example, you might see your
Connect agent status (Online/Offline) indicator in Contact Center and be
able to change status or make a test outbound call if you've claimed a
number. This indicates the integration is working.</p>
</li>
</ol>
</div>
</article>
<article class="topic nested2" aria-labelledby="ariaid-title15" id="topic_ngs_b1c_vgc">
<h3 class="title topictitle3" id="ariaid-title15">Installing and configuring the Contact Center app</h3>
<div class="body">
<p dir="ltr" class="p">You're now ready to install the Contact Center app in your Zendesk
account.</p>
<p class="p"><strong class="ph b">To install the Contact Center app</strong></p>
<ol class="ol" id="topic_ngs_b1c_vgc__ol_uc3_3qc_vgc">
<li class="li">In your Zendesk account, navigate to Admin Center.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_tzs_tgm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_119.png" width="400"></p>
</li>
<li class="li">Navigate to Zendesk Support Apps.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_i4z_ygm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_120.png" width="275"></p>
</li>
<li class="li">Open the Marketplace.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_flb_qgm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/implementation_guidez_2.png" width="250"></p>
</li>
<li class="li">In the Zendesk Marketplace, search for, and install the <a class="xref" href="https://www.zendesk.com/marketplace/apps/?utm_medium=zendesk_support&amp;utm_source=marketplace_directory_my_apps_link&amp;query=zendesk+for+contact+center" target="_blank">Zendesk for Contact Center</a>
app.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_qgq_khm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_121.png" width="450"></p>
</li>
<li class="li">Navigate to Admin Center &gt; <strong class="ph b">Apps and Integrations</strong> &gt; <strong class="ph b">Apps</strong> &gt;
<strong class="ph b">Zendesk Support apps </strong>&gt; and click the Contact Center app.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_zvc_k3m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_122.png" width="275"></p>
</li>
<li class="li">Update the following settings using your existing Contact Center instance
URL:<ul class="ul" id="topic_ngs_b1c_vgc__ul_rhg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Title:</strong> Typically, use the suggested name.</li>
<li dir="ltr" class="li">
<strong class="ph b">Contact Center workspace:</strong> Once you've set up your
Contact Center environment, you can retrieve the workspace value
from the URL of your standalone Contact Center environment.</li>
<li dir="ltr" class="li">
<strong class="ph b">Zendesk for Contact Center region:</strong> Once you have
your Contact Center environment set up, you can retrieve this region
value from the URL of your Contact Center environment.</li>
<li dir="ltr" class="li">
<strong class="ph b">Enable role restrictions:</strong> Restrict Contact Center
access to specific roles.<p class="p"><img class="image" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/implementation_guidez_3.png" width="400"></p>
</li>
<li dir="ltr" class="li">
<strong class="ph b">Enable group restrictions:</strong> With this optional
setting you can limit specific groups to have access to the Contact
Center app.</li>
</ul>
</li>
<li class="li">Click <strong class="ph b">Update</strong>.</li>
</ol>
<p dir="ltr" class="p">The Contact Center app will now appear in the top right corner of your
Zendesk instance.</p>
<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_j1n_x3m_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_123.png" width="250"></p>
<p class="p">Now that you've installed the Contact Center app, you can configure its
settings.</p>
<p class="p"><strong class="ph b">To configure the Contact Center app</strong></p>
<ol class="ol" id="topic_ngs_b1c_vgc__ol_ykx_4rc_vgc">
<li class="li">In Zendesk Admin Center click <strong class="ph b">Apps and integrations</strong> &gt; <strong class="ph b">API
tokens</strong>.</li>
<li class="li">Click <strong class="ph b">Add API token</strong>. <p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_fdx_jjm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_124.png" width="800"></p>
</li>
<li class="li">On the Add API token page, enter a descriptive name for the token, for
example, "Connect Contact Center to Zendesk".</li>
<li class="li">Click <strong class="ph b">Save</strong>.<p dir="ltr" class="p">Copy the token string and keep it handy for
the next steps.</p>
<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_xxh_pjm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_125.png" width="500"></p>
</li>
<li class="li">In Contact Center, click the settings icon (<img class="image" id="topic_ngs_b1c_vgc__image_tr2_cpj_xgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_settings_icon.png" width="25">), then click <strong class="ph b">Admin
settings</strong>.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_t22_5jm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_126.png" width="400"></p>
</li>
<li class="li">Click the Zendesk settings icon (<img class="image" id="topic_ngs_b1c_vgc__image_msz_tzb_xgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/zendesk-icon_cc.png" width="20">). You'll see helpful information
about getting your Contact Center app connection to your Zendesk
account.</li>
<li class="li">Expand the Your Zendesk account panel, then click <strong class="ph b">Edit.</strong><p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_vkp_yjm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_127.png" width="800"></p>
</li>
<li class="li">In the <strong class="ph b">API key</strong> field, paste the API key you copied previously.</li>
<li class="li">In the <strong class="ph b">Zendesk user email</strong> field, enter your Zendesk admin email
address.</li>
<li class="li">Click <strong class="ph b">Connect account</strong>.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_r1w_ckm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_128.png" width="450"></p>
<p class="p">You'll see a page that
helps you set up your creation rules for Zendesk tickets, as well as how
transcripts and recordings will be handled. If you're not sure what to
enter, you can configure these items later.</p>
</li>
<li class="li">Click <strong class="ph b">Complete</strong>. <p class="p">The Contact Center app and your Zendesk account
are now linked.</p>
</li>
<li class="li">In your Zendesk environment, perform a hard refresh of your browser.</li>
<li class="li">Click the phone icon (<img class="image" id="topic_ngs_b1c_vgc__image_tnw_knc_xgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_zenphone.png" width="25">) to open the Contact Center
app.<p class="p"><img class="image" id="topic_ngs_b1c_vgc__image_kr2_hkm_vgc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/cc_gd_129.png" width="800"></p>
</li>
<li class="li">Click <strong class="ph b">Continue</strong>.</li>
<li class="li">Sign in using the authentication process set up for your account.</li>
<li class="li">Perform a test call by setting up a new number in the Connect dashboard,
linking it to a new or preconfigured contact flow, and confirming whether
the call reaches your agent in Zendesk through the app.</li>
</ol>
<p dir="ltr" class="p">You've now finished setting up your contact center.</p>
</div>
</article>
</article><article class="topic nested1" aria-labelledby="ariaid-title16" id="topic_wg3_ncc_vgc">
<h2 class="title topictitle2" id="ariaid-title16">Next steps</h2>
<div class="body">
<p class="p">Now you've completed the installation, here are some useful resources to get you
started using Contact Center.</p>
<ul class="ul" id="topic_wg3_ncc_vgc__ul_thg_hzb_vgc">
<li dir="ltr" class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9459009706266-Accessing-workflows-in-Contact-Center" target="_blank">Accessing workflows in Contact
Center</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9611882665754-Contact-Center-general-integration-settings" target="_blank">Contact Center general integration
settings</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://docs.google.com/document/d/1IdcwY_ArKErKbV8tfANDLdrndmoVIGsd95n6KVyrmxY/edit?usp=sharing" target="_blank">Mapping and displaying Contact
Attributes</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9611893524634-Manually-associating-Contact-Center-calls-to-tickets" target="_blank">Manually associating Contact Center calls to
tickets</a></li>
<li dir="ltr" class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9459045766170-Accessing-call-recording-and-transcription-settings-in-Contact-Center" target="_blank">Accessing call recording and transcription
settings in Contact Center</a></li>
</ul>
</div>
</article><article class="topic nested1" aria-labelledby="ariaid-title17" id="topic_v2j_kbc_vgc">
<h2 class="title topictitle2" id="ariaid-title17">Troubleshooting Contact Center</h2>
<div class="body">
<p dir="ltr" class="p">In this section, you'll learn about a few common issues and how to address
them.</p>
<ul class="ul" id="topic_v2j_kbc_vgc__ul_vhg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">CloudFormation Stack Failure (Rollback):</strong> If the CloudFormation
stack does not deploy successfully on the first try, the stack creation will
fail and automatically roll back to the original configuration. <p class="p">For example,
if the stack initially failed with the error, “Subscribe CTR (Contact Trace
Records) Stream”, this might indicate that a resource couldn’t be created.
To diagnose this, open the stack details page and look at the event where it
failed. In this example, it’s likely a prerequisite was missed: <strong class="ph b">Amazon
Connect’s Contact Trace Records streaming was not turned on</strong>. The
“CTR stream” refers to Connect’s contact data stream (using Amazon Kinesis).
CloudFormation was attempting to set up a connection for streaming contact
data, but since no Kinesis stream was defined in Connect, it failed.</p>
<p dir="ltr" class="p"><strong class="ph b">Solution:</strong>
</p>
<ul class="ul" id="topic_v2j_kbc_vgc__ul_whg_hzb_vgc">
<li dir="ltr" class="li">See "Kinesis data streaming" in the <a class="xref" href="#topic_rnw_5zb_vgc">Setting up Amazon Connect</a> section.</li>
<li dir="ltr" class="li">If the CloudFormation stack fails, carefully read the error
message or check the <strong class="ph b">Events</strong> tab of the stack in AWS for the
failed resource. Common issues could be missing permissions or missing
pre-configuration. For instance, make sure:<ul class="ul" id="topic_v2j_kbc_vgc__ul_xhg_hzb_vgc">
<li dir="ltr" class="li">The Connect instance is in a state ready for
integration (if it needs any specific setting turned on such as
streaming, do that first).</li>
<li dir="ltr" class="li">The parameters you entered (such as the Connect ARN)
are correct.</li>
<li dir="ltr" class="li">You have the necessary AWS permissions to create all
the resources (lack of IAM permissions could cause failure;
typically you need admin rights on the AWS account to deploy
this stack).</li>
</ul>
</li>
</ul>
</li>
<li dir="ltr" class="li">
<strong class="ph b">Data Streaming or Storage:</strong> If your CloudFormation stack
creation fails at the ConnectDetails step, this could be due to the data
streaming or data storage configurations not being set up as expected by the
stack. These settings are checked in your Connect instance in the AWS
Console.<ul class="ul" id="topic_v2j_kbc_vgc__ul_yhg_hzb_vgc">
<li dir="ltr" class="li">
<strong class="ph b">Data Streaming</strong>: Make sure you selected the Kinesis Data
Streaming opti as “Kinesis Stream” and not “Kinesis Firehose”.</li>
<li dir="ltr" class="li">
<strong class="ph b">Data Storage</strong>: Make sure that the Call recording, Chat
transcripts and Export reports S3 buckets are set up and turned on in
the Data storage section in Connect.</li>
</ul>
</li>
<li dir="ltr" class="li">
<strong class="ph b">Allowed Origins / Login Issues:</strong> After setup, if users cannot
sign in or the agent desktop isn’t connecting to Amazon Connect, double-check
the Approved rigins in the Connect instance. If the domain was incorrect or not
added, the connection will be blocked. Add the correct domain and try again. If
users still can’t log in, ensure they exist in Cognito or SSO platform and have
the right credentials.</li>
<li dir="ltr" class="li">
<strong class="ph b">Cognito user pool tips:</strong> When testing logins, remember that if a
Cognito user is created with a temporary password, the first login must use a
flow that allows the password to be changed. The Contact Center sign in
interface might handle this by prompting a reset. If not, you might need to
manually set a permanent password for the user in the Cognito console (you can
choose Set password for the user and turn off the force-reset option). For
long-term use, advise clients on setting up an identity provider or managing
users according to their IT policies.</li>
<li dir="ltr" class="li">
<strong class="ph b">Rollback cleanup:</strong> If a CloudFormation stack fails and rolls
back, it usually cleans up all resources it attempted to make. However, it’s
good to verify that partial resources (such as a Cognito user pool or IAM roles)
weren’t left behind. Usually, CloudFormation removes them, but if you see any
orphaned resources, you might remove them manually to avoid confusion before
retrying.</li>
</ul>
</div>
</article>