Build Web Portals from Google Sheets
A Portal to Portals • Share 1 Row via URL • No User Login Required
Imagine giving your clients, customers, or team members a beautiful web portal that shows exactly one row of data from your Google Sheet, without ever granting them access to the sheet itself.
No user logins. No complex databases. Share only a URL and some kind of identifiction parameter, you decide.
This is the magic of building web portals from Google Sheets using Apps Script and HTML. It's simpler than you think, more powerful than you'd expect, and opens up endless possibilities for how you share and interact with your data.
What this is not
Nobody expects spreadsheets when you say “portal.”
-
01
Not sharing a sheet, only a URL
Your users never see or access your Google Sheet.
-
02
Not giving view access, of whole sheet.
No permissions needed, no Google account required. Users just see their row.
-
03
Not a user login system
Users have an ID. Anything you choose: email, secret key, their name, up to you.
-
04
Not a Google Form
This is a custom web page, styled exactly how you want.
The Three-Step Process: From Sheet to Portal
Google Sheet
Your data stays in Google Sheets. Each row has a unique identifier (like a name, order number, email, ID, or code).
Apps Script
Apps Script reads the URL that a user enters, filters your sheet to find the matching row, and prepares the data for the html to display.
HTML Page
An HTML template shows that single row of data as a custom-styled web page. The user sees only their specific information.
Complete Guide: Building Web Portals from Sheets
This presentation breaks down every step: From setup to deploy. Follow along to build your first portal today.
The Magic: How Data Flows from Sheet to Portal
1. URL Parameter: parameter.id
When someone visits your web portal URL with an ID parameter, like:
Apps Script receives this in the doGet(e) function. The e object contains all URL parameters.
2. Apps Script: Filter & Get Data
Your Apps Script code:
- → Gets the whole sheet's data. Reads all rows from your Google Sheet
-
→
Finds the matching ID. Uses
===(strict equality) to find the row with the matching identifier -
→
Assigns variables. Each column becomes a variable (like
data.status,data.name) - → Creates a dummy result. If no ID is found, shows a default set so the page always displays something
3. HTML Templating: <?= data.status ?>
The magic syntax for getting data into your HTML:
This is server-side templating. The syntax breaks down as:
- •
<?=: Opens the PHP-style template tag - •
data.: Accesses your data object - •
status: The column name from your sheet - •
?>: Closes the template tag
Apps Script processes this before sending the HTML to the browser, replacing <?= data.status ?> with the actual value from your sheet.
4. Deployment: Getting Your URL
Once your Apps Script is ready:
- Click "Deploy" → "Manage Deployments"
- Create a new deployment (or update an existing one)
- Set it as a "Web app"
- Copy the deployment URL
- Share that URL with
?id=XXXXappended
Important: If you edit your Apps Script code, you must deploy again. But you don't need to change the URL. Just update the deployment.
Understanding the URL Syntax
URL Components
- Base URL
- The web app URL you get from deploying your Apps Script
?Question Mark- Separates the main URL from parameters
id=Parameter Key- The name Apps Script will look for (you can use any name)
1001Parameter Value- The actual ID that matches a row in your sheet
Multiple Parameters
You can add more parameters using & (ampersand):
Each parameter becomes available in your Apps Script via e.parameter.status, e.parameter.view, etc.
Endless Possibilities: What You Can Build
Client Portal
Give each client a unique URL to view their project status, invoices, deliverables, and updates. All from a single Google Sheet.
Shipping Tracker
Customers enter their tracking number in the URL to see real-time shipping status, location, and estimated delivery.
Project Management
Team members access project details, tasks, deadlines, and progress updates via a simple URL. No login required.
Inventory Tracker
Share product availability, stock levels, and details with vendors or customers using item-specific URLs.
Order Status
Customers check order status, shipping info, and delivery updates without creating an account.
Event Registration
Attendees access their registration details, tickets, schedules, and event information via a unique ID.
Beyond the Basics: Advanced Features
Once you've mastered the basics, you can add powerful features to your portals:
Interactive Features
- • Search forms: Let users search for their ID directly on the page
- • HTML forms: Allow users to submit data back to your sheet
- • Row edits: Update sheet data from the portal
- • Comments & feedback: Collect user input
- • Voting systems: Let users vote or approve items
Automation & Integration
- • Auto emails: Send notifications when someone views their portal
- • Certification: Generate certificates or documents
- • Progress tracking: Show completion status and milestones
- • File uploads: Allow users to upload files to Drive
- • Quiz systems: Build interactive quizzes and assessments
Video Tutorials: Learn by Watching
Watch step-by-step tutorials showing exactly how to build web portals from Google Sheets. See the code, watch the deployment process, and understand the magic.
Video walkthrough
Automated Project Management in Google Sheets
Automated Project Management in Google Sheets
Create automatic notifications when a project is assigned, a project needs review. And move a project from one tab to...
Video walkthrough
5 Ways To Use Google Sheets for Advanced Project Management
5 Ways To Use Google Sheets for Advanced Project Management
Here are 5 advanced ways to manage projects inside of Google Sheets Manage Task Flow with IF() and a Checkbox Manag...
Video walkthrough
Your First Formula
Your First Formula
Learn how to use Formulas in Google Sheets. Use the Equal sign "=" to unlock a magical portal of over 500 functions a...
Video walkthrough
Create a Sheet of Sheets for Project Management and/or Data Management
Create a Sheet of Sheets for Project Management and/or Data Management
Create an epic organization sheet of all your spreadsheets. Unlock the secret to compiling all your scattered informa...
Ready to Build Your First Portal?
Start with the slides presentation above, follow along with the video tutorials, and build something amazing. The best part? You're using tools you already know: Google Sheets and a bit of Apps Script.
This isn't about complex databases or expensive platforms. It's about unlocking the potential that's already in your spreadsheets.
The Possibilities Are Endless
Every row in your sheet can become a portal. Every unique identifier can unlock a custom view. Every deployment can serve thousands of users. This is the power of combining Google Sheets, Apps Script, and HTML. Three simple technologies that, together, create something extraordinary.
Start building. Start sharing. Start creating portals that make your data accessible, beautiful, and useful.
If you want to go further with Apps Script
Portals like these lean on it. If you’d like to read and change that code more easily—or scripting still feels new—I’d point you to Spreadsheet Automation 101. It walks through the fundamentals and the kinds of automations that show up in projects like this.