Beginner~8 min setupCRM & EmailVerified April 2026
HubSpot logo
Gmail logo

How to Log Gmail Email Activity to HubSpot CRM with Zapier

Automatically log emails sent or received in Gmail to the corresponding contact's timeline in HubSpot CRM.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

HubSpot Gmail extension exists as a native integration, but it requires manual setup per user and doesn't create contacts automatically. This guide uses an automation platform for full control. View native option →

Best for

Sales teams using Gmail and HubSpot who want automatic email activity logging without coding.

Not ideal for

High-volume senders (1000+ emails/day) or teams needing custom email parsing and formatting.

Sync type

polling

Use case type

sync

Real-World Example

💡

A 12-person B2B software sales team uses this to automatically log all client email communications to HubSpot contact timelines. Before automation, reps manually logged emails 2-3 times per day and missed 30% of important client interactions. Now every Gmail conversation with prospects appears in HubSpot within 3 minutes, giving the team complete visibility into client communication history.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Before You Start

Make sure you have everything ready.

Gmail account with business emails you want to track
HubSpot CRM account with existing contact records
Zapier account (free tier works for testing)
Admin access to both Gmail and HubSpot for authentication
Contact email addresses in HubSpot that match Gmail correspondents

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Email Subjectsubject
Email Bodybody
Sender Emailfrom_email
Recipient Emailto_email
Email Timestamptimestamp
Engagement Typeengagement_type

Step-by-Step Setup

1

Dashboard > Create Zap > Trigger

Create New Zap with Gmail Trigger

Start a new Zap and set up Gmail as your trigger app. You'll configure it to fire when you send or receive emails with HubSpot contacts.

  1. 1Click 'Create Zap' from your Zapier dashboard
  2. 2Search for 'Gmail' in the trigger app selector
  3. 3Select 'New Email' as your trigger event
  4. 4Click 'Continue' to proceed to connection setup
What you should see: You should see Gmail selected as your trigger with 'New Email' event configured.
Zapier
+
click +
search apps
HubSpot
HU
HubSpot
Create New Zap with Gmail Tr…
HubSpot
HU
module added
2

Trigger > Gmail > Account Connection

Connect Your Gmail Account

Authenticate your Gmail account with Zapier. This gives Zapier permission to monitor your inbox for new emails.

  1. 1Click 'Sign in to Gmail' button
  2. 2Select your Google account from the popup
  3. 3Click 'Allow' to grant Zapier access to Gmail
  4. 4Verify the green 'Connected' status appears
What you should see: Gmail account shows as connected with a green checkmark and your email address displayed.
Common mistake — Don't use a shared or team Gmail account - HubSpot needs to match the sender email to your user record.
Zapier settings
Connection
Choose a connection…Add
click Add
HubSpot
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
3

Trigger > Gmail > Configure

Configure Email Trigger Settings

Set up the trigger to capture both sent and received emails. You'll configure search criteria to focus on business emails only.

  1. 1Leave 'Label/Mailbox' set to 'INBOX'
  2. 2In 'Search String' field, enter 'from:(@yourdomain.com OR @client-domain.com)'
  3. 3Check 'Include Sent Items' to capture outbound emails
  4. 4Click 'Continue' to test the trigger
What you should see: Trigger configuration shows your search criteria and 'Include Sent Items' is enabled.
Common mistake — The search string is case-sensitive - use lowercase domain names or the filter won't match correctly.
4

Trigger > Gmail > Test

Test Gmail Trigger

Pull in a recent email to verify the trigger works correctly. This sample data will populate the rest of your Zap setup.

  1. 1Click 'Test trigger' button
  2. 2Wait for Zapier to fetch recent emails (takes 10-15 seconds)
  3. 3Select a business email from the list of results
  4. 4Click 'Continue with selected record'
What you should see: Sample email data appears showing sender, recipient, subject, and body content fields.
Zapier
▶ Turn on & test
executed
HubSpot
Gmail
Gmail
🔔 notification
received
5

Action > App Selection > HubSpot

Add HubSpot Action Step

Add HubSpot as your action app to create the CRM activity log entry. You'll use the 'Create Engagement' action to log the email.

  1. 1Click the '+' button to add an action step
  2. 2Search for 'HubSpot' in the action app list
  3. 3Select 'Create Engagement' as the action event
  4. 4Click 'Continue' to proceed
What you should see: HubSpot is selected as your action app with 'Create Engagement' event configured.
Common mistake — Don't choose 'Create Contact' - that creates new contacts instead of logging activity to existing ones.
6

Action > HubSpot > Account Connection

Connect HubSpot Account

Authenticate your HubSpot account and grant Zapier permission to create engagement records in your CRM.

  1. 1Click 'Sign in to HubSpot' button
  2. 2Enter your HubSpot login credentials
  3. 3Select the correct HubSpot account if you have multiple
  4. 4Click 'Connect account' to authorize access
What you should see: HubSpot account shows connected status with your portal name displayed.
7

Action > HubSpot > Engagement Setup

Configure Engagement Type

Set the engagement type to 'Email' so the activity appears correctly in HubSpot contact timelines.

  1. 1In 'Engagement Type' dropdown, select 'EMAIL'
  2. 2Set 'Engagement Direction' to map from Gmail data
  3. 3Use Gmail 'From' field to determine if email was sent or received
  4. 4Click into the 'Active' field and set to 'True'
What you should see: Engagement type shows 'EMAIL' with direction mapping configured from Gmail trigger data.
Common mistake — Setting 'Active' to false will create the engagement but hide it from contact timelines.
8

Action > HubSpot > Field Mapping

Map Email Content Fields

Map the Gmail email data to HubSpot engagement fields so the email details appear in the contact timeline.

  1. 1Map 'Subject' field to Gmail 'Subject' data
  2. 2Map 'Body' field to Gmail 'Body Plain' or 'Body HTML'
  3. 3Set 'Timestamp' to Gmail 'Date' field
  4. 4Map 'From Email' to Gmail 'From Email' field
What you should see: All email content fields show mapped Gmail data in the preview.
HubSpot fields
firstname
lastname
email
company
hs_lead_status
available as variables:
1.props.firstname
1.props.lastname
1.props.email
1.props.company
1.props.hs_lead_status
9

Action > HubSpot > Associations

Associate with Contact

Configure HubSpot to find and link the email to the correct contact record using email address matching.

  1. 1In 'Associations' section, click 'Add Association'
  2. 2Select 'Contact' as the association type
  3. 3Set 'Contact Email' to Gmail 'From Email' for received emails
  4. 4For sent emails, use Gmail 'To Email' field instead
What you should see: Contact association is configured to match Gmail email addresses with HubSpot contact records.
Common mistake — If the email address doesn't match an existing HubSpot contact, the engagement will be created but not associated with anyone.
10

Action > HubSpot > Test

Test HubSpot Action

Run a test to verify the email gets properly logged to HubSpot with all fields mapped correctly.

  1. 1Click 'Test action' button
  2. 2Wait for Zapier to create the test engagement in HubSpot
  3. 3Review the success message and engagement ID returned
  4. 4Click 'Continue' to proceed to final setup
What you should see: Test shows successful engagement creation with HubSpot engagement ID in the response.
Common mistake — The test will create a real engagement in HubSpot - check that it appears correctly before going live.
11

Publish > Zap Settings

Turn On Zap

Activate your Zap to start automatically logging emails. Name it clearly for easy identification later.

  1. 1Click 'Publish Zap' button
  2. 2Enter a descriptive name like 'Gmail to HubSpot Email Logging'
  3. 3Verify the Zap status shows 'On'
  4. 4Check the task usage counter starts incrementing
What you should see: Zap shows active status and begins monitoring Gmail for new emails to log.

Drop this into a Zapier Code step.

JavaScript — Code Step{{if(contains(1.from_email, "@yourclientdomain.com"), "INCOMING_EMAIL", "OUTGOING_EMAIL")}}
▸ Show code
{{if(contains(1.from_email, "@yourclientdomain.com"), "INCOMING_EMAIL", "OUTGOING_EMAIL")}}

... expand to see full code

{{if(contains(1.from_email, "@yourclientdomain.com"), "INCOMING_EMAIL", "OUTGOING_EMAIL")}}

Scaling Beyond 500+ emails/day+ Records

If your volume exceeds 500+ emails/day records, apply these adjustments.

1

Switch to Make for Better Rate Limiting

Make handles HubSpot's 100 calls/10 seconds limit with automatic retries. Zapier fails tasks when you hit limits, requiring manual intervention.

2

Use Email Filters to Reduce Volume

Configure Gmail filters to exclude internal emails, automated messages, and newsletters. Focus on actual prospect/customer communications to reduce task consumption by 60-70%.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Zapier for this workflow

Use Zapier for this if you need a simple setup that works within 30 minutes and your team doesn't code. The Gmail trigger fires reliably within 2-3 minutes of new emails, and HubSpot's engagement API handles the CRM logging automatically. Skip Zapier if you send 1000+ emails daily - you'll hit rate limits fast and need Make's built-in error handling instead.

Cost

This workflow uses 1 task per email logged. At 200 emails/month, that's 200 tasks total, fitting Zapier's Starter plan at $20/month. Make would cost $9/month for the same volume with 1000 operations included. N8n self-hosted is free but requires server management. Make wins on pure cost, saving you $132/year.

Tradeoffs

Make handles HubSpot rate limits better with automatic retry logic and exponential backoff - Zapier just fails the task. N8n gives you custom JavaScript nodes to parse email headers and extract meeting details that Zapier can't touch. But Zapier's Gmail integration updates faster when Google changes APIs, and the guided setup prevents the field mapping errors that break 40% of Make scenarios.

HubSpot's engagement API creates duplicates if you send the same email multiple times - there's no built-in deduplication. Gmail's 'Message-ID' header stays consistent, but Zapier doesn't expose it in the standard trigger, so you'll get duplicate timeline entries for forwarded emails. The API also strips HTML formatting from email bodies, so rich text emails appear as plain text in HubSpot timelines.

Ideas for what to build next

  • Add Deal Association LogicCreate a lookup step to associate emails with active deals based on contact relationships, not just contacts.
  • Set Up Email Response TrackingBuild a follow-up Zap that tracks when prospects reply to your emails and updates deal stages automatically.
  • Create Email Activity ReportsExport engagement data to Google Sheets for weekly email activity reporting and sales performance analysis.

Related guides

Was this guide helpful?
HubSpot + Gmail overviewZapier profile →