Skip to content
Notis

Create HubSpot marketing email drafts from Google Sheets briefs

A blank email editor is a hard place to start. Keep your briefs in a sheet and Notis creates a matching HubSpot marketing email draft for each one, so you begin with structure already in place.

Trigger

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.

Action

Create a new marketing email

Creates a new marketing email in hubspot, allowing comprehensive configuration of content, recipients, sender details, a/b testing, scheduling, web version, and other settings; the internal `name` for the email is required.

Why this helps

Newsletter ideas live in a planning sheet, but every send starts from an empty HubSpot draft, which makes getting going feel harder than it should.

  • Each brief becomes a ready-to-edit HubSpot email draft, never a blank page.
  • The gap between planning and drafting disappears.
  • You spend energy on the message, not on setup.

Setup

Build it in a few focused steps.

  • 1Connect Google Sheets and HubSpot to Notis once via your portal link.
  • 2Open New Automation, or ask Notis: when I add a newsletter brief, create the HubSpot marketing email draft.
  • 3Choose the New Rows in Google Sheet trigger and select your briefs sheet.
  • 4Pick the channel where Notis links you to each draft it creates.
  • 5Add one brief and confirm the draft appears in HubSpot.

Questions about this workflow

Does this send the email?

No. It only creates a draft, so you review and send on your own schedule.

Can the draft include my subject and body?

Yes. Whatever your brief row contains can seed the draft when you describe it in your instruction.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Google Sheets triggers

Hubspot 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

Add asset association

Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.

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

Add token to event template

Adds a new custom data token to an existing event template for a specified hubspot application, optionally populating a crm object property if objectpropertyname is provided.

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

Archive email

Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.

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

Archive a batch of emails by ID

Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.

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

Archive a batch of quotes by id

Archives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes.

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

Archive batch of companies by id

Archives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible.

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

Archive batch of contacts by id

Archives a batch of existing contacts by their hubspot crm ids, rendering them inactive; this action is irreversible via the api and requires manual restoration or a separate unarchive endpoint.

ActionInstant

New Sheet Added in Google Spreadsheet

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

TriggerPolling

Archive batch of deals by id

Archives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Google Sheets and Hubspot. Any combination from 1,000+ 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 Hubspot.