Skip to main content

Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack

Workflow preview

Workflow preview
100%
Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow runs every weekday morning to find HubSpot deals with stale proposal activity, pulls the associated contact email, enforces opt out and follow up limits using Google Sh...

Best for

  • Lead Nurturing automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.hubspot, n8n-nodes-base.code, n8n-nodes-base.if, n8n-nodes-base.googlesheets, n8n-nodes-base.slack, n8n-nodes-base.gmail

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Avkash Kakdiya.

Original n8n.io source

1.1 Workflow description

Title
Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack
Workflow name
Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack

Quick Overview

This workflow runs every weekday morning to find HubSpot deals with stale proposal activity, pulls the associated contact email, enforces opt-out and follow-up limits using Google Sheets, sends a value-based follow-up via Gmail, updates the HubSpot deal stage, and notifies the sales team in Slack with error alerts.

How it works

  1. Runs on a weekday schedule at 9:00 AM.
  2. Pulls all HubSpot deals and filters to those with no activity in the last 3 days, extracting the associated contact ID and key deal fields.
  3. Fetches the associated HubSpot contact to get the prospect’s email and opt-out status, and skips contacts who are opted out or missing an email.
  4. Looks up the deal in a Google Sheets FollowUpLog to count prior “Follow-Up Email Sent” actions and stops processing if the deal has already reached 3 follow-ups.
  5. Alerts a Slack channel when the follow-up cap is reached so a salesperson can take manual action.
  6. Sends a follow-up email via Gmail using a high-value template for deals ≥ 5000 and a standard template otherwise, then updates the deal stage in HubSpot.
  7. Appends the follow-up action to Google Sheets and posts a Slack notification to the sales team, while sending a separate Slack alert if any step errors.

Setup

  1. Add HubSpot OAuth2 credentials and ensure deals have an associated contact with an email address.
  2. Add Google Sheets credentials, create a sheet/tab named “FollowUpLog” with columns like “Deal ID” and “Action”, and replace REPLACE_WITH_YOUR_SHEET_ID with your spreadsheet ID.
  3. Add Gmail credentials for the mailbox that sends the follow-up emails.
  4. Add Slack OAuth2 credentials and set the correct destination channels for the sales notifications, max-follow-up alerts, and error alerts.
  5. Update the HubSpot deal stage value (currently set to "decisionmakerboughtin") and the deal amount threshold (currently 5000) to match your pipeline rules.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 8 - Get Proposal-Stage Deals

Type / Role
n8n-nodes-base.hubspot - hubspot
Config choices
Version 2

Block 9 - Filter Stale Deals

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Get Contact Email

Type / Role
n8n-nodes-base.hubspot - hubspot
Config choices
Version 2

Block 11 - Merge Contact Data

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Opted Out or No Email?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 13 - Get Follow-Up Count

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 14 - Check Follow-Up Count

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - Max Follow-Ups Reached?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 16 - Alert — Max Follow-Ups Hit

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 17 - High-Value Deal?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 18 - Send High-Value Follow-Up

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 19 - Send Standard Follow-Up

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 20 - Update Deal Stage

Type / Role
n8n-nodes-base.hubspot - hubspot
Config choices
Version 2

Block 21 - Log to Google Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 22 - Notify Sales Team

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 23 - Capture Error Details

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 24 - Send Error Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

3. Summary Table

Workflow Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack
Complexity advanced
Nodes 24
Categories Lead Nurturing
Author Avkash Kakdiya
Published 28 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16001/16001.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Send proposal follow-ups and update deals with HubSpot, Gmail, Sheets and Slack do?

Quick Overview This workflow runs every weekday morning to find HubSpot deals with stale proposal activity, pulls the associated contact email, enforces opt out and follow up limits using Google Sh...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Nurturing use case.