But when I log in, I go straight to the welcome page as if I was a developer, bypassing my landing page. Here's what it shows in the upper right:
It shows me as a creator and allows me to select my landing page. If I pick External Users landing page, I go to the App, but it gives me the option to edit the app and the app is in preview mode, in the production environment.
If I check my User Permissions, the External users group has Use access to the app, but as an external user, I'm allowed to edit the app:
I must have done something wrong here, so here are my questions
How do I direct external users to my app upon login?
How do I point external users to a specific environment? I would like to have them be able to use this in a testing environment before I go to production
When they see my app, I don't want it to be in preview mode, I want them to just see the working app. How do I achieve that?
My external users were also part of the All Users group. All Users had access to everything, so I had to kill that groups access to all apps. Once I did that, my external user went straight to the landing page as anticipated.
The only issue is controlling which environment they have access to - it seems like it's my dev environment, but I don't understand how to get them to production...
Hope this helps! Also, ensure your app's queries and resources are configured to use the correct environments.
If they are making edits, they should also be able to toggle the environment in the app editor if the permissions for all the resources in the app are set up to be accessible by them and have versions of the resource in both/all environments.
Are these external users making edits to apps or do you just want them using the production version of you app?
@Jack_T - I figured out how to create releases - and that is working well.
What I really want to do is force an external user to access only my UAT environment in our Retool Database so I can segregate their data. Is there a way to do that?
Once an external user hits Retool, they get pushed straight to production. I can't seem to intercept the URL to force it to an environment.
That is great to hear! To limit access of Retool Database you would need to configure that in the permissions/resource setup.
As resource can have different environments that they are allowed in, and then you would connect the resource to a differing data table depending on the resource and use case.
You could do some redirecting with a query that runs on page load that use the action "go to app" to move the user. But from the invite link for new users you should be able to control with the "Go to URL" option as well.
In my group permissions, I only have permissions for the whole of the db, not by environment:
I have three environments in retool - staging, uat, and production. My database has matching schemas in each, so I'm good to go there. I tested the database from the uat environment from the editor, and it works as expected.
I tried sending an external user to the uat environment using this:
and it tries to write to the production environment. Right now, I only have one external app, so I'm just pushing users to it post login.
I was checking internally and the best option to take advantage of Retool's controls for different environments are only for enterprise Where you can use spaces and version control to fully partition out apps, data, resources and set up a development flow to protect production and merge in changes.
An alternative is having duplicate apps but I do not think that Retool DB let's users have Resource level control of different environments. But a separately hosted Postgres DBs where one is for each environment could be a work around.