

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
scheduledUse case type
exportReal-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.
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Deal Name | dealname | |
| Deal Stage | dealstage | |
| Amount | amount | |
| HubSpot Owner | hubspot_owner_id | |
2 optional fieldsβΈ show
| Close Date | closedate |
| Deal Type | dealtype |
Step-by-Step Setup
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.
- 1Click 'Create Zap' from your Zapier dashboard
- 2Search for 'Schedule by Zapier' in the trigger app list
- 3Select 'Every Day' as your trigger event
- 4Choose your preferred time (recommend 8 AM for morning exports)
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.
- 1Click the '+' button to add a new action step
- 2Search for and select 'HubSpot' from the apps list
- 3Choose 'Find Deal' as your action event
- 4Click 'Sign in to HubSpot' and authorize Zapier access
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.
- 1In the 'Search Term' field, leave blank to find all deals
- 2Set 'Deal Stage' filter to exclude 'Closed Won' and 'Closed Lost'
- 3Set 'Limit' to 100 (maximum per search)
- 4Click 'Test Step' to verify it finds your active deals
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.
- 1Click '+' to add another action step
- 2Search for 'Looping by Zapier'
- 3Select 'Create Loop from Line Items'
- 4Map the 'Line Items' field to the HubSpot deals results
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.
- 1Add a new action step and select 'Google Sheets'
- 2Choose 'Create Spreadsheet Row' as the action
- 3Sign in to your Google account when prompted
- 4Select your target spreadsheet from the dropdown list
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.
- 1Select your worksheet from the 'Worksheet' dropdown
- 2Verify the sheet has headers: Deal Name, Stage, Value, Owner
- 3Note the column order for proper field mapping
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.
- 1Click the 'Deal Name' field dropdown
- 2Select 'Deal Name' from the HubSpot deal data
- 3Verify the mapping shows the correct field path
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.
- 1Click the 'Stage' field dropdown
- 2Select 'Deal Stage' from the HubSpot deal data
- 3Check that stages match your pipeline names
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.
- 1Click the 'Value' field dropdown
- 2Select 'Amount' from the HubSpot deal data
- 3Verify the currency format matches your sheet
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.
- 1Click the 'Owner' field dropdown
- 2Select 'HubSpot Owner' from the deal data
- 3Confirm it shows the actual person's name
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.
- 1Click 'Test Step' on the Google Sheets action
- 2Check your spreadsheet for new rows with actual deal data
- 3Verify all four columns populated correctly
- 4Confirm the data matches what you see in HubSpot
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.
- 1Click 'Publish Zap' in the top right corner
- 2Give your Zap a descriptive name like 'Daily Pipeline Export'
- 3Confirm the schedule shows your chosen daily time
- 4Monitor the first few runs to ensure stability
Scaling Beyond 100+ active deals+ Records
If your volume exceeds 100+ active deals records, apply these adjustments.
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.
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.
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
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.
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.
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
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup