Short answer: Keep each task's status in the tool your team already works in, in words a client understands. Build one page per client from that data, showing their open work, what you need from them and the next dates. Share it as a private link, and tell the client to check it instead of waiting for a status email.
Disclosure: I co-founded Teamo.
Step 1: Decide what the client needs to see
List the questions clients ask you most, and build the portal to answer them. For most service businesses these are:
- What's done, and what are you working on now?
- What do you need from me?
- When is the next delivery?
- How many hours have we used this month? (retainers only)
Leave out what only matters inside your team: internal notes, who is assigned to what, cost and margin, and tasks the client doesn't need to know about.
Step 2: Keep status where your team works, in client words
A portal stays current only if it reads the same status your team updates. If someone has to update the portal by hand, it falls behind like a status email does.
Give the status column options a client understands without explanation, for example:
- Not started
- In progress
- Waiting for you
- In review
- Done
"Waiting for you" matters most. Filter one portal table to "Waiting for you" and the client sees exactly what they owe you.
In Teamo, status is a column on the client's tasks, and your team changes it as they work. The portal reads the same column, so there is nothing to sync.
Step 3: Build one page per client
Each client should see only their own work. Build the first portal, duplicate it for the next client, and change the client filter on each widget.
In Teamo, a portal is a page of widgets, each filtered to the client you choose. A typical status page has:
- KPI numbers at the top: open tasks, tasks waiting for the client, tasks done this month
- A task table with the columns you pick, such as name, status and due date
- A timeline of the project's dates
- Their logged hours (all, or billable only), with a date range the client can change; see How to track billable hours per client and turn them into invoices
- A form for new requests, whose answers arrive as records in your module
Step 4: Let the client approve and comment on the page
When the client can approve or ask on the page, they don't email you and you don't chase them.
In a Teamo portal table, you can make the columns you choose editable, such as an Approval column with "Approved" and "Changes needed". The client changes it on the page, and your team sees the new value on the task. Clients can also comment on a row. The comment lands in that task's comments in Teamo, and your team's reply threads back to the portal.
Step 5: Share the link and set the habit
Send the link with one sentence on what to use it for, for example: "Everything you need to check or approve is here, updated as we work." Then point to it whenever a client asks for an update by email.
In Teamo, the client opens the portal from a private link, without an account or a paid seat. You can pause the portal or revoke the link at any time, so treat the link like a password and don't use a link-based portal for sensitive data. For sensitive data, invite the contact as a guest instead. The portal carries your logo and colors on every plan.
Should every client get their own portal?
Yes, if they have ongoing work with you. One portal per client keeps their data apart and lets you show each client only what applies to them. For one-off projects, a single page per project works the same way. If you're still deciding whether you need a portal at all, see What is a client portal, and does a small business need one?, and to compare tools, Best client portal software for small agencies.
FAQ
How do I keep a client portal up to date? Build it from the same status column your team updates, so it changes when the work changes. Avoid portals where someone copies status in by hand.
Can clients approve work in a portal? In Teamo, yes: make an approval column editable in the portal's table, and the client sets it to approved or changes needed. Your team sees the change on the task.
Do clients need an account to see the portal? Not in Teamo. They open it from a private link, so they need no account or seat. If a contact should sign in instead, invite them as a guest to one module or view (free, 1 per paid seat on Starter, 2 on Pro, 4 on Max).
What should I leave out of a client portal? Internal notes, costs and margins, who is assigned to what, and tasks the client doesn't need to know about. Show only the columns that answer the client's questions.
Can a client send requests through the portal? Yes. Add a form to the portal, and each answer arrives as a new record in the module you chose, ready for your team.