▶ Stepthrough Courses All tutorials Blog Glossary Prompts Videos Visual guides Cheat sheets Comparisons Start Learning Free

On a Schedule: A Daily Summary Email from a Google Sheet in Make.com

Practice it step by step

Start the free practice

You do every step yourself in a practice copy of Make. It checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, about 12 minutes, and nothing touches your real accounts. Open full screen

Free · Live nowMake.com Automation BasicsMakeGoogle SheetsGmail~12 min40 stepsBeginner

Updated . Built against the tool’s current screens and checked step by step. How we check this lesson

In this free Make.com tutorial, you build a scenario that sends one summary email at the end of every day. Brookside Dental, a small family dental practice, logs every new patient request in a Google Sheet. The office manager does not want an email for each request. She wants one list at 5 PM. You search the sheet for today's rows, combine them with a Text aggregator, send the list with Gmail, and put the scenario on a daily schedule.

At a glance

QuestionAnswer
What you buildBuild a Make scenario that runs every day at 5 PM, finds today's rows in Google Sheets, combines them with a Text aggregator and emails one summary with Gmail.
ToolsMake
TimeAbout 12 minutes, 40 steps in 5 parts
LevelBeginner, no coding needed
CostFree
Ways to learn itPractice it step by step

The 5 parts, in short

  1. Find today's requests: Create a scenario, Add the first module, Google Sheets, Search Rows, and 8 more steps.
  2. Combine them into one: Add the next module, Tools, Text aggregator, Source Module, and 7 more steps.
  3. Send the email: Add the email, Gmail, Send an email, To, and 4 more steps.
  4. Test it: Run once.
  5. Run it every day: Every 15 minutes, Run scenario, Daily, 5:00 PM, and 4 more steps.

Start here first: Your First Make.com Scenario: Google Forms to Google Sheets (module 1 of Make.com Automation Basics)

In the course: Part 8 · Make.com Automation Basics (Module 35 of the full course)

What you will build

This is a new scenario with three modules. It has no app trigger. Instead, the first module runs on a schedule. Google Sheets Search Rows reads the New patient requests sheet and returns only the rows whose Date column matches today's date. A Tools Text aggregator turns those rows into one piece of text, one line per request. Gmail Send an email sends that text to the office manager.

You test the scenario with Run once, then open Schedule settings, choose Daily, set the time to 17:00, save the scenario and switch it on. From then on, Make runs it every day at 5 PM in your organization's time zone.

Who this Make.com tutorial is for

This module is for small business owners, office managers and front-desk teams who keep a running list in Google Sheets and want a daily digest without opening the sheet. No coding is needed. It is the fourth module in the Make.com Automation Basics course, and it reuses the Google and Gmail connections from the earlier modules.

Bundles, and why you need an aggregator

Search Rows returns each matching row as its own bundle, and every module after it runs once for each bundle. Without an aggregator, four requests would mean four separate emails, and four Gmail runs using your Make credits. An aggregator collects all the bundles from its source module and outputs a single bundle, so the modules after it run once.

The Text aggregator writes the Text field once for each row and joins the results into one text output.

Filtering by today's date

The sheet's Date column holds the day each request came in, written as year, month, day, for example 2026-09-28. The Search Rows filter compares that column to today's date in the same format. The formula formatDate(now; "YYYY-MM-DD") takes the current moment and writes it that way, so the filter matches a different day each time the scenario runs. Make works out today using your organization's time zone.

If your sheet stores dates in another format, change the format in the formula to match what the cells show.

Line breaks in a Gmail email

Gmail Send an email sends the body as HTML, and HTML ignores plain new lines. If you join the rows with a normal new line, the email shows them as one long run of text. Ending each row's text with a br tag gives every request its own line.

Scheduling and time zones

A new scenario runs every 15 minutes by default. In Schedule settings, Run scenario offers At regular intervals, Once, Daily, Weekdays (Mon - Fri), Weekly, Monthly, Specified dates and On demand. Daily asks for one or more times in 24-hour H:mm format.

The time follows your organization's time zone, which the dialog shows under the field. An organization owner or admin can change it in the profile, under Time zone options. A schedule only runs when the scenario is switched on, so save it and turn on the switch in the toolbar.

How to use this in your business

The same pattern works for any daily or weekly digest: a list of today's orders, the week's new leads, overdue invoices or tomorrow's appointments. Search for the rows you want, aggregate them into one bundle, then send it once. On days with nothing to report, set Stop processing after an empty aggregation to Yes in the Text aggregator's advanced settings, and Make skips the email.

Try it yourself, free

Reading the steps is a start. Doing them is how it sticks. The interactive module walks you through every click in a practice copy of Make, checks each step, and never touches your real accounts.

Start “On a Schedule: A Daily Summary Email from a Google Sheet in Make.com”

Step by step: On a Schedule: A Daily Summary Email from a Google Sheet in Make.com

All 40 steps of the interactive module, in order. In the module you watch each one, then do it yourself in a practice copy that checks your work.

1. Find today's requests

  1. Create a scenario. Your scenario from the last modules is on the list. This is a new one: click + Create scenario.

    Brookside Dental's office manager wants one email at five o'clock with every new patient request from that day. Your first scenario keeps filling the sheet. This is a separate scenario that reads it.

  2. Add the first module. Click the big +.

    This scenario doesn't wait for an app event. It starts on a schedule, so the first module simply reads the sheet.

  3. Google Sheets. Click Google Sheets in the list.
  4. Search Rows. Click Search Rows.

    Search rows finds the rows that match a filter.

  5. Spreadsheet Name. Your Google connection is already filled in. Keep Select from My Drive and open Spreadsheet Name.

    Your Google connection from the first module is already picked. Keep select from my drive, and open spreadsheet name.

  6. New patient requests. Click New patient requests.
  7. Sheet Name. Open Sheet Name.
  8. Sheet1. Click Sheet1.
  9. Filter by column. Keep Table contains headers as Yes. Under Filter, open the first box.

    The sheet now has a date column, E, with the day each request came in, written year, month, day. You only want today's rows, so under filter, open the first box.

  10. Date (E). Click Date (E).
  11. Today's date. Keep the operator Text operators: Equal to. In the last box, paste {{formatDate(now; "YYYY-MM-DD")}}

    Keep equal to. The last box needs today's date in the same year, month, day format. It takes now and formats it, so it's a new date every day.

  12. Save the module. Leave Limit empty and click Save.

    Leave the limit empty, so every match comes back.

2. Combine them into one

  1. Add the next module. Click the + on the right of Google Sheets.

    Here's the catch. Search rows hands back each matching row as its own bundle, and every module after it runs once per bundle. Four requests would mean four emails. An aggregator gathers them into one.

  2. Tools. Click Tools.

    The text aggregator is one of Make's built-in tools.

  3. Text aggregator. Under Aggregators, click Text aggregator.
  4. Source Module. Open Source Module.

    Source module tells the aggregator where the bundles come from.

  5. Search Rows. Click Google Sheets - Search Rows [1].

    Pick Google Sheets, search rows.

  6. Text. Click the Text field.

    Text is the line written for each row.

  7. Map the name. In the mapping panel, click Name (A).

    The mapping panel shows the columns from search rows.

  8. A colon. Type a colon and a space: :
  9. Map the reason. Click Reason (D).
  10. A line break. Type <br> at the end.

    Gmail sends the body as H T M L, where a plain new line disappears. So end each line with a break tag.

  11. Save the module. Click Save.

3. Send the email

  1. Add the email. Click the + on the right of Tools.

    Now send the list.

  2. Gmail. Click Gmail.
  3. Send an email. Under Actions, click Send an email.
  4. To. Check that Connection shows your Gmail connection. In Recipient email address 1, type [email protected]

    Check that your Gmail connection is picked. This email always goes to the same person, so type the office manager's address.

  5. Subject. In Subject, type Today's new patient requests
  6. Content. Check that Body type is Raw HTML (pick it if not). Click the Content field.

    Check that the body type is raw H T M L.

  7. Map the combined text. Under 2. Tools - Text aggregator, click text.

    The aggregator gives one item: text, the whole list in one piece.

  8. Save the module. Click Save.

4. Test it

  1. Run once. Click Run once.

    Test it now, instead of waiting for five o'clock.

5. Run it every day

  1. Every 15 minutes. Every module ran once. Click Every 15 minutes in the toolbar.

    Each module ran once. Search rows found four requests, and the aggregator turned four bundles into one, so Gmail sent a single email. Now the schedule.

  2. Run scenario. Open Run scenario.
  3. Daily. Click Daily.
  4. 5:00 PM. In Time 1, type 17:00

    The time uses the twenty-four hour clock, so five P M is seventeen hundred.

  5. Save the schedule. Check the Time zone under the field, then click Save.

    Make runs it in your organization's time zone, shown under the field. If it's wrong, change it in your profile, under time zone options.

  6. Save the scenario. Click the Save icon in the toolbar.

    Save the scenario with the save icon.

  7. Switch it on. Click the switch next to Daily at 5:00 PM.

    A schedule only runs once the scenario is on.

  8. Check the email. Open the Gmail tab to see the email from your test run.

    Done.

Frequently asked questions

Why does my Make.com scenario send one email per row?
Search Rows returns one bundle per row, and every module after it runs once per bundle. Put a Text aggregator (or Array aggregator) between Search Rows and Gmail, set its Source Module to the Search Rows module, and Gmail runs once with all the rows.
How do I run a Make.com scenario every day at a set time?
Click Every 15 minutes in the scenario toolbar to open Schedule settings, set Run scenario to Daily, enter the time in Time 1 in 24-hour H:mm format, such as 17:00, and save. Then save the scenario and switch it on.
Which time zone does a Make.com schedule use?
Your organization's time zone. It is shown under the time field in Schedule settings and can be changed by an owner or admin in the profile, under Time zone options.
How does the interactive lesson work?
Each step is shown to you first on the left (Watch), with a short voice-over. Then you do it yourself on a practice copy of Make on the right (Your turn), and every click is checked. If you get stuck, press Do it for me. Nothing touches a real Make, Google or Gmail account.

Start this module free

More in Make.com Automation Basics

All 5 modules in Make.com Automation Basics

Plain-English definitions, each with an example from a free lesson.

The full AI glossary

Browse related tutorials