Access to Staging & Production WITHOUT edit access

I have a user who acts does QA but does not and should not have the ability to edit the applications. It's possible I missed something but am I wondering (or requesting if its not a feature) if there is a way to accomplish this.

any help would be great! thanks!

Under Permissions you can go into the group your QA person is in and select which apps they can Edit or Use or Own

@ScottR, then they will be able to edit the application.
I want them to have access to the staging env without having the ability to edit the application

Yes, so only check the box under Use
As per the environment restriction, you could select Use underneath resources for only those Resources that are pointing to your staging environment:
Screen Shot 2022-04-05 at 4.45.29 PM

1 Like

Thanks for chiming in there @ScottR :+1: really do appreciate that. @DavidD were you able set up permissions the way you wanted to?

hey @Pawan its possible I'm just not quite getting it so here is what I tried

I gave user USE access to (all) the resources && USE access to the app -> they were not able to switch between staging & production
I gave user EDIT access to the app && USE access to the resource -> they were able to edit the app
I gave user EDIT acess to the resource && USE access to the app -> they were not able to switch between staging and production

is there something I'm doing wrong?


Hi DavidD,

I took a look at this doc and I saw that

If in case you're not able to switch between environments through the dropdown in preview mode, you can also try changing the environment through URL params. I referenced this doc to find out how to do that and was successfully able to on my end emulating a user similar to your permissions.

Let me know how that works for you!


We have a use case where it would be valuable for users with USE access are able to select between Staging and Production as well. We cannot give them edit access to the app, but they need to be able to switch to Staging.

It would be great to be able to set a setting where those with USE access are given the ability to access both Staging and Production instead of only those with edit access.

1 Like

I want to +1 this. We need to give QA access to change environments without also having edit access.

1 Like

Along the lines of what @Pawan said, I've used URL params to accomplish this kind of thing – adding ?_embed=true&_environment=staging and ?_embed=true&_environment=production to the end of an app URL. Then, added a dynamic text component to the app's header which provides at-a-glance which environment a user is in via {{ retoolContext.environment }}. They won't have the native ability to toggle between environments, but they could have staging open in one tab, and development in another tab.

It's trivial to get around if a user is determined to get into Edit mode and can deduce what the URL params are for, but if the goal is simply to remove the "Edit app" button from view (and that may be sufficient), it works.

1 Like

Hiya! Just chiming in here - would also love this to be a native setting. Separation of staging data and edit access would be huge, for teams who need to be able to QA staging, but shouldn't have access to the edit button

Thanks for sharing the feedback that this is something you'd like to see in Retool!

Adding permissions for environments is something on our team's radar and we've received similar indication from a number of other users that they'd like to see it as well, it looks to be something that will really help in people's development process.

We'll definitely let you all know here when it's included :slightly_smiling_face:

1 Like

thanks! looking forward to seeing this!

This is very important @Kabirdas ! Please get to it soon! :pray:t3:


Just a heads up that you can turn on this setting (behind a feature flag for cloud) to allow viewers to change environments:

End users can toggle it like this (v2.116.6) once the setting is enabled:

If you'd like this flag turned on, please reach out to support at and mention the "endUserEnvironmentsToggle" flag

1 Like

Hey @Isaac-H what happend to this BETA setting?
Switching with URL params works for me, but I can't find neither the toggle nor the setting.

Hey, what version of retool are you on? What's your org name? (that you used for your self hosting account) And can you confirm the last 2 digits of your license key? (Or private messaging me the full license key would work also :grinning: )

Depending on your version, it's still behind a feature flag and needs to be manually enabled for your license key as per above. On newer versions it should be there by default however. It was there on 3.0.1 on one of my test deployments without the flag.