The short version
Your workspace is five lists that point at each other. A Client has Projects. A Project has Phases. Phases contain Tasks. Meeting Notes attach to a client and a project. Because everything points back to the client, you can show any client a page with only their stuff on it.
The five databases
| Database |
What one row is |
Links to |
| Clients |
One business you work with |
Projects, Tasks, Meetings |
| Projects |
One piece of paid work |
Client, Phases, Tasks, Meetings |
| Project Phases |
A stage like Discovery or Launch |
Project, Tasks |
| Tasks |
One thing someone needs to do |
Project, Phase, Client |
| Meeting Notes |
One call |
Client, Project |
What a "view" is
A view is a saved way of looking at a database. Same data, different filter. Your Tasks board, a "Waiting on clients" list and a client's portal are all views of the same Tasks database. Edit a task anywhere and it changes everywhere.
Why client portals stop working
These are the usual causes, in the order I check them:
- The client can see the page but not the database behind it. A view on a portal page is a window onto the main Tasks database. If the client only has access to the portal page, the window shows "No access". Fix: give them access through row permissions on the Tasks database, or share the database with them as a guest.
- The filter points at something that changed. If a client was renamed, duplicated or a project was moved, the filter can end up pointing at an old or empty record. Fix: re-select the client in the view filter.
- Tasks were linked through the project, not the client. If Tasks only know their Project, a new task without a project silently drops off the portal. Fix: give every task a direct Client link (this build does that).
- The guest invite was removed or expired. Removing someone from the workspace, or a seat clean-up, can wipe guest access. Fix: re-invite the guest from Share on the portal page.
- "Publish to web" was used instead of a private share. A public link either exposes everything or gets switched off. Fix: use a guest invite plus row permissions, never a public link, for private portals.
How the private portal is set up here
- Each client has a guest account (their email).
- Each task has a Client portal access person field. That's who's allowed to see the row.
- On the Tasks database, row permissions are set so people listed in that field can view (or comment on) only their rows.
- The portal page shows a filtered view: their client, visible tasks only.
- Internal tasks stay unchecked under Visible to client, so notes like margins never appear.
Adding a new client portal in 5 minutes