Skip to content
Notis

Log HubSpot touches from a Google Sheets tracker cell

You mark a contact as reached out to by editing a cell, but HubSpot never hears about it. Notis watches that cell and logs the touch as an email record so the timeline reflects your real activity.

Trigger

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.

Action

Create email

Creates a new email engagement record in hubspot, requiring portal-specific `properties` (e.g., `hs timestamp` as a utc millisecond timestamp), and that association `to id`s and `associationtypeid`s are valid and existing.

Why this helps

You update a last-contacted cell to stay organized, but the HubSpot timeline stays blank, so history is scattered across two places.

  • A single cell edit becomes a HubSpot touch on the contact.
  • Your timeline stays complete without any double logging.
  • History lives in one place instead of half in a sheet.

Setup

Build it in a few focused steps.

  • 1Connect Google Sheets and HubSpot to Notis once via your portal link.
  • 2Open New Automation, or tell Notis: when I update a last-contacted cell, log the touch in HubSpot.
  • 3Choose the Cell Range Values Changed trigger and select the cells you use to mark outreach.
  • 4Set the channel where Notis confirms each record it logs.
  • 5Update one test cell and confirm the email record appears on the contact.

Questions about this workflow

Does this send an email?

No. It creates an engagement record for history only, so nothing is sent.

How does Notis attach it to the right contact?

Include the contact identifier in the row and Notis associates the record to that person.

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.