---
schema_version: "1"
id: 87435ca9dda0a1e60c29ea1fb040534cdd85e006e5f223cf9e47e80e5a83c634
title: Set Up Multi-Org Contact Centers
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/voice_multi_org_setup.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.voice_multi_org_setup.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 348e85be73b41208410bc155e7b63424145368377664feff7c597b3c1d813ada
description: Execute the CloudFormation templates and import XML files to configure your AWS account and Salesforce orgs to set up multi-org contact centers.
products:
  - Service Cloud
  - Digital Engagement
release: "264"
---
# 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:

- Salesforce 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.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_important.png)

Important Starting in the Summer '26 release, connected apps can no longer be created. New contact centers use external client apps (ECA) for single sign-on (SSO). Contact centers created before the Summer '26 release will continue to use their connected apps for SSO.

1. In your AWS account, create a S3 bucket to store SAML metadata, for example, `scv-saml-metadata-<AWS_ACCOUNT_ID>`.
2. In your AWS account, create a S3 bucket to store cloudformation templates available on [GitHub](https://github.com/service-cloud-voice/ServiceCloudVoiceLambdas/tree/master/cloudformation), for example, `scv-enterprise-resources-<AWS_ACCOUNT_ID>`.
3. [Create a External Client App](https://help.salesforce.com/s/articleView?id=service.voice_create_connected_app.htm&type=5&language=en_US) in Salesforce. To create an external client app, use the create option available in the Settings under External Client Apps section.
4. If you use Salesforce as an Identity Provider, download the metadata document and upload it to your SAML metadata S3 bucket.
5. 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 placeholder `CUSTOMERDEFINEDS3BUCKETNAME` with the name of your S3 bucket. If you aren't using the same URL convention, you must replace the entire URL.
6. (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.
    
    1. 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.
    2. 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.
    3. Create a `BYOAContactCenterStack` using 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.
    4. Update the custom attributes in your Salesforce external client app.
    5. 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.
    
    See [Use an Existing Amazon Connect Instance Integrated by You](https://help.salesforce.com/s/articleView?id=service.voice_existing_byoa.htm&type=5&language=en_US).
7. Create and configure ‌multi-org contact centers.
    
    1. Run the `BYOAIDPStack`. Run this stack every time you add a new contact center in the multi-org setup.
    2. 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.
    3. 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 `secretName` and the value is the secret name created by the `MultiOrgConnectConfigurationStack` for 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 the `secretName` contact attribute before invoking any Lambda functions.
    
    The `BYOAContactCenterStack` creates the secret for the first Salesforce org. The `MultiOrgConnectConfigurationStack` creates the org-specific secrets for all subsequent orgs added in the multi-org setup.
    
    [Use the import.xml file to create the contact center in Salesforce](https://help.salesforce.com/s/articleView?id=service.voice_existing_byoa.htm&type=5&language=en_US). Make sure to copy all the required ARNs correctly from your AWS account.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_note.png)

Note Execute the cloudformation templates with the tag `"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](https://help.salesforce.com/s/articleView?id=service.voice_multi_org_input_param.htm&release=264.0.0&type=5)**  
    You must use the required parameters for the different stack templates required to be run in the multi-org contact center set up.