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.

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

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
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
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
- Copy the spreadsheet or use test records before working with live data.
- Run one normal case, one missing-data case, one duplicate case, and one permission-failure case.
- Check the Apps Script execution history and logs after each test.
- Confirm that the expected email, file, event, or status update was created.
- Run the function again and verify that it is idempotent or safely skips completed work.
- 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.