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

1

Google Sheet

Your data stays in Google Sheets. Each row has a unique identifier (like a name, order number, email, ID, or code).

2

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.

3

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.

Open slides in a new tab →

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:

https://script.google.com/macros/s/YOUR_DEPLOYMENT_ID/exec?id=1001

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:

<?= data.status ?>

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:

  1. Click "Deploy""Manage Deployments"
  2. Create a new deployment (or update an existing one)
  3. Set it as a "Web app"
  4. Copy the deployment URL
  5. Share that URL with ?id=XXXX appended

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

https://script.google.com/macros/s/AKfycakdkadYuI6VKJOdfeX_63PsLhtadfdRXfdadaKSY47BTRfAQasZKgN9G4adfcug7iw/exec?id=1001

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)
1001 Parameter Value
The actual ID that matches a row in your sheet

Multiple Parameters

You can add more parameters using & (ampersand):

?id=1001&status=active&view=detailed

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...

Intermediate

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...

Intermediate

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...

Beginner

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.