Create HubSpot email records from Google Sheets activity rows
You track outreach in a fast spreadsheet, but HubSpot timelines stay blank. Notis reads each new log row and writes it into HubSpot as an email engagement record so the history is real.
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 emails
Creates multiple email objects for record-keeping (does not send emails) within hubspot crm in a single batch, allowing properties and associations to other crm objects to be set for each email.
Why this helps
Outreach gets logged in a sheet for speed, and the HubSpot timeline stays empty, so you cannot see the last touch on a contact.
- Your outreach log becomes a visible HubSpot timeline without double entry.
- You can see the last touch on any contact without opening a spreadsheet.
- Records are created for record-keeping only, so nothing is actually sent by accident.
Setup
Build it in a few focused steps.
- 1Connect Google Sheets and HubSpot to Notis once using your portal link.
- 2Open New Automation, or ask Notis: when I add an outreach row, log it as a HubSpot email record.
- 3Choose the New Rows in Google Sheet trigger and select your activity log.
- 4Set the channel where Notis confirms each record it writes.
- 5Add one test row and check the email record shows on the contact timeline.
Questions about this workflow
Does this send any emails?
No. It creates email engagement records for history only. Nothing leaves your account.
Can it attach the record to the right contact?
Yes. Include the contact identifier in your 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.
Add asset association
Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.
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.
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.
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.
Archive email
Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.
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.
Archive a batch of emails by ID
Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.
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.
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.
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.
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.
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.
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.
New Sheet Added in Google Spreadsheet
Polling trigger that detects when a new sheet is added to a Google Spreadsheet.
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.
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.