Google Apps Script beginner tutorial — automate Google Sheets with real code examples
If you've ever spent 20 minutes manually copying data between spreadsheet tabs, formatting the same columns every Monday morning, or typing out the same weekly email to your team — Google Apps Script was built for exactly that problem. I've been using it to eliminate repetitive tasks in Google Workspace for years, and the first time a scheduled script sent out a full report without me touching a single key, it felt like a superpower.
The good news? You don't need to be a developer to get started. Apps Script gives you a beginner-friendly, entirely cloud-based environment that's completely free and already connected to every Google tool you use daily: Sheets, Gmail, Drive, Calendar, and Docs. In this guide, I'll walk you through everything from opening the editor for the first time to writing real, working scripts you can put to use immediately.
I'm Mostafa Amaan, and on Valley4Techs I cover practical tech tools that save time and simplify digital work. This guide covers: what Google Apps Script is, how to open and use the editor, real code examples for Google Sheets, custom functions, triggers, and a full six-module course roadmap — all step by step.
What Is Google Apps Script?
Google Apps Script (GAS) is a free, cloud-based scripting platform from Google that lets you automate, extend, and connect Google Workspace apps using JavaScript. It runs entirely in your browser — no software to install, no local setup, no IDE to configure. Open a Google Sheet, click a menu item, and you're already inside the code editor.
What makes it genuinely stand out is its deep, native integration with the entire Google ecosystem. You're not using a third-party connector — you're working with Google's own APIs for Sheets, Gmail, Drive, Docs, Calendar, and Forms, all from the same scripting environment. A common mistake I see beginners make is reaching for paid automation tools when Apps Script could handle the exact same job for free.
Here's what you can do with Google Apps Script:
- Automatically read, write, and reformat data in Google Sheets.
- Send personalized emails via Gmail triggered by spreadsheet content.
- Generate Google Docs or Slides from a template on a schedule.
- Schedule scripts to run on a timer — daily, weekly, or every hour.
- Add custom menus, buttons, and sidebars to your Google apps.
- Connect to external APIs and pull live data directly into a spreadsheet.
Also Read: n8n Automation Guide: Automate Your Workflows for Free
What's New in Google Apps Script for 2025–2026?
Google has been steadily improving Apps Script. Here are the updates that matter most for everyday users right now:
- Gemini AI Integration: You can now call the Gemini API directly from your scripts — useful for summarizing cell content, classifying data, or generating text automatically without leaving Sheets.
- Faster Code Editor: The Script Editor now has better autocomplete, quicker syntax highlighting, and improved code formatting tools.
- Higher Daily Quotas for Workspace Accounts: Google raised execution limits for paid Workspace users, making longer and more complex automations possible.
- Easier GitHub Integration: The IDE now makes it simpler to manage script versions and sync projects with GitHub for teams that need source control.
How to Open the Google Apps Script Editor from Google Sheets
One thing I notice constantly with beginners: they search for "Google Apps Script" expecting a standalone app. You won't find one — and you don't need to. The easiest access point is directly inside Google Sheets:
- Open any file in Google Sheets (or create a blank one).
- In the top menu, click Extensions.
- Select Apps Script.
- A new browser tab opens with the Script Editor.
- You'll see a default empty function called
myFunction()— that's where you start writing.
Also Read: Essential Google Tools Every Windows User Should Know
Using Google Apps Script with Google Sheets
The majority of real-world Apps Script use cases revolve around Google Sheets. In my experience, it's where the time savings are most dramatic — automating data workflows that would otherwise consume hours every week.
The Spreadsheet Service
(SpreadsheetApp)
is the core object you'll work with. It lets you:
- Create new spreadsheets or modify existing ones on demand.
- Read, write, and update cell values, formulas, and visual formatting.
- Add custom menus and action buttons to the Sheets interface.
- Import and export data from Gmail, Drive, Forms, or external APIs.
- Share files and manage access permissions without leaving the script.
Your First Script: Writing Data to Cells
Let's skip the theory and write something that actually runs. This script writes text and a number directly into your spreadsheet — copy it, paste it in, and run it:
function writeToSheet() {
// Get the active spreadsheet
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Get the active sheet
const sheet = spreadsheet.getActiveSheet();
// Write text into cell A1
sheet.getRange('A1').setValue('Hello from Apps Script!');
// Write a number into cell B1
sheet.getRange('B1').setValue(2026);
// Show a confirmation popup
SpreadsheetApp.getUi().alert('Done! Check cells A1 and B1.');
}
How to run it:
- Paste the code into the Apps Script editor.
- Press Save (Ctrl+S or the floppy disk icon).
- Click the Run ▶ button.
- On your first run, Google asks for permissions — click Allow.
- Switch back to your spreadsheet. You'll see "Hello from Apps Script!" in A1 and 2026 in B1.
That's it. You just automated something in Google Sheets with code. From here, complexity scales up as fast as you want it to.
Sending Automated Emails and Debugging Your Scripts
One of the most requested use cases: automatically sending emails based on spreadsheet data.
The GmailApp
service makes this surprisingly simple. I've added
console.log()
here too — your best friend for tracking what's happening when something doesn't work as expected.
function sendAutomatedEmail() {
const recipient = "yourteam@example.com";
const subject = "Automated Report from Google Sheets";
const body = "Your weekly data summary is ready!";
// Log to the Execution log for debugging
console.log("Sending email to: " + recipient);
// Send the email
GmailApp.sendEmail(recipient, subject, body);
}
After running this, open View > Execution log in the editor to see your
console.log()
output. This is how you verify each step ran correctly — and where you'll spot errors early.
Also Read: SQLite with Python: A Beginner's Tutorial
Two Core Concepts: Macros and Custom Functions
When starting out with Apps Script, two features will cover 80% of everyday needs:
- Macros: A recorded sequence of actions you can replay with one click or a keyboard shortcut. Go to Extensions > Macros > Record macro, perform your steps, and Apps Script generates the underlying code automatically. Great for people who aren't ready to write code from scratch.
- Custom Functions: Just like
=SUM()or=VLOOKUP(), you can write your own functions in Apps Script and use them directly in cell formulas. This is where things start to feel genuinely powerful.
Real Example: A Custom Percentage Function
Here's a practical custom function that calculates a percentage — exactly the kind of thing that comes up constantly when working with sales data, test scores, or budget tracking:
/**
* Calculates a percentage of a total value.
* @param {number} value The partial value
* @param {number} total The total value
* @return {string} Formatted percentage string
* @customfunction
*/
function PERCENTAGE(value, total) {
if (total === 0) return 'Error: Cannot divide by zero';
const percent = (value / total * 100).toFixed(2);
return percent + '%';
}
Once saved, use it in any cell like a native function:
=PERCENTAGE(A1, B1)
The @customfunction
tag in the JSDoc comment is what tells Apps Script to expose this in Sheets' formula autocomplete — just like a
built-in function.
Also Read: What Programming Language Should You Learn First?
Triggers: How to Make Scripts Run Automatically
This is where automation really clicks. Triggers let your scripts execute without any manual input — no clicking Run, no opening the editor. They're what turn a useful script into a genuine, hands-free automation.
To set up a trigger in Apps Script:
- In the Script Editor, click the clock icon (Triggers) in the left sidebar.
- Click Add Trigger in the bottom-right corner.
- Select your function and choose a trigger type.
Time-driven triggers run on a schedule — every morning at 8am, every Sunday at noon, or every hour on the hour. Perfect for automated reports, data refreshes, or scheduled email summaries.
Event-driven triggers fire in response to user actions — when someone opens the spreadsheet, edits a cell, or submits a linked Google Form. A popular pattern: automatically send a notification whenever a new row is added via a form response.
What You Need Before You Start
The prerequisites are genuinely minimal:
- Basic JavaScript — variables, functions, loops, and conditionals.
- Basic Google Sheets familiarity — rows, columns, and ranges.
- A Google account and a modern browser. That's it.
If you're new to JavaScript, don't let it stop you — but don't skip it either. A common mistake I see is people jumping straight into Apps Script and then getting stuck on simple errors because the JavaScript basics aren't there yet. Spend a few days with a free intro course (Codecademy's JavaScript track is solid), then come back and the code will make immediate sense.
Also Read: Machine Learning vs Deep Learning vs Generative AI — What's the Difference?
Complete Google Apps Script Course Roadmap — 6 Modules
This guide is the entry point for a structured Apps Script course. Each module below will be published as a standalone, detailed article. Here's what the full roadmap covers:
Module 1: Apps Script Fundamentals with Google Sheets
Get comfortable with the Script Editor interface. Create and edit Macros and Custom Functions from scratch. You'll build a working currency converter script as your first real-world project.
Module 2: Spreadsheets, Sheets, and Ranges
Deep dive into the Spreadsheet Service. Master the key classes that give you precise control over your data:
SpreadsheetApp,
Sheet, and
Range.
Module 3: Working with Data in Google Sheets
Go deeper on reading, writing, filtering, and transforming spreadsheet data. By the end you'll be able to build dynamic data processing pipelines and create custom dropdown menus populated by script.
Module 4: Calling External APIs
Learn how to fetch live data from any public API and populate spreadsheet cells automatically. You'll work with JSON responses and build a real example that pulls external data directly into Google Sheets.
Module 5: Formatting Data Programmatically
Apply professional spreadsheet formatting using code: fonts, colors, borders, and conditional formatting rules — triggered automatically whenever data changes.
Module 6: Building Charts and Exporting to Google Slides
Create dynamic charts from your data and export them automatically into a new Google Slides presentation — a capstone project that brings everything together.
Also Read: MCP vs API — What's the Difference and Why It Matters
Google Apps Script vs Zapier, Make, and n8n
A question I get regularly: "Why use Apps Script when tools like Zapier or Make exist?" The answer depends on your use case. Here's the breakdown:
| Criteria | Google Apps Script | Make / Zapier | n8n |
|---|---|---|---|
| Cost | 100% free | Limited free / paid | Free (self-hosted) |
| Google integration depth | ✅ Native — deepest possible | Good | Good |
| Requires coding | Yes (JavaScript) | No (visual/no-code) | Optional |
| Flexibility | ✅ Full code control | Template-limited | High |
| Best for | Google Workspace power users | Cross-app, no-code workflows | Self-hosted, complex flows |
My take: if your work primarily lives in Google Workspace and you're comfortable writing a few lines of code, Apps Script is the obvious choice — free, native, and more powerful than any no-code tool for Google-specific tasks. If you need to connect dozens of non-Google services without coding, then n8n or Make are worth considering.
Conclusion
Google Apps Script is one of the most underused tools in the modern productivity toolkit. It's free, requires no installation, works directly inside tools you already use every day, and can genuinely reclaim hours of the week that are currently going to repetitive manual work.
The learning curve is real — you do need at least basic JavaScript — but the return on that investment shows up fast. Write your first working script, watch it execute automatically, and the motivation to keep going practically takes care of itself.
Start with the examples in this guide. Run the write-to-cell script. Try sending an automated email. Then set up a time-based trigger. Each step builds on the last, and before long the repetitive parts of your workflow start disappearing on their own. Follow the course roadmap links as each module is published, and drop a comment below if you have questions.
Found This Guide Useful?
Join hundreds of subscribers and get our latest tutorials and tech guides delivered straight to your inbox.
Yes, Subscribe Me! ✉️🔒 No spam, ever. Unsubscribe anytime.
Frequently Asked Questions About Google Apps Script
These are the questions I see most often from beginners. Leave yours in the comments if it's not covered here.
We'd love to hear your thoughts! Leave a comment below
and share your experience or questions.