Spreadsheet to Portal · Your App Cloud
Turn your client spreadsheet into a portal
In a shared client spreadsheet, whoever opens the file can scroll to every client. Upload the workbook, tie each row to one client, sort shared columns from internal ones, then sign in as two clients to test.
From client tracker to one view per client.
Three passes over the workbook: give every row an owner, sort the columns into shared and internal, then try to reach another client's work.
01
Give every row exactly one client
Sort the Client column A to Z in Excel and read down it for near-twins such as 'Northwind' and 'Northwind Traders'. Fill any blank Client cells. Upload the workbook and list the near-twins in the prompt as one client.
02
Mark each column shared or internal
Go across the header row and label every column: clients read it, staff only, or leave it out. Then write down what a client may do besides read, such as upload a signed contract, approve a quote or ask a question.
03
Try to reach another client's work
Create two test clients with different projects. Sign in as the first and copy the address of one of its documents. Sign in as the second, paste it, and confirm nothing opens. Repeat in a signed-out browser before you invite anyone.
What each part of a client tracker becomes.
Every column name and value in this table is invented for illustration. Match each row to a column in your own tracker; the last column is the test to run once the first version exists.
| In your client spreadsheet | In the portal | Test before clients see it |
|---|---|---|
| A Client column typed by hand: 'Northwind', 'Northwind Traders' and 'northwind' with a trailing space | One client account that each project, document and invoice belongs to | Open a client that had several spellings and count its projects against the sheet. A spelling you didn't list can split one client in two, and their sign-in then shows only part of their work. |
| A Contact email column, sometimes with two addresses in one cell separated by a semicolon | The people at each client who get their own sign-in, one address per person | Split shared cells before the upload. Decide whether a second person at the same client sees everything the first does, then sign in as each of them and compare. |
| Office shorthand in Status: 'WIP', 'WFC' and 'stuck, call Emma' | A short list of statuses written for clients, such as Not started, In progress, Waiting on you and Done | Give each old value one client-facing status. Then open a project that said 'stuck, call Emma' from the client's side and read what they would see. |
| One Notes column where 'draft 2 sent 3/12' sits beside 'slow to pay, ask for a deposit' | Two fields: updates the client reads, and internal notes only staff see | Split the column yourself before the upload instead of asking for the sentences to be sorted later. Sign in as a client whose row held a remark and look for any word from it. |
| A Files column of links to shared-drive folders, one folder per client | Documents stored on the project they belong to (File storage, Pro) | A link opens whatever its folder allows, and that sharing is set outside the spreadsheet. Add the documents themselves to their projects in the portal rather than carrying the links across, then open three projects and check each file sits on the right one. |
| Invoice #, Amount, Due and Paid? columns | A list of each client's invoices they can read but not change, marked paid or unpaid | Decide what clients see on each invoice, and link unpaid ones to the payment page you already use. Sign in as a test client and check they see only their own invoices and cannot change them. |
| Hidden Rate and Margin columns, or a hidden, protected tab of hourly rates | Fields only staff can read, or data left out of the portal entirely | Excel's help says worksheet protection isn't intended as a security feature, and hidden sheets can be unhidden. Describe who may read each field, then sign in as a client and look through every page for a rate. |
| A Waiting on column, such as 'signed engagement letter from client' | A request the client answers in the portal: upload a file, approve, or reply | Mark which next steps belong to the client. Answer one request from a test client's account, then check it shows on the staff side with the date it arrived. |
| A tab per client, or a filtered copy saved and emailed to each one | One list of projects, each tied to a client, and a signed-in view of only their own | Excel's filter hides the rows that don't match rather than removing them, so a filtered copy can still carry other clients' rows. After the tabs become one list, count one client's projects against their old tab. |
What a shared client sheet never had to decide.
While only staff open the file, nobody asks which cells a client may read. A portal asks that of every column. Answer it in the prompt next to the upload, one column at a time.
A row per project, or a row per client
Some trackers keep one row for each client; others keep one per job and repeat the client's name. Say which yours is. Then open a client with three rows and check that it shows as one account with three projects.
Tabs that total every client
A summary tab or a revenue-by-client chart lays all clients side by side. It helps staff and should never reach a client. Leave it out of the upload, or mark it staff only and check it from a client account.
Former clients and closed projects
Finished work often sits grayed out or on an Archive tab. Decide whether a former client keeps a sign-in to download past documents, or whether those rows stay behind. Write the rule into the prompt.
Details the portal doesn't need
Client sheets collect things nobody meant to publish: bank details, tax IDs, a home phone typed into a note. Delete those columns from the copy you upload rather than hiding them, then open one client's record and check they're gone.
An illustrative starting point
One sign-in per client, one set of records behind it.
Each client signs in to their own projects, documents and invoices, while rates and internal notes sit in fields you mark staff only.
A sign-in for every client
Ask for an invitation sent to the address on each client's row. Send the first one to yourself and check that its link leads to that client's projects and nobody else's.
Their projects, not everyone's
Ask for a project list limited to the signed-in client's work, with the access you describe for each collection. Open it as two test clients and as a signed-out visitor, and compare what each sees.
Documents on the project they belong to
Ask for drafts, signed contracts and statements to sit on their project instead of behind a folder link (File storage, Pro). If clients may upload too, send one file from a test client and check which project it landed on.
Fields marked staff only
Keep rates, margin and internal notes on the same records and say they are for staff only. Add an internal note to a test project, sign in as its client, and confirm the note is nowhere on the page.
A notice when you need something
Ask for an email to a client when a request is waiting on them, and a task on a schedule you set that sends each client a Monday list of their open requests. Send both to a test client's address first, and don't rely on them for same-day deadlines.
Together in your app cloud
The pieces behind the possibility.
Choose the models and services that support the experience you want to create.
Authentication
Give the right people access
Database
Keep data and context for apps and agents
File storage
A home for your documents and media
Email
Keep conversations moving
A little more context
Good questions.
Can each client see only their own records?
Only once you describe it and test it. Say that a signed-in client sees the projects, documents and invoices tied to their account; sign-in and saved records need a backend. Then sign in as two test clients, trade document addresses between them, and repeat in a signed-out browser. Invite no one until every attempt fails.
How do clients get a sign-in?
Describe the route you want, such as an invitation to the address in your Contact email column, and what happens when someone joins or leaves a client. Invite a second person at a test client, then remove them and check their sign-in no longer opens that client's projects.
Can clients upload documents through the portal?
Yes, if you ask for it. Uploads need File storage. Say where each upload goes, such as the request that asked for it, and who on your side hears about it. Upload a file as one test client and check the other test client can't find it.
Can clients send us questions?
You can design a question form on each project that saves the client, the date and the message. The app can email you when one arrives, and you can add an agent that drafts a reply when a staff member asks for one. Give it only that client's records, check each draft points to the records it used, and have a person send it. Model usage is metered separately.
Can my staff use the portal too?
Yes. Staff sign in to the same published portal with wider access than clients, which you describe and test. Try a staff account and a client account side by side before launch.
What happens to the spreadsheet once clients use the portal?
It stops being the place of record. An upload is a snapshot, not a sync, so a status changed only in Excel never reaches a client. Move updates into the portal, re-import deliberately if some work still arrives as a sheet, and keep the workbook read-only after the switch.
Which plan does a client portal need?
A portal where clients sign in to saved records, with File storage and email, is an app with data, and putting it live needs a paid plan. A public page about your services would be a one-page site. See the pricing page for current plans.
Explore Pricing for plans, included capabilities, and usage details.
Keep exploring.
Explore customer apps ↗
See the outcome and the capabilities behind it.
Build a customer portal ↗
Starting from your service rather than a spreadsheet: the documents, requests and account details a customer comes back for.
Build a client portal from a spreadsheet ↗
A planning walkthrough for the same move: stable identifiers for clients and projects, and a review scenario with two clients.
Build your own client management app ↗
When the app is for your staff rather than your clients: client details, requests and next steps kept together.
Understand data and context ↗
Give information the right place in your app.
Prepare to publish ↗
Check the experience you will share.
Your ideas, up and running
Your next idea has a home.
Build an app. Run an agent. Make it yours.
Start building