I am stuck. I know what I want to do but can’t seem to figure out the best way to do it (and Grok and GPT can’t seem to help either LOL). I am trying to create an app based on google sheets for the agents in my real estate brokerage. I need to just get the initial set up nailed down before moving on to the actual transactions and such. I initially had one Profile table with everything I wanted/needed for the agent for both the app and the brokerage. I seemed to get stuck in a circular reference with security, slices, and views. I split it into two tables, but now I can’t seem to figure out the setup that way in order to get proper cross-referencing without actually having duplicate data on both tables (but can do that if necessary, I’m just concerned about mismatches). The columns I think are at issue are Agent ID, Name, Email, and Role. I had these all on one (Profile) and then moved them to (Users). The idea is for me to create a basic profile when a new agent joins, then let them log in to complete it. I will have a role that is set to Pending User until they complete their profile. I want them to be able to edit their data, but am concerned if i have their email, for example, on both tables, that only one table gets updated then causes issues. What is the proper set up and function for something like this? Any help is greatly appreciated!!
Hey Bradiskey
Welcome to the community!
It sounds like it might be easier to perhaps start over. A lot of times this happens whenever you’re initially starting to create something, you’ll experiment and put some feelers out there to see what works and what doesn’t…. Then eventually you just need to start over, cuz there’s a bunch of leftovers inside the app.
I gave your question to appster, it had a really good answer which I’ll leave below.
______________________________________________________
I can see you’ve run into the classic “Profile Setup” challenge that many AppSheet developers face! You’re absolutely right to be concerned about data duplication and potential mismatches. Let me help you establish a clean, efficient structure.
The Real Problem You’re Solving
You need a system where you (as admin) can create basic agent records, agents can complete their own profiles, and you maintain proper security without circular references or data duplication issues.
The Efficient Solution: Single Table + Status-Driven Security
Here’s the approach that will solve your challenges:
Use ONE table (Agents) with a status-driven security model:
Core Agents Table Structure:
[Agent_ID] (Key)
[Agent_Email]
[Agent_Name]
[Agent_Role] (Admin, Agent, Pending)
[Profile_Status] (Incomplete, Complete)
[Created_By] (your admin email)
[Profile_Completed_Date]
…all other profile fields…
Security Setup:
Table Security Filter: OR([Agent_Email] = USEREMAIL(), [Created_By] = USEREMAIL())
Column Security:
Admin-only columns (like [Agent_Role]): Only editable by you
Profile columns: Editable by the agent themselves
View Security: Create different views based on [Profile_Status] and user roles
The Workflow:
You create the basic record with email, name, role=“Pending”, status=“Incomplete”
Agent logs in and sees only their incomplete profile
Agent completes profile, which triggers status change to “Complete” and role change from “Pending” to “Agent”
Security automatically adjusts their access based on the new status
Actionable First Steps:
Consolidate back to one Agents table with all the columns you need
Add the status columns I mentioned above ([Profile_Status], [Created_By])
Set up the table security filter so agents only see their own record + you see all
Create two views:
“Complete Profile” (filtered for incomplete profiles)
“Agent Dashboard” (filtered for complete profiles)
Test the security by creating a test agent record and logging in as that user
This eliminates the circular reference issues because you’re not trying to reference between tables for security - it’s all self-contained within one table using status fields.
Would you like me to walk you through setting up the security filters and views, or do you have questions about this single-table approach?
______________________________________________________
You can access the free version of Appster here: ChatGPT - Appster
You can gain access to the full version here: https://www.multitechvisions.com/appster
Hope it helps!
Hi MultiTech_Visions! Thanks! I think this is what I was looking for. I still have some tweaks from what Appster gave me though. I would love to enroll to use the pro version! I think that may be what I’ve been trying to find to help me get what I want. I have some questions but don’t know if this is the right forum. Should I email you directly or what. I just want to be sure it is what I am looking for and how it works before I enroll for the pro version. Can you let me know the best way to reach out or if I can just post it here. Thanks again!
You can post here for sure, just know it might take a day or two for me to respond; my schedule doesn’t allow me the time to come here as often as I’d like.