Intermediate~15 min setupProductivity & CRMVerified April 2026
Google Sheets logo
HubSpot logo

How to Export Deal Pipeline Daily with Power Automate

Export all active HubSpot deals to Google Sheets every morning with deal name, stage, value, and owner in a single automated workflow.

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

Best for

Sales teams who need daily pipeline reports without manual exports from HubSpot

Not ideal for

Teams needing real-time updates or complex deal stage change notifications

Sync type

scheduled

Use case type

reporting

Real-World Example

💡

A 12-person B2B sales team uses this to populate their weekly pipeline review spreadsheet automatically. Before automation, their sales ops manager spent 15 minutes every morning copying deals from HubSpot to Google Sheets. Now the sheet updates at 8 AM daily with current deal values and stages.

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

Skip the setup

Import this workflow directly into Power Automate

Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

HubSpot account with read access to deals and contact properties
Google account with edit access to the target spreadsheet
Microsoft Power Automate license (included with most Office 365 plans)
Target Google Sheet created with column headers in row 1

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Deal Namedealname
Deal Stagedealstage
Deal Amountamount
3 optional fields▸ show
Close Dateclosedate
Deal Ownerhubspot_owner_id
Company Nameassociatedcompanyid

Step-by-Step Setup

1

My flows > New flow > Scheduled cloud flow

Create scheduled flow

Navigate to make.powerautomate.com and click 'New flow' in the top left. Select 'Scheduled cloud flow' from the options. Name it 'Daily Deal Pipeline Export' and set the recurrence to daily at 8:00 AM. Choose your timezone from the dropdown.

  1. 1Click 'New flow' button
  2. 2Select 'Scheduled cloud flow'
  3. 3Enter 'Daily Deal Pipeline Export' as flow name
  4. 4Set recurrence to 'Day' with interval 1
  5. 5Set start time to 8:00 AM
What you should see: You should see a Recurrence trigger configured to run daily at 8 AM with your timezone displayed.
Common mistake — Don't set the recurrence interval below 1 hour or you'll hit HubSpot rate limits quickly.
2

Flow designer > New step > Search connectors

Add HubSpot connector

Click 'New step' below the recurrence trigger. Search for 'HubSpot' in the connector search bar and select it. Choose 'List deals' from the available actions. This will retrieve all deals from your HubSpot account.

  1. 1Click 'New step' button
  2. 2Type 'HubSpot' in the search box
  3. 3Select 'HubSpot' connector
  4. 4Choose 'List deals' action
What you should see: The HubSpot List deals action appears in your flow with authentication prompts.
Common mistake — The free HubSpot connector only returns 100 deals per call by default.
3

HubSpot action > Sign in

Configure HubSpot authentication

Click 'Sign in' to authenticate with your HubSpot account. You'll be redirected to HubSpot's OAuth screen. Grant permissions for contacts, deals, and companies. After successful authentication, you'll see your HubSpot account name displayed in the connector.

  1. 1Click 'Sign in to HubSpot'
  2. 2Enter your HubSpot credentials
  3. 3Click 'Grant access' for required scopes
  4. 4Verify connection shows your account name
What you should see: You should see 'Connected to [Your HubSpot Account]' with a green checkmark.
Common mistake — Make sure your HubSpot user has read permissions for deals and contact properties.
4

HubSpot List deals > Show advanced options > Filter

Filter for active deals only

In the HubSpot List deals action, click 'Show advanced options'. Set the Filter parameter to only retrieve open deals. Use the HubSpot property 'dealstage' and exclude 'closedwon' and 'closedlost' values. This prevents closed deals from cluttering your daily report.

  1. 1Click 'Show advanced options'
  2. 2Find the 'Filter' field
  3. 3Enter filter for open deals only
  4. 4Set maximum results to 500
What you should see: The filter field shows your dealstage criteria and max results is set to 500.
Common mistake — HubSpot's API returns deals in batches - increase the limit if you have more than 100 active deals.
Google Sheets
GO
trigger
filter
Deal Stage
≠ "Closed"
yes — passes through
no — skipped
HubSpot
HU
notified
5

Flow designer > New step > Google Sheets > Clear a range of cells

Add Google Sheets connector

Click 'New step' after the HubSpot action. Search for 'Google Sheets' and select the connector. Choose 'Clear a range of cells' first - this will clear yesterday's data before adding new rows. Select your target spreadsheet and specify the range A2:E1000 to clear data while preserving headers.

  1. 1Click 'New step'
  2. 2Search for 'Google Sheets'
  3. 3Select 'Clear a range of cells' action
  4. 4Choose your target spreadsheet
  5. 5Set range to A2:E1000
What you should see: Google Sheets clear action is configured with your spreadsheet selected and range specified.
Common mistake — Don't include row 1 in the clear range or you'll delete your column headers.
6

Google Sheets action > Sign in

Authenticate Google Sheets

Click 'Sign in' for the Google Sheets connector. Authenticate with your Google account that has access to the target spreadsheet. Grant permissions for Google Sheets read and write access. Verify the connection shows your Google account email address.

  1. 1Click 'Sign in to Google Sheets'
  2. 2Select your Google account
  3. 3Grant Sheets read/write permissions
  4. 4Confirm connection success
What you should see: Connection displays 'Connected to [[email protected]]' with a green indicator.
7

Flow designer > New step > Google Sheets > Add a row

Add rows to spreadsheet

Add another Google Sheets step by clicking 'New step'. This time select 'Add a row' action. Choose the same spreadsheet and worksheet. You'll need to map HubSpot deal fields to your sheet columns: Deal Name, Stage, Amount, Close Date, and Owner.

  1. 1Click 'New step' after the clear action
  2. 2Search 'Google Sheets' again
  3. 3Select 'Add a row' action
  4. 4Choose the same spreadsheet and worksheet
What you should see: The Add a row action shows column mappings for your spreadsheet with dynamic content options available.
Common mistake — This step will automatically loop through all deals returned by HubSpot - don't add a separate Apply to each control.
8

Google Sheets Add a row > Column mappings

Map deal fields to columns

Click in each column field and select the corresponding HubSpot data from the dynamic content panel. Map dealname to Column A, dealstage to Column B, amount to Column C, closedate to Column D, and hubspot_owner_id to Column E. The dynamic content appears automatically from the previous HubSpot step.

  1. 1Click in the first column field
  2. 2Select 'dealname' from dynamic content
  3. 3Map remaining columns to dealstage, amount, closedate, hubspot_owner_id
  4. 4Verify all mappings show HubSpot field names
What you should see: All five columns show mapped HubSpot properties with dynamic content tags visible.
Common mistake — hubspot_owner_id returns a number - you'll need to create a lookup table in your sheet to convert IDs to names.
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
9

Flow toolbar > Test > Run flow

Test the flow

Click 'Save' in the top right to save your flow. Then click 'Test' and select 'I'll perform the trigger action'. Since this is a scheduled flow, click 'Run flow' to test it immediately. Monitor the run history to see if deals are successfully exported to your Google Sheet.

  1. 1Click 'Save' button
  2. 2Click 'Test' in the toolbar
  3. 3Select 'I'll perform the trigger action'
  4. 4Click 'Run flow' to test immediately
What you should see: The test run completes successfully and your Google Sheet contains current HubSpot deal data.
Common mistake — Test runs count against your monthly flow execution limits in Power Automate.
Power Automate
▶ Test flow
executed
Google Sheets
HubSpot
HubSpot
🔔 notification
received
10

Flow details > Turn on

Enable the flow

After successful testing, turn on your flow by clicking the toggle switch in the flow details page. The flow will now run automatically every morning at 8 AM. Check the run history after the first scheduled execution to confirm it's working correctly.

  1. 1Navigate to flow details page
  2. 2Click the toggle to turn on the flow
  3. 3Verify status shows 'On'
  4. 4Check run history after first scheduled run
What you should see: Flow status shows 'On' and the next scheduled run time is displayed.

Add this expression in the Owner column mapping to convert HubSpot owner IDs to readable names using a lookup table in your spreadsheet. Paste this in the dynamic content expression editor.

JavaScript — Code Stepif(
▸ Show code
if(
  equals(outputs('List_deals')?['hubspot_owner_id'], 12345),
  'Sarah Johnson',

... expand to see full code

if(
  equals(outputs('List_deals')?['hubspot_owner_id'], 12345),
  'Sarah Johnson',
  if(
    equals(outputs('List_deals')?['hubspot_owner_id'], 67890),
    'Mike Chen',
    concat('Owner ID: ', string(outputs('List_deals')?['hubspot_owner_id']))
  )
)

Scaling Beyond 500+ active deals+ Records

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

1

Enable pagination in HubSpot connector

Use the 'after' parameter in advanced options to retrieve deals in batches. Set up multiple flow runs with different pagination tokens.

2

Split by deal stage

Create separate flows for different pipeline stages to avoid hitting the 500-record limit. This also makes debugging easier.

3

Use incremental exports

Filter deals by last modified date to only export recently changed deals instead of the full pipeline daily.

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 n8n for this workflow

Use Microsoft Power Automate for this if you're already in the Microsoft ecosystem and need basic deal reporting without complex transformations. The HubSpot connector handles authentication smoothly and the scheduled triggers are reliable for daily exports. Skip Power Automate if you need real-time updates - go with n8n or Make for webhook-based triggers instead.

Cost

This workflow costs nothing if you're under 750 monthly runs (each deal export counts as one run). At 200 deals daily, you'll use about 6,000 runs monthly, pushing you to the paid tier at $15/month. Make handles the same volume for free, while Zapier charges $20+ for this task volume.

Tradeoffs

Make beats Power Automate with better error handling and visual debugging - you can see exactly which deal failed and why. Zapier offers more HubSpot trigger options including real-time deal stage changes. n8n gives you unlimited deal volume and complex field transformations that Power Automate can't match. But Power Automate wins on simplicity - the flow builder is intuitive and authentication rarely breaks.

You'll hit HubSpot's rate limits faster than expected when testing - their API throttles aggressively with bulk requests. The owner ID issue is annoying since Power Automate doesn't include HubSpot's user lookup actions like Make does. Also, Google Sheets formatting gets messy with large datasets - numbers lose currency formatting and dates appear as timestamps.

Ideas for what to build next

  • Add deal source trackingInclude lead source and first touch attribution fields to analyze which marketing channels generate the highest value deals.
  • Create stage change notificationsBuild a separate flow that sends Slack or email alerts when deals move between pipeline stages.
  • Add closed deal archivingModify the filter to export closed deals to a separate 'Archive' worksheet for historical reporting.

Related guides

Was this guide helpful?
Google Sheets + HubSpot overviewPower Automate profile →