Skip to content
Notis

Create HubSpot campaigns from a Google Sheets calendar

Your marketing calendar lives in a sheet where planning feels natural, but campaigns need to exist in HubSpot to be measured. Notis creates them for you as you fill in rows.

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 batch of campaigns

Creates up to 50 marketing campaigns in a single batch operation.

Why this helps

Campaigns are planned in a spreadsheet and then someone has to recreate each one in HubSpot by hand before anything can be tracked.

  • Each planned row becomes a real HubSpot campaign ready to track.
  • Planning and execution stop being two disconnected chores.
  • Bulk rows are created together, so a full quarter's plan lands in one run.

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 calendar rows, create the matching HubSpot campaigns.
  • 3Choose the New Rows in Google Sheet trigger and select your content calendar.
  • 4Pick the channel where Notis reports the campaigns it created.
  • 5Add one planned row and confirm the campaign appears in HubSpot.

Questions about this workflow

Can it create many campaigns at once?

Yes. Notis creates a batch of campaigns in a single pass, so a filled-in calendar is handled together.

What campaign details can I include?

Name, dates, and any properties in your row can be carried over when you describe them 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.