Home Email End Email Overwhelm. Automatically.

End Email Overwhelm. Automatically.

FlowSavers Team
~2 min
1-Click ready

Ugh, how frustrating it is when you send an important email and it vanishes into the ether without a reply! You want to know if someone has gotten bac...

Automatic Reminders for Unanswered Emails

Text

1. Automatic Reminders for Unanswered Emails

2. The Problem

Ugh, how frustrating it is when you send an important email and it vanishes into the ether without a reply! You want to know if someone has gotten back to you and, if not, you want Gmail to notify you so you don’t have to manually check. Gmail’s native features are limited, and paid tools are either expensive or force you into manual follow-ups. You need something that works on its own, reminds you directly in your inbox, and is cost-effective. We totally get it—it’s a productivity headache that drains both your time and energy.

3. The Action Plan

To automate this follow-up, we are going to create a small “agent” that works for you in the background. The logic is simple and follows these three steps:

  1. Check for replies in the conversation: After identifying those emails, the system will check the entire conversation thread to see if anyone other than yourself has replied. If there are no third-party replies in that thread, the email is marked as “pending.”
  2. Generate a visual reminder in your inbox: If the system finds a pending email that has passed your deadline, it will automatically apply a special label and mark it as “unread.” This way, the email “pops up” in your primary view as if it were a new message, grabbing your attention without you having to do anything.

4. Detailed Implementation

You will be using Google Apps Script, which is Google’s free tool for automating tasks across its applications, like Gmail. Don’t worry—you don’t need to be a programmer. I will give you the exact steps:

Initial Setup:

  1. Open Google Apps Script: Go to script.com and click on + New Project. If a Code.gs file appears, delete any existing content. Otherwise, you will see an empty file ready to go.
  2. Prepare a Gmail label: In your Gmail, create a new label (or “label”) named, for example, ”🚨 Pending Follow-up.” It is important that the name matches exactly, or you must modify the code to match the name you choose.

The Code (which you will copy from the prompt and paste):

The script will perform the following:

  • Define how many days you want to wait before considering an email “unanswered.”
  • Search through all emails in your “Sent” folder.
  • For each of those emails, it will:
    • Check if the defined time has passed.
    • Verify if the “Pending Follow-up” label has already been applied.
    • Check if there is any reply from someone else in the entire conversation thread following your sent email.
    • If there is no reply and all conditions are met, it applies the label and marks it as unread.

Steps to Run and Automate:

  1. Paste the code: Once you copy the prompt at the end of this article, paste it into the Google Apps Script editor.
  2. Save the project: Go to “File” > “Save project” (or click the disk icon). You can name it something like “Gmail Reminders.”
  3. Adjust parameters (optional): Inside the code, you will see these lines at the beginning:
    const DAYS_to_WAIT = 3; // Days to wait before sending a reminder
    const REMINDER_LABEL_NAME = "🚨 Pending Follow-up"; // Name of the Gmail label
    You can change 3 to the number of days you prefer and "🚨 Pending Follow-up" to the exact name of the label you created in Gmail.
  4. Run for the first time and grant permissions:
    • In the top bar, where it says function myFunction(), change it to checkSentEmailsForReminders (if it isn’t already).
    • Click the “Run” icon (the triangle next to “Debug”).
    • You will be asked for authorization the first time. Click “Review permissions,” select your Google account, then “Advanced” (bottom left), and “Go to Gmail Reminders (unsafe)” or whatever name you gave it. It is safe because it is your own script interacting with your own account. Accept the permissions.
  5. Set a trigger so it runs automatically:
    • In the left sidebar of the Apps Script editor, look for the “clock” icon (Triggers).
    • Click “Add Trigger” (bottom right).
    • Configure it as follows:
      • Choose which function to run: checkSentEmailsForReminders
      • Choose which deployment should run: Head
      • Select event source: Time-driven
      • Select type of time based trigger: Hour timer (or Day timer if you prefer once a day).
      • Select hour interval: Every 1 hour (or your preference; I suggest frequent enough so notifications are timely).
    • Click “Save.”

Done! The script will run automatically at the frequency you specified. If you find an email labeled and you have already handled it or received a reply, simply archive the email or remove the label, and the script will not remind you about it again.

5. Suggested Tool

The ideal tool for this is Google Apps Script. Why? Because it is free, natively integrated with Gmail and the entire Google ecosystem, and allows for total customization without needing to learn deep programming. Essentially, it’s like having a personal assistant working 24/7 reviewing your emails according to your rules—and the best part is that you already have access via your Google account. There are no hidden costs or subscriptions, just efficiency tailored to your needs.

6. Prompt to copy

Generate a Google Apps Script code for Gmail that does the following:

1.  **Configurable Variables:**
    *   `DAYS_TO_WAIT`: Number of days to wait for a response before triggering a reminder. Default is 3 days.
    *   `REMINDER_LABEL_NAME`: The exact name of the Gmail label to be applied to unanswered emails. Default is "🚨 Pending Follow-up".

2.  **Main Function (`checkSentEmailsForReminders`):**
    *   Retrieve the "Sent" label from Gmail.
    *   Iterate through all threads (conversations) in the "Sent" folder.
    *   For each thread, find the *latest* message sent by the *current user*.
    *   Verify that this message is at least `DAYS_TO_WAIT` days old, but not *too old* (e.g., more than 30 days, to avoid bringing up historical emails).
    *   Before processing, check if the thread *already has* the `REMINDER_LABEL_NAME` applied. If it does, ignore this thread to avoid duplicate reminders.
    *   **Reply Logic:** To determine if there is a reply, the function must:
        *   Retrieve all messages within the current thread.
        *   Filter these messages to find if there is *at least one message* sent from an email address *different* from the current user's (`Session.getActiveUser().getEmail()`) AND whose date (`getDate()`) is *later* than the date of the last message sent by the user.
    *   If the thread contains no third-party replies after the user's last sent message, then:
        *   Apply the `REMINDER_LABEL_NAME` to the thread.
        *   Mark the thread as `unread()`, so it appears prominently in the inbox.

3.  **Code Comments:** Include clear comments to explain each important section of the code.
Share