Auto-draft emails for filtered sheet data

Leads matching your criteria? Notis drafts outreach. Filter, review, send. No manual segmentation, no repetitive typing.

Trigger

Filtered Range Values Changed

Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.

Gmail logo

Action

Create email draft

Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.

Why this helps

Manually filtering sheet data, then copying each entry into an email draft wastes hours. Most filtered leads go ignored because the effort feels overwhelming.

  • Auto-draft emails for every row matching your filter
  • Personalize based on filtered columns
  • Review in Gmail before sending
  • Handle large lead lists without manual work

Setup

Build it in a few focused steps.

  • 1Connect Google Sheets and Gmail to Notis.
  • 2Create an automation: 'When rows in my [Sheet] match [Filter Criteria], create a Gmail draft with a personalized outreach email.'
  • 3Set the trigger to 'Filtered Range Values Changed' and define the filter (e.g., 'Industry equals SaaS AND Funding Status equals Series A').
  • 4Describe your outreach template in plain language (e.g., 'start with their company name, mention their recent funding round, ask for a quick call').
  • 5Test by adding a lead that matches your filter and confirm the draft appears.

Questions about this workflow

How often does Notis check the filter?

Notis polls periodically (typically every 5-15 minutes depending on your settings) and drafts emails for any new rows that match your filter criteria.

Can I segment different outreach for different filters?

Yes. Create multiple automations, each with its own filter and outreach template. For example, one for VCs, another for agencies.

What if I want subject lines to vary?

Tell Notis in your prompt: 'personalize the subject line with their company name' and Notis will vary it per lead.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Google Sheets to Gmail. A trigger fires from one place; an action lands in another.

Google Sheets logo

Google Sheets triggers

Gmail logo

Gmail actions

Aggregate Metric Changed

Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.

TriggerPolling

Modify email labels

Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).

ActionInstant

Cell Range Values Changed

Triggers when values in a specified A1 range change in Google Sheets. This trigger monitors a specific cell or range of cells and fires when any values change.

TriggerPolling

Create email draft

Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.

ActionInstant

Conditional Format Rule Changed

Triggers when conditional formatting rules change in a Google Spreadsheet. Detects when rules are added, updated, or removed. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

Create label

Creates a new label with a unique name in the specified user's gmail account.

ActionInstant

Data Validation Rule Changed

Triggers when data validation rules change (added/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

Delete Draft

Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.

ActionInstant

Developer Metadata Changed

Triggers when developer metadata entries change (new/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

Delete message

Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.

ActionInstant

Filtered Range Values Changed

Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.

TriggerPolling

Fetch emails

Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.

ActionInstant

New Rows in Google Sheet

Simple polling trigger that monitors Google Sheets for new rows. Detects when new rows are added and returns the complete row data. Perfect for triggering any workflow based on new sheet entries.

TriggerPolling

Fetch message by message ID

Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.

ActionInstant

New Sheet Added in Google Spreadsheet

Polling trigger that detects when a new sheet is added to a Google Spreadsheet.

TriggerPolling

Fetch Message by Thread ID

Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Google Sheets and Gmail. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Gmail.