Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
mbn_2025
Frequent Visitor

Fabric CI/CD (fabric-cicd): How to switch Salesforce connection from DEV to PROD during deployment?

Hi,


I’m using Azure DevOps with fabric-cicd to deploy Microsoft Fabric items from a DEV workspace to a PROD workspace.

In DEV, my artifacts use a Salesforce connection that points to the DEV Salesforce environment. During deployment to PROD, I want them to automatically point to a PROD Salesforce connection (created in the PROD workspace).

 

Has anyone managed to rebind/switch the Fabric connection ID (Salesforce) during deployment using parameter.yml?

  • Should I replace the connectionId used by Data Pipelines/Dataflows, or only replace a parameter (like a URL)?

  • What is the correct file + JSONPath / find_replace to target for Salesforce?

 

Here is my parameter.yml :

find_replace:
- find_value: "<SilverExternalSqlConnectionId>"
replace_value:
PRD: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
item_type: "Notebook"
item_name: "nb_variables_globales"

- find_value: 'workspaceId\s*=\s*"([0-9a-fA-F-]{36})"'
replace_value:
_ALL_: "$workspace.id"
is_regex: "true"
file_path: "**\\mashup.pq"

- find_value: 'lakehouseId\s*=\s*"([0-9a-fA-F-]{36})"'
replace_value:
_ALL_: "$items.Lakehouse.lh_bronze.$id"
is_regex: "true"
file_path: "**\\mashup.pq"

key_value_replace:
- find_key: $.properties.activities[?(@.type=="Copy")].typeProperties.source.datasetSettings.externalReferences.connection
replace_value:
PRD: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
item_type: "DataPipeline"
file_path: "dbs/**/*.json"

- find_key: $.properties.activities[?(@.type=="Copy")].typeProperties.source.datasetSettings.externalReferences.connection
replace_value:
PRD: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
item_type: "DataPipeline"
file_path: "coda/**/*.json"

 

Thanks in advance!

 
 

 

 

1 ACCEPTED SOLUTION
v-prasare
Community Support
Community Support

Hi @mbn_2025 ,Currently, Microsoft Fabric CI/CD does not natively support switching workspace connections such as Salesforce across environments using parameter.yml Connections in Fabric are workspace-scoped and referenced by GUIDs, so when artifacts are deployed from DEV to PROD, they continue to point to the DEV connection. Because of this design, trying to override or replace connection IDs during deployment using find/replace logic is brittle and often unreliable.

 

recommended approach as of today is to deploy the artifacts first using fabric-cicd and then rebind the connection in the target workspace. This involves creating separate Salesforce connections in each environment (DEV and PROD) and, after deployment, updating the pipelines or dataflows in the PROD workspace to use the PROD Salesforce connection. This rebinding can be automated using Fabric REST APIs or a simple post-deployment script in Azure DevOps. Until Fabric introduces native environment-aware connection switching, post-deployment rebinding remains the most reliable and scalable solution for CI/CD scenarios.

 

 

 

Thanks,

prashanth

 

View solution in original post

3 REPLIES 3
v-prasare
Community Support
Community Support

We would like to confirm if you've successfully resolved this issue or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are more than happy to continue to help you.

 

 

 

Thank you for your patience and look forward to hearing from you.
Best Regards,
Prashanth Are
MS Fabric community support

v-prasare
Community Support
Community Support

Hi @mbn_2025 ,Currently, Microsoft Fabric CI/CD does not natively support switching workspace connections such as Salesforce across environments using parameter.yml Connections in Fabric are workspace-scoped and referenced by GUIDs, so when artifacts are deployed from DEV to PROD, they continue to point to the DEV connection. Because of this design, trying to override or replace connection IDs during deployment using find/replace logic is brittle and often unreliable.

 

recommended approach as of today is to deploy the artifacts first using fabric-cicd and then rebind the connection in the target workspace. This involves creating separate Salesforce connections in each environment (DEV and PROD) and, after deployment, updating the pipelines or dataflows in the PROD workspace to use the PROD Salesforce connection. This rebinding can be automated using Fabric REST APIs or a simple post-deployment script in Azure DevOps. Until Fabric introduces native environment-aware connection switching, post-deployment rebinding remains the most reliable and scalable solution for CI/CD scenarios.

 

 

 

Thanks,

prashanth

 

Wouldn't a variable group be a good solution in this scenario?

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.