Showing results for 
Search instead for 
Did you mean: 
New Member

How to make the Canvas App id constant across environments?



I have an embedded canvas app in my development environment. When I export this app as a package and import it in my test environment, the App ID is getting changed. Because of this, I need to manually change the App ID in the form where I am using it. Is there any way to export the app with the same ID?



Advocate I
Advocate I

@BishopTecConsul Hi there, do you had any solution for this issue? We currently got the same scenario, having a canvas app embedded in a form with App name, the app itself is part of a solution which gets deployed on multiple environments. Accordingly to the documentation, this should work. But we are facing the issue, that the app deployed on environment A is fetching data from environment B.


We also have a support ticket open for this, these guys are telling me to change the ID from the Canvas App itself, but I don't know how to do so....

Super User
Super User

No, unfortunately the app ID is unique and determine at creation or import time. As per my previous post, in the embedded app properties, set the App Name in the embedded canvas app control properties of the model-driven form. When an App Name is present is takes precedence over the App ID hence you won't need to change anything after a solution import. Hope this helps

What is the data source of your canvas app? If Dataverse ensure you're using the "current environment" connector.

Unfortunately, I've still got a ticket open with Support in efforts to try to resolve this. What I've been able to determine is that it is a legacy issue. When I manually import the App into a fresh environment, the background processes occur that give it a unique AppName and ask for the proper connection references. Then future imports should work fine as long as the App Displayname is held consistent.

As far as being a legacy issue, I've been importing this app as part of a solution since before this feature was rolled out and documented so my App Names are all the same on import.

You change the GUID (ID) is found in the component reference on the Form. Using the Classic UI, go to Properties for the field that you have the app embedded on and go to the Control properties. When you click on the Canvas Control you'll have some options in the property box, see image.
This, of course, would be time consuming if you have multiple environments to update, which is why I'm pursuing this ticket with rigour.
Screen Shot 2021-08-23 at 10.15.05.png

Thanks. Yes, this is how it should work according to the docs. But for us currently there is an issue regarding data. We imported the app from environment A (dev) to environment B (prod), embedded in a form with the App Name set. Later we made full copy of environment B (prod) to environment C (training environment). But now the data in the app is from environment B (prod) and not from environment C. 


Connector is Dataverse, current environment.

Is there a difference if you import with the classic UI or with the Maker portal?

So, you imported the app manually on the target environments and changed the App ID manually in the form on the target environments? 

This is not a satisfactory solution, when you are working with managed solutions since you are creating active layers.. 


@EricRegnier: Will try to implement the embedding of the app via makers portal and keep you posted.

Thanks for the info @jherr .
This is very similar to my experience with the issue. MS Support is ongoing with this. So far, after 4 months, I've been told I need to update everything manually (I've also got a Flow triggered by the Canvas app as well).

There is. Importing in the Classic UI has never given me the update connections prompts and the Makers Portal has.


Originally, Component fields weren't available for Canvas apps so I was doing this all through the Classic UI but now, yes, you can update the AppID and the App Name through the Makers Portal just the same.


And agreed, a manual approach to updating this information is certainly not scalable.

Super User
Super User

Hey @MadhanSA 


As workaround, how practical is it to save App ID depending on environment in  Environment variables and use it back in canvas app ? Instead of editing the app, you may easily adjust App ID in the solution during environment movement.

Helpful resources

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (3,363)