You are here:
Set Up Multi-Org Contact Centers
Execute the CloudFormation templates and import XML files to configure your AWS account and Salesforce orgs to set up multi-org contact centers.
This article applies to:
- Service Cloud Voice with Partner Telephony from Amazon Connect (Voice manually integrated with your Amazon Connect through XML import)
Make sure that you have a Connect Instance. If not, create a Connect Instance, and note the login URL.
See New connected apps can no longer be created in Spring ‘26 for more details.
-
In your AWS account, create a S3 bucket to store SAML metadata, for example,
scv-saml-metadata-<AWS_ACCOUNT_ID>. -
In your AWS account, create a S3 bucket to store cloudformation templates available on
GitHub, for example,
scv-enterprise-resources-<AWS_ACCOUNT_ID>. - Create a Connected App in Salesforce. To create a Connected App, use the create option available in the Settings under External Client Apps section.
- If you use Salesforce as an Identity Provider, download the metadata document and upload it to your SAML metadata S3 bucket.
-
Prepare cloudformation templates. Modify the TemplateURL for nested stack with the object
URL stored in the S3 bucket
scv-enterprise-resources-<AWS_ACCOUNT_ID>. Replace the placeholderCUSTOMERDEFINEDS3BUCKETNAMEwith the name of your S3 bucket. If you aren't using the same URL convention, you must replace the entire URL. -
(Optional) Run the cloudformation templates to create a contact center through XML import.
This step is required if you haven't configured your Amazon Connect instance with a S3 bucket,
CTR (contact record) Stream, and Contact Lens. Otherwise, directly go to step 7 to create a multi-org contact
center.
-
Create
BYOATenantStack. This stack is used to create IAM roles and cloudTrail global resources. Create this stack only once and can be updated as required. -
Create
BYOAIDPStack. This stack is used to create the Identity Provider. This input for this is a metadata document which is uploaded to Customer owned S3 bucket. -
Create a
BYOAContactCenterStackusing the SAML metadata used in step 1. This stack creates the S3 bucket to store the recordings, the CTRStream for contact records, and contact Lens stream real-time transcription. This stack also creates Lambda functions and secrets. - Update the custom attributes in your Salesforce Connected App.
- Use the import.xml file to create the contact center in Salesforce. Make sure to copy all the required ARNs correctly from your AWS account.
-
Create
-
Create and configure multi-org contact centers.
-
Run the
BYOAIDPStack. Run this stack every time you add a new contact center in the multi-org setup. -
Run the
MultiprgProvisioningServiceStack. This stack creates the common Lambda functions shared by all the contact centers in the multi-org setup. Run this stack only once for each multi-org setup. -
Run the
MultiOrgConnectConfigurationStack. This stack configures the Amazon Connect instance with org-specific information like secrets and approved origins. Run this stack every time you add a new contact center in the multi-org setup, and make sure to change the input parameters in the stack accordingly.
In the multi-org setup, the Lambda functions does not have the secret name configured as an environment variable. The secret name must be passed from the Amazon Connect Contact Flow to the Lambda function. In your Amazon Connect Contact Flow, define an attribute where the key is
secretNameand the value is the secret name created by theMultiOrgConnectConfigurationStackfor the specific org. Because the secret is org-specific, you must implement the required branching logic within the Contact Flow to send calls to the correct Salesforce org and, set thesecretNamecontact attribute before invoking any Lambda functions.The
Use the import.xml file to create the contact center in Salesforce. Make sure to copy all the required ARNs correctly from your AWS account.BYOAContactCenterStackcreates the secret for the first Salesforce org. TheMultiOrgConnectConfigurationStackcreates the org-specific secrets for all subsequent orgs added in the multi-org setup. -
Run the
"aws:ResourceTag/resourceOwner":
"scv" to make sure that the resources created by the template are correctly tagged.
In the MultiorgProvisioningServiceStack template, the value of the
callcenterApiName and lambdaPrefix parameter must be the
same.
When you run the BYOAContactCenterStack template, the value you provide for
the tenant S3 bucket is a prefix. The stack automatically creates the S3 bucket with the full
name in <your-prefix>-<AWS-Account-ID> format. You must use this full S3
bucket name when running the MultiorgProvisioningServiceStack template.
- Input Parameters for Multi-Org Stack Templates
You must use the required parameters for the different stack templates required to be run in the multi-org contact center set up.

