
Announcements
Hi!
I'm in the process of setting up an Application Lifecycle Management (ALM) process and need some expert insights regarding the management of custom connectors within solutions. Specifically, I'm exploring the "Known Limitations" outlined for custom connector solutions in https://learn.microsoft.com/en-us/connectors/custom-connectors/customconnectorssolutions. and how to effectively deploy and update these connectors across environments.
Quick Questions Overview:
How to Deploy: When you've got a custom connector used in two different setups (one just for the connector and another for a flow that uses it), what's the smart way to deploy these so everything works smoothly in Azure?
Updating the Connector: If the custom connector needs a refresh, do you update the original connector setup, the flow setup, or both? How do you avoid messing up and putting an old version back in by mistake?
Keeping Things Tidy: Can you link the custom connector as a "needed" item in the flow setup without actually including it? This way, it's clear they're connected, but you don't end up with multiple versions floating around.
The scenario contains a custom connector (CustomConnector) included as the only component in a solution (CustomConnectorProviderSolution). Another solution (CustomConnectorFlowSolution) uses CustomConnector in a flow and thus includes CustomConnector as a component. CustomConnector was added to the solution CustomConnectorFlowSolution by simpling choosing to "Add required objects" for the flow that uses the connector.
CustomConnectorProviderSolution components:
- CustomConnector
CustomConnectorFlowSolution components:
- flow (using CustomConnector)
- CustomConnector (added by "Add required objects" via the flow)
The reason there is separate solution that includes only the CustomConnector is given by this paragraph in https://learn.microsoft.com/en-us/connectors/custom-connectors/customconnectorssolutions:
Thus, to deploy CustomConnectorFlowSolution as a managed solution to another environment one needs to deploy CustomConnectorProviderSolution beforehand as a managed solution to the target environment. Once this is done it is possible to deploy the managed solution CustomConnectorFlowSolution to the target environment. However, since CustomConnectorProviderSolution also includes CustomConnector I assume that the CustomConnector will be deployed once more? Am I correct to assume this?
Now, assume that CustomConnector needs to be updated in the target environment. One way to accomplish this is to increment the version of the CustomConnectorProviderSolution and then package it as a managed solution and deploy this to the target environment to update the CustomConnector. However, since CustomConnectorFlowSolution also includes CustomConnector it should also be possible to update CustomConnector by deploying a new version of the CustomConnectorFlowSolution that includes the updates to the CustomConnector. Which is the "correct" way to do this? Or was it incorrect to initially include CustomConnector as a component to CustomConnectorFlowSolution?
My fear is that the CustomConnector might be accidentally downgraded in an environment if redeployed and it contains an older version of the CustomConnector. Or does Power Automate keep track of the versions of the included components such that it is not possible to accidentally downgrade a component via its dependency chain?
If I do not include CustomConnector in CustomConnectorFlowSolution is it possible to still express a dependency between these in such a way that the CustomConnector is not included as a component but only recorded as a dependency? This would be the ideal scenario because the CustomConnector is a connector that could be used by many other solutions. If many solutions all include the CustomConnector it seems very possible that the accidental-downgrade-scenario would realize itself.