Beginner~8 min setupProductivity & CRMVerified April 2026
Google Sheets logo
HubSpot logo

How to Export HubSpot Deal Pipeline to Google Sheets with Zapier

Automatically export all active HubSpot deals to a Google Sheet every morning with deal name, stage, value, and owner.

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

Best for

Sales teams needing daily pipeline visibility without manual HubSpot checking.

Not ideal for

Teams with 200+ active deals or complex deal scoring calculations.

Sync type

scheduled

Use case type

export

Real-World Example

πŸ’‘

A 12-person B2B software sales team uses this to review pipeline health every morning in their standup. Before automation, the sales manager manually pulled deal reports from HubSpot 3x per week, missing stage changes and stalled deals. Now the Google Sheet updates automatically at 7 AM, giving everyone current deal statuses before the 8 AM sales meeting.

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.

HubSpot account with active deals in your pipeline
Google Sheets spreadsheet with headers: Deal Name, Stage, Value, Owner
Admin access to both HubSpot and Google Sheets
Zapier account (free tier works for basic volume)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Deal Namedealname
Deal Stagedealstage
Amountamount
HubSpot Ownerhubspot_owner_id
2 optional fieldsβ–Έ show
Close Dateclosedate
Deal Typedealtype

Step-by-Step Setup

1

Dashboard > Create Zap > Trigger

Create new Zap with Schedule trigger

Set up a daily trigger to run your export at a specific time. This starts the automation process every morning without manual intervention.

  1. 1Click 'Create Zap' from your Zapier dashboard
  2. 2Search for 'Schedule by Zapier' in the trigger app list
  3. 3Select 'Every Day' as your trigger event
  4. 4Choose your preferred time (recommend 8 AM for morning exports)
βœ“ What you should see: You should see a Schedule trigger configured with your chosen daily time.
⚠
Common mistake β€” Confirm your workflow timezone matches your business timezone β€” n8n uses the instance timezone by default. Also verify the workflow is saved and set to Active, since Schedule Triggers won't fire on inactive workflows.
Zapier
+
click +
search apps
Google Sheets
GO
Google Sheets
Create new Zap with Schedule…
Google Sheets
GO
module added
2

Zap Editor > Step 2 > HubSpot Connection

Connect HubSpot account

Authenticate your HubSpot account to access deal data. Zapier needs read permissions for contacts, deals, and companies.

  1. 1Click the '+' button to add a new action step
  2. 2Search for and select 'HubSpot' from the apps list
  3. 3Choose 'Find Deal' as your action event
  4. 4Click 'Sign in to HubSpot' and authorize Zapier access
βœ“ What you should see: Green checkmark appears next to HubSpot with your account name displayed.
⚠
Common mistake β€” Make sure you're logged into the correct HubSpot account before connecting - switching later requires rebuilding the entire step.
Zapier settings
Connection
Choose a connection…Add
click Add
Google Sheets
Log in to authorize
Authorize Zapier
popup window
βœ“
Connected
green checkmark
3

HubSpot Action > Find Deal Configuration

Configure deal search parameters

Set up filters to find only active deals in your pipeline. This prevents closed deals from cluttering your daily export.

  1. 1In the 'Search Term' field, leave blank to find all deals
  2. 2Set 'Deal Stage' filter to exclude 'Closed Won' and 'Closed Lost'
  3. 3Set 'Limit' to 100 (maximum per search)
  4. 4Click 'Test Step' to verify it finds your active deals
βœ“ What you should see: Test shows sample active deals with all the fields you need for export.
⚠
Common mistake β€” HubSpot's search returns maximum 100 deals per query - if you have more active deals, you'll need multiple Zaps or a webhook approach.
4

Zap Editor > Step 3 > Looping by Zapier

Add Looping by Zapier

Since HubSpot returns multiple deals, use Zapier's built-in looping to process each deal individually. This creates one row per deal in your sheet.

  1. 1Click '+' to add another action step
  2. 2Search for 'Looping by Zapier'
  3. 3Select 'Create Loop from Line Items'
  4. 4Map the 'Line Items' field to the HubSpot deals results
βœ“ What you should see: Loop step shows it will iterate through each deal from the HubSpot search.
5

Zap Editor > Step 4 > Google Sheets Connection

Connect Google Sheets

Authenticate your Google account and select the specific spreadsheet for your deal export. This determines where your daily data lands.

  1. 1Add a new action step and select 'Google Sheets'
  2. 2Choose 'Create Spreadsheet Row' as the action
  3. 3Sign in to your Google account when prompted
  4. 4Select your target spreadsheet from the dropdown list
βœ“ What you should see: Google Sheets shows connected with your chosen spreadsheet selected.
⚠
Common mistake β€” Create your spreadsheet with headers first - Zapier won't auto-create column headers for you.
6

Google Sheets Action > Worksheet Selection

Select target worksheet

Choose which tab in your spreadsheet receives the deal data. Most users create a dedicated 'Daily Pipeline' tab for this export.

  1. 1Select your worksheet from the 'Worksheet' dropdown
  2. 2Verify the sheet has headers: Deal Name, Stage, Value, Owner
  3. 3Note the column order for proper field mapping
βœ“ What you should see: Worksheet dropdown shows your selected tab, and Zapier displays the existing column headers.
⚠
Common mistake β€” If you change the header row after setup, you'll need to refresh the Zapier step to see the new columns.
7

Google Sheets Action > Field Mapping

Map deal name field

Connect the HubSpot deal name to your spreadsheet column. This populates the first column with actual deal names from your CRM.

  1. 1Click the 'Deal Name' field dropdown
  2. 2Select 'Deal Name' from the HubSpot deal data
  3. 3Verify the mapping shows the correct field path
βœ“ What you should see: Deal Name field shows mapped to HubSpot's deal name with a sample value displayed.
Google Sheets fields
Column A
Column B
Email
Status
Notes
available as variables:
1.props.Column A
1.props.Column B
1.props.Email
1.props.Status
1.props.Notes
8

Google Sheets Action > Stage Field

Map deal stage field

Connect the current pipeline stage to track where each deal sits. This gives you the snapshot view you need for morning reviews.

  1. 1Click the 'Stage' field dropdown
  2. 2Select 'Deal Stage' from the HubSpot deal data
  3. 3Check that stages match your pipeline names
βœ“ What you should see: Stage field shows mapped with a sample stage name like 'Qualified Lead' or 'Proposal Sent'.
⚠
Common mistake β€” HubSpot sends the stage label, not the internal ID - make sure your sheet expects text values like 'Negotiation', not numbers.
9

Google Sheets Action > Value Field

Map deal value field

Connect the deal amount to track pipeline value. This number drives your revenue forecasting and morning pipeline reviews.

  1. 1Click the 'Value' field dropdown
  2. 2Select 'Amount' from the HubSpot deal data
  3. 3Verify the currency format matches your sheet
βœ“ What you should see: Value field shows mapped with a sample amount like '5000' or '$5,000'.
⚠
Common mistake β€” HubSpot returns raw numbers without currency symbols - format your Google Sheets column as currency to display properly.
10

Google Sheets Action > Owner Field

Map deal owner field

Connect the assigned salesperson to track deal ownership. This identifies who's responsible for each opportunity in your export.

  1. 1Click the 'Owner' field dropdown
  2. 2Select 'HubSpot Owner' from the deal data
  3. 3Confirm it shows the actual person's name
βœ“ What you should see: Owner field shows mapped with a sample owner name like 'John Smith'.
11

Google Sheets Action > Test Results

Test the complete workflow

Run a full test to verify data flows correctly from HubSpot to your sheet. This catches mapping errors before going live.

  1. 1Click 'Test Step' on the Google Sheets action
  2. 2Check your spreadsheet for new rows with actual deal data
  3. 3Verify all four columns populated correctly
  4. 4Confirm the data matches what you see in HubSpot
βœ“ What you should see: New rows appear in your Google Sheet with real deal data in all mapped columns.
⚠
Common mistake β€” Test data gets added to your live spreadsheet - delete test rows before publishing your Zap.
Zapier
β–Ά Turn on & test
executed
βœ“
Google Sheets
βœ“
HubSpot
HubSpot
πŸ”” notification
received
12

Zap Editor > Publish

Turn on the Zap

Activate your automation to start daily exports. Once live, your sheet updates every morning with fresh pipeline data.

  1. 1Click 'Publish Zap' in the top right corner
  2. 2Give your Zap a descriptive name like 'Daily Pipeline Export'
  3. 3Confirm the schedule shows your chosen daily time
  4. 4Monitor the first few runs to ensure stability
βœ“ What you should see: Zap shows 'On' status with your daily schedule confirmed.
⚠
Common mistake β€” The first run happens at your next scheduled time - it won't trigger immediately after publishing.

Scaling Beyond 100+ active deals+ Records

If your volume exceeds 100+ active deals records, apply these adjustments.

1

Split by deal stage

Create separate Zaps for different pipeline stages to stay under the 100-deal API limit. Run them at staggered times to avoid rate limiting.

2

Use Zapier's Digest feature

Instead of individual rows, collect all deals into a single daily digest email or Slack message. This dramatically reduces task consumption.

3

Switch to webhook triggers

Replace the daily schedule with HubSpot deal property change webhooks. You'll get real-time updates instead of daily snapshots and better API rate limit handling.

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 your team needs a daily pipeline snapshot without touching code. The schedule trigger runs reliably every morning, and the no-code interface lets non-technical team members modify filters or add columns. HubSpot's API integration works smoothly through Zapier's native connector. Pick Make instead if you're exporting 300+ active deals daily - its bulk operations handle large datasets better than Zapier's looping approach.

Cost

This workflow burns 3-5 tasks per deal exported. With 50 active deals, that's 250 tasks monthly, fitting Zapier's Starter plan at $19.99/month. At 150 deals, you'll hit 750 tasks and need the Professional plan at $49/month. Make would cost $9/month for the same volume through its operations-based pricing. N8n runs free self-hosted but requires server maintenance.

Tradeoffs

Make handles high-volume exports better with its bulk HubSpot operations - you can grab 500+ deals in one API call instead of looping. N8n gives you more control over the Google Sheets formatting with custom JavaScript functions for currency symbols and date formatting. But Zapier wins on reliability - its HubSpot integration rarely breaks, while Make's connector occasionally drops custom properties during updates.

Google Sheets hits a 40,000 character limit per cell, so deals with massive note fields will truncate. HubSpot's API sometimes returns deal owners as user IDs instead of names if the owner was recently deleted. Your export runs at the exact scheduled time, but if HubSpot is down for maintenance, the entire run fails with no retry. Set up error notifications so you know when morning exports don't complete.

Ideas for what to build next

  • β†’
    Add deal age calculation β€” Use Google Sheets formulas to calculate days since deal creation for stale deal identification.
  • β†’
    Create Slack notifications for big deals β€” Set up a separate Zap that posts to Slack when deals over $10K move to negotiation stage.
  • β†’
    Build a pipeline velocity tracker β€” Export historical deal stage changes to analyze how long deals spend in each pipeline stage.

Related guides

Was this guide helpful?
← Google Sheets + HubSpot overviewZapier profile β†’