Google Apps Script TutorialGoogle Apps ScriptGoogle Workspace automationSheets automationGmail automation

What Can Google Apps Script Automate? 25 Real-World Examples

Google Apps Script can automate far more than simple spreadsheet macros. Explore 25 practical examples across Sheets, Gmail, Drive, Forms, Calendar, Docs, and external services.

Free Apps Script TeamAugust 25, 202611 min read
What Can Google Apps Script Automate? 25 Real-World Examples guide cover illustration
What Can Google Apps Script Automate? 25 Real-World Examples guide cover illustration

What Can Google Apps Script Automate? 25 Real-World Examples is a useful question if your work involves repetitive Google Workspace tasks. Apps Script can connect Sheets, Gmail, Drive, Docs, Forms, Calendar, and other services so information moves between them automatically. It can send reminders, create documents, process form responses, update dashboards, call APIs, and provide simple web apps.

This guide explains 25 realistic use cases, what each workflow does, and where Apps Script is a good fit. It also covers permissions, triggers, reliability, and the point at which a dedicated business system is a better choice.

What Google Apps Script can automate

Diagram showing Google Apps Script connecting Sheets, Gmail, Drive, Docs, Forms, Calendar, and external APIs.
Apps Script acts as the logic layer between Workspace services and external systems.

Google Apps Script is a JavaScript-based automation platform built into Google Workspace. A script can read and write data, react to events, send messages, create files, call supported APIs, and expose a simple HTML Service interface.

Most automations follow one of these patterns:

  • Event-driven: A form submission, spreadsheet edit, document opening, or calendar event starts the workflow.
  • Time-driven: A scheduled trigger runs hourly, daily, weekly, or at another supported interval.
  • User-driven: Someone clicks a custom menu, button, sidebar, or web-app control.
  • Integration-driven: Apps Script receives or sends data through an API, webhook, email, or file exchange.

Apps Script is especially effective when the source of truth already lives in Google Workspace and the workflow has clear rules. It is less suitable for high-volume transactions, strict real-time requirements, complex user permissions, or sensitive systems that require specialized compliance controls.

25 real-world Google Apps Script automation examples

Editorial infographic representing email, documents, calendars, invoices, inventory, projects, forms, and reports automated with Apps Script.
The same Apps Script building blocks can support many different Workspace workflows.

1. Send personalized email from Google Sheets

Store names, email addresses, message variables, and status values in a sheet. A script can merge each row into a Gmail message, mark successful sends, and skip rows that have already been processed. This is useful for customer updates, internal notices, event invitations, and follow-ups.

2. Turn Google Form responses into an approval workflow

When someone submits a form, Apps Script can validate the response, notify an approver, assign a status, and write the decision back to the response sheet. The approval link can point to a controlled web app or an internal sheet workflow.

3. Create Google Docs from a template

A script can copy a document template, replace placeholders such as {{customer_name}}, and save the finished document in a Drive folder. Common outputs include proposals, certificates, letters, reports, and onboarding documents.

4. Generate and email PDFs

After creating a Doc, Sheet, or invoice, Apps Script can export it as a PDF, save the file to Drive, and attach it to an email. Use predictable filenames and record the Drive file ID or send status so rerunning the job does not create unnecessary duplicates.

5. Send automatic payment reminders

A daily trigger can find unpaid or overdue records, calculate which reminder is due, and send a carefully worded email. The workflow should include a reminder history, a pause or opt-out field, and a rule that prevents repeated messages on every run.

For a ready-made example, see the Smart Invoice & Payment Reminder Tracker.

6. Build a lightweight CRM follow-up system

Apps Script can create follow-up tasks from lead records, notify an owner when a next-action date arrives, and summarize pipeline data in a dashboard. It works well for a small team with a modest number of leads and straightforward stages.

The Lightweight CRM + Follow-Up Automation shows this pattern in Google Sheets.

7. Create calendar events from a spreadsheet

Given a date, time, title, attendee list, and description, a script can create Calendar events and write each event ID back to the sheet. Saving the ID is important: it lets a later run update an existing event rather than create a second one.

8. Send appointment confirmations and reminders

A scheduled function can check upcoming appointments, email clients, and update a reminder-sent column. For changes or cancellations, the script can locate the saved Calendar event and update or delete it, subject to the account's permissions.

A related starting point is the Appointment Booking + Email Reminder System.

9. Create a booking system with available time slots

A Sheets-backed web app can display available slots, accept a booking, and write the reservation to a protected sheet. A lock helps prevent two users from claiming the same slot at nearly the same time, but this design should be kept small and tested carefully under concurrent use.

10. Organize files in Google Drive

Apps Script can find files by name or metadata, move them into folders, apply naming conventions, and create a folder structure for customers, projects, or departments. Avoid repeatedly scanning an entire Drive when a stored folder ID or indexed record can narrow the search.

11. Rename uploaded files consistently

When a file arrives in a monitored folder, a scheduled script can add a date, project code, or document type to its name. Include a duplicate check and an exception log so unusual filenames are not silently changed incorrectly.

12. Build a document or spreadsheet reporting pack

A script can read source data, update summary tabs, copy charts into a report, and email a link or PDF to stakeholders. Batch spreadsheet reads and writes instead of calling getValue() and setValue() repeatedly inside a large loop.

13. Create a custom spreadsheet menu or sidebar

A custom menu can expose actions such as “Refresh report,” “Create invoices,” or “Archive completed rows.” An HTML Service sidebar can provide forms and buttons for users who should not edit raw data directly.

14. Import data from an external API

Using UrlFetchApp, Apps Script can request data from a service and place selected fields in Sheets. Store API keys in Script Properties rather than in cells or source code, validate the response, and plan for rate limits, timeouts, pagination, and API changes.

15. Send data to another service with a webhook

A script can send JSON to a webhook when a row reaches a particular status. This can connect a Google Workspace workflow to a notification, project management, or customer-support service. Never assume that a successful HTTP response means the downstream system permanently processed the request; log an identifier where possible.

16. Maintain an inventory and low-stock alert workflow

When stock falls below a reorder threshold, Apps Script can email a buyer, create a purchase-order row, and record when the alert was sent. Separate current stock, transactions, suppliers, and alert history so inventory changes remain auditable.

The Inventory + Purchase Order + Low Stock Alert System is a relevant template for this workflow.

17. Track employee onboarding tasks

A manager can submit a new hire's details through a form, and Apps Script can create a checklist, assign due dates, notify task owners, and send an overdue summary. Restrict access to employee data and avoid placing confidential information in email subjects or broadly shared sheets.

18. Collect timesheets and create payroll summaries

Apps Script can validate submitted hours, flag missing entries, total approved time, and produce a summary for review. It should support a human approval step; a spreadsheet automation should not be treated as a complete payroll or tax system without appropriate controls.

19. Track project tasks and send deadline alerts

A scheduled trigger can find tasks approaching their due dates, email assignees, and update a dashboard. Include task status, owner, due date, and last-notified fields. Otherwise, the same reminder may be sent repeatedly.

20. Manage social media content planning

A content calendar in Sheets can track ideas, drafts, approval status, scheduled dates, and campaign tags. Apps Script can remind reviewers, generate a weekly content summary, or send approved content to an external publishing API when that service supports it.

21. Process Gmail attachments automatically

A script can search for matching Gmail threads, save attachments to a Drive folder, and record the message ID and file ID. Use a narrow Gmail query, label processed threads, and avoid downloading the same attachment during every scheduled run.

22. Turn form submissions into support or maintenance tickets

For a small operation, a form can collect a request and Apps Script can assign a ticket number, notify the responsible person, and send a confirmation to the requester. Status changes can trigger updates, but a dedicated ticketing tool is preferable when queues, service-level agreements, or permissions become complex.

23. Send rent and property maintenance reminders

A landlord or property manager can use scheduled checks to identify upcoming rent dates, overdue balances, open maintenance requests, and vendor follow-ups. Keep tenant information access-controlled and separate operational reminders from financial records that require stronger accounting controls.

24. Create certificates, invoices, or receipts in bulk

Given a list of recipients or transactions, Apps Script can merge data into a Doc template, export each result, and save or email it. Add a unique reference number and a generated timestamp, and preserve the source row so an issued document can be traced back to its input.

25. Build a simple Google Workspace web app

HTML Service can provide a browser interface for searching records, submitting requests, or running controlled actions. The web app can use Sheets or another Workspace service behind the scenes. Define who can access it, who owns the deployment, and whether it runs as the user accessing the app or as the owner; those choices affect both permissions and data exposure.

How to choose the right automation design

Workflow diagram from an automation trigger through validation, output, logging, and retry or human review.
A reliable automation defines not only its successful output but also its retry path.

Start with the workflow rather than the code. Write down the trigger, input data, decision rules, output, owner, and failure response. Then answer these questions:

  • Is Google Workspace already the source of truth?
  • Can the process tolerate a scheduled run rather than instant processing?
  • What happens if the same row, email, or form response is processed twice?
  • Which account should own the trigger and created files?
  • Does every user need access to the underlying data?
  • How will someone correct an invalid row and safely rerun the process?

Use stable IDs instead of names when linking files, events, and records. Add status fields such as Pending, Processed, and Error, plus a timestamp and an error message where appropriate. These small design choices make a simple script much easier to operate.

Triggers, permissions, and safe operation

Diagram showing how Apps Script triggers, authorization, account identity, Workspace services, and web app access relate.
Trigger ownership and deployment identity affect which data and services an automation can use.

Simple triggers have restrictions, especially around services that require authorization. An installable trigger is usually the better choice when the automation must send Gmail, access Drive, or run on a schedule. The person who creates the trigger may determine whose account is used for authorized actions.

On the first run, Apps Script may request permission to access Workspace services. Review the scopes and grant access only from a trusted project. Do not store passwords, API tokens, customer lists, or other private values directly in code or in a publicly shared sheet. Use Script Properties or User Properties for secrets and limit who can edit the project.

For web apps, review deployment access and execution identity carefully. A web app that runs as its owner can potentially expose the owner's accessible data if the code does not validate requests correctly.

Testing and troubleshooting checklist

  1. Copy the spreadsheet or use test records before working with live data.
  2. Run one normal case, one missing-data case, one duplicate case, and one permission-failure case.
  3. Check the Apps Script execution history and logs after each test.
  4. Confirm that the expected email, file, event, or status update was created.
  5. Run the function again and verify that it is idempotent or safely skips completed work.
  6. Test the trigger under the account that will own the automation.

Common failures include an expired authorization grant, a trigger owned by the wrong account, an incorrect sheet or folder ID, a mismatched date or time zone, and a script that makes too many service calls. If a process stops partway through, record progress after meaningful units of work and design a retry path instead of assuming the whole batch completed.

When Apps Script is not the best choice

Consider another platform when you need high-volume processing, strict transactional guarantees, continuous real-time operation, complex role-based access, sophisticated audit requirements, or a public application with many simultaneous users. Apps Script also has execution, service, and API limits that can change, so verify current limits in Google's official Apps Script documentation before designing a large workload.

For modest internal workflows, however, Apps Script can be an economical bridge between familiar Workspace tools. Build the smallest reliable version first, protect the data, and add monitoring before expanding its scope.

Frequently asked questions

Can Google Apps Script automate Gmail?

Yes. It can search and label messages, send email, create drafts, and process attachments, subject to authorization, Gmail restrictions, and applicable sending limits.

Can Apps Script run automatically?

Yes. Installable time-driven and event-driven triggers can run functions without a user clicking a button. Triggers still run under permissions and platform limits, so they need monitoring and error handling.

Can Apps Script connect to non-Google applications?

Often, yes, when the service provides an HTTP API or webhook. The integration must handle authentication, response errors, rate limits, pagination, and changes made by the external provider.

Is Apps Script suitable for a customer-facing application?

It can support a small, controlled web app, but carefully evaluate authentication, concurrent users, privacy, performance, and deployment ownership. A dedicated application backend is usually more appropriate as those requirements grow.

Conclusion

Google Apps Script can automate the repetitive parts of email, documents, spreadsheets, files, forms, calendars, reporting, and small business operations. The strongest solutions have a clear trigger, a defined data owner, duplicate protection, useful logs, and a safe way to retry failures. Choose one repetitive workflow, test it with non-production data, and expand only after the first version behaves predictably.

About the author

Free Apps Script Team

This guide was created and reviewed for practical Google Workspace automation. Test scripts with sample data and review requested permissions before using them in production.

Ready-to-use templates

Put this guide into practice

Finance & Billing Automation

Smart Invoice & Payment Reminder Tracker

A Google Sheets + Apps Script invoice tracker that helps freelancers, consultants, and small businesses create invoices, track payment status, send email reminders, and manage overdue payments. It solves the problem of forgotten invoices, late payments, and messy billing records.

View template →

CRM & Sales Automation

Lightweight CRM + Follow-Up Automation

A lightweight CRM built with Google Sheets and Apps Script to manage leads, clients, status pipelines, notes, and automated follow-up reminders. It helps freelancers, agencies, and small businesses keep track of prospects and improve response consistency. It solves the problem of lost leads, forgotten follow-ups, and disorganized client data.

View template →

Booking & Scheduling

Appointment Booking + Email Reminder System

A booking and scheduling app built with Google Sheets and Apps Script that helps service businesses manage appointments, customer details, time slots, and automatic email reminders. It helps reduce no-shows, keeps bookings organized, and makes scheduling easier. It solves the problem of manual appointment handling and forgotten reminders.

View template →

Inventory & Purchasing

Inventory + Purchase Order + Low Stock Alert System

An inventory management app with purchase orders, stock tracking, supplier records, and low stock alerts. It helps businesses monitor inventory levels, create purchase orders, and avoid stock shortages. It solves the problem of manual stock counting, delayed restocking, and unorganized purchasing workflows.

View template →

Continue learning

Related Apps Script guides