If you use Gmail, Google Sheets, Drive or Calendar, you already have a powerful free automation tool and probably don’t know it. Google Apps Script lets you automate almost anything across Google’s apps: send personalized emails from a spreadsheet, save attachments to Drive, create calendar events, generate PDFs and much more.
It’s free with any Google account, and thanks to AI you no longer need to be a programmer to use it. Here’s what Apps Script is, 25 automations you can build, two ready-to-use scripts, and the limits you should know.
Quick Verdict
- Best for: Anyone who works in Google Sheets, Gmail, Drive, Calendar, Docs or Forms and repeats the same tasks.
- Skip it if: You need to connect many non-Google apps without touching any code. Zapier or Make are easier for that.
- Is it free? Yes. Apps Script is free with a personal Google account, with daily usage limits.
What Is Google Apps Script?
Google Apps Script is a cloud-based scripting platform built into Google Workspace. Scripts are written in JavaScript and run on Google’s servers, so you don’t need to install anything or keep your computer on. You write scripts in your browser at script.google.com, or directly from a Google Sheet, Doc or Form by choosing Extensions > Apps Script.
How scripts run: triggers
- Manually: Click Run, or add a custom menu button to your Google Sheet.
- Simple triggers: Run automatically when a file is opened (
onOpen) or edited (onEdit). - Time-driven triggers: Run every hour, every day at 8 a.m., every Monday, and so on.
- Event triggers: Run when a Google Form is submitted or a calendar event changes.
25 Things You Can Automate With Google Apps Script
Google Sheets
- Mail merge: Send personalized emails to every row in a sheet (names, amounts, due dates).
- Automatic timestamps: Add the date and time when someone edits or checks off a row.
- Custom functions: Create your own formulas, like
=WORDCOUNT(A2). - Custom menus and buttons: Add a menu to your sheet that runs your scripts in one click.
- Daily backups: Copy an important sheet to a backup folder every night.
- Pull live data: Fetch exchange rates, weather or data from other services on a schedule.
- Combine sheets: Merge data from several spreadsheets into one master report.
- Highlight or alert: Email yourself when a value drops below a target, like low stock.
Gmail
- Save attachments to Drive automatically, organized into folders.
- Clean up your inbox: Archive or delete old newsletters and promotions on a schedule. (Helpful if your Google storage is full.)
- Log emails to a sheet: Record incoming leads or orders in a spreadsheet.
- Auto-label emails with rules more advanced than Gmail filters.
- Send follow-up reminders if a client hasn’t replied in a few days.
Google Calendar
- Create events from a sheet, like a class schedule or content calendar.
- Email yourself a daily agenda every morning.
- Export meetings to a sheet to track hours spent with each client.
Google Forms
- Send a custom confirmation email to each person who submits a form.
- Notify the right person based on a form answer, like sending support requests to support.
- Close a form automatically when it reaches a set number of responses.
Google Docs, Slides and Drive
- Generate documents from a template: Invoices, certificates, offer letters or reports filled with sheet data.
- Convert documents to PDF and email them automatically.
- Organize Drive files into folders by name, date or type.
- List all files in a folder in a spreadsheet, with links and sizes.
AI and web apps
- Add AI to your workflows: Call Google’s Gemini models to summarize text, categorize feedback or draft replies (requires a Google Cloud project; see below).
- Build simple web apps: Publish a small internal tool or form that saves data to a sheet.

Ready-to-Use Script 1: Send Payment Reminders From a Google Sheet
Set up a sheet with these column headers in row 1: Name, Email, Due Date, Status. Then open Extensions > Apps Script, paste this code and click Run:
function sendReminders() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const rows = sheet.getDataRange().getValues();
for (let i = 1; i < rows.length; i++) {
const [name, email, dueDate, status] = rows[i];
if (email && status !== 'Paid') {
const due = new Date(dueDate).toDateString();
MailApp.sendEmail(
email,
'Friendly payment reminder',
`Hi ${name},\n\nThis is a quick reminder that your payment due on ${due} is still open.\n\nThank you!`
);
}
}
}
It emails everyone whose status isn’t “Paid.” To run it automatically every Monday, click the clock icon (Triggers) in the editor and add a weekly time-driven trigger.
Ready-to-Use Script 2: Save Gmail Attachments to Google Drive
Create a folder in Google Drive and copy its ID from the URL (the long text after /folders/). Then create a new script at script.google.com and paste:
function saveAttachments() {
const folder = DriveApp.getFolderById('PASTE_YOUR_FOLDER_ID_HERE');
const threads = GmailApp.search('has:attachment is:unread newer_than:1d');
threads.forEach(thread => {
thread.getMessages().forEach(message => {
message.getAttachments().forEach(file => folder.createFile(file));
message.markRead();
});
});
}
Add a time-driven trigger to run it every hour. It saves attachments from unread emails received in the last day, then marks those emails as read so files aren’t saved twice. Change the search text to match only certain senders, like from:invoices@example.com.
How to Create Your First Script (Step by Step)
- Open a Google Sheet and click Extensions > Apps Script.
- Delete the sample code and paste your script.
- Click the Save icon and give your project a name.
- Select your function from the dropdown and click Run.
- The first time, Google asks you to authorize the script. Choose your account and review the permissions.
- Check the Execution log for results or errors.
- Click the Triggers (clock) icon to run it on a schedule or when something happens.
About the “Google hasn’t verified this app” warning
When you run your own script, Google often shows this warning because the script hasn’t gone through Google’s review. For a script you wrote or fully understand, click Advanced and continue. Never authorize a script from someone you don’t trust, because a script can read and send email, edit files and access your data.
Don’t Know JavaScript? Use AI to Write Scripts
You don’t need to be a programmer. There are two easy ways to get working code:
- Gemini in the Apps Script editor: Google has started rolling out a Gemini side panel inside the editor that can write, edit and debug scripts from a plain-English request. It’s available for some Google Workspace accounts and for personal accounts on paid Google AI plans. See our Google Gemini guide.
- Any free AI chatbot: Ask ChatGPT, Claude or Gemini something like: “Write a Google Apps Script that emails me every morning with the rows in my Tasks sheet where column C is ‘Due today’. Explain how to add a daily trigger.”
Note: Release dates and rollout timing can change. Please confirm the latest details on the official website or help center.
Tips for AI-written scripts: Describe your exact column names and sheet names, test on a copy of your data first, and ask the AI to explain each line before you run anything that sends emails or deletes files. The same approach works for formulas, as shown in our guide to using AI for Sheets formulas.
Adding AI inside your scripts
Apps Script can also call Google’s Gemini models through its Vertex AI advanced service, so your automations can summarize, classify or draft text. This requires a Google Cloud project with billing enabled, so it’s best for businesses or advanced users.
Apps Script Limits You Should Know
Apps Script is free, but Google sets daily quotas. Key limits as of 2026:
| Limit | Personal Gmail account | Google Workspace account |
|---|---|---|
| Time per script run | 6 minutes | 6 minutes |
| Total trigger run time | 90 minutes a day | 6 hours a day |
| Email recipients | 100 a day | 1,500 a day |
| URL fetch calls (web requests) | 20,000 a day | 100,000 a day |
| Documents or spreadsheets created | 250 a day | 1,500 or more a day |
| Triggers per script | 20 | 20 |
Quotas reset 24 hours after the first request, and Google can change them at any time. Check the official Apps Script quotas page for current numbers.
What this means: A free account is great for personal and small-business automations, like sending up to 100 reminder emails a day. For bulk email campaigns, use a proper email marketing tool instead.
Safety and Best Practices
- Test on a copy of your sheet or a test folder before running on real data.
- Be careful with delete actions. Move items to trash instead of deleting permanently.
- Don’t paste passwords or API keys into code. Use Script Properties for secrets.
- Turn on failure notifications in trigger settings so you know if a script stops working.
- Review old scripts and remove triggers and access you no longer need in your Google Account’s security settings.
Apps Script vs Zapier and Make
Apps Script is free and extremely powerful inside Google’s apps, but it requires a little code. Zapier and Make need no code and connect thousands of non-Google apps, but cost money at higher volumes. Many people use both: Apps Script for Google-only tasks and Zapier or Make for everything else. See our comparison of Zapier vs Make vs n8n.
Frequently Asked Questions
Is Google Apps Script free?
Yes. It’s free with any Google account. Daily quotas apply, and Google Workspace accounts get higher limits.
Do I need to know coding?
Basic JavaScript helps, but you can start with ready-made scripts and use AI tools like Gemini, ChatGPT or Claude to write and explain code for you.
Where do I write Apps Script?
At script.google.com, or from inside a Google Sheet, Doc, Slide or Form by choosing Extensions > Apps Script.
Why did my script stop with an error after 6 minutes?
Each run is limited to 6 minutes. Process data in smaller batches, or save progress and continue in the next scheduled run.
Can Apps Script send emails from my Gmail?
Yes, using MailApp or GmailApp, up to 100 recipients a day on a personal account and 1,500 on Google Workspace.
Is it safe to use Apps Script?
Your own scripts are safe if you understand what they do. Only authorize scripts from trusted sources, because they can access your email and files.
The Bottom Line
Google Apps Script is one of the most powerful free automation tools available. Start with one of the ready-made scripts above, let AI help you write new ones, and automate the repetitive tasks in your Sheets, Gmail and Drive. Explore more automation and AI tools in our AI tools directory.
Related Guides
- How to Use Gmail Filters to Automate Your Inbox (With 7 Ready Examples)
- 10 Small Business Tasks You Can Automate Today (With the Best Tools)
- What Is Microsoft Power Automate? How to Automate Office and Windows Tasks (2026)
- 10 Useful iPhone Shortcuts Automations to Set Up Today (Step by Step)
Explore more in our Automation and Chatbot Tools hub.
Disclaimer: This article is for general information only and is based on details available at the time of writing. Prices, plans, features, release dates, policies and availability can change at any time and may vary by country. Please verify the latest information on the official website of the company or product mentioned before making any decision or purchase. Next DigiTech is an independent website and is not affiliated with or endorsed by the companies mentioned; all trademarks belong to their respective owners. We are not responsible for any loss or decisions made based on this content.


