Oct 25, 2025

Automated HubSpot Follow-Up Workflow (n8n + Gmail)

Automated HubSpot Follow-Up Workflow with n8n and Gmail Following up at the right time can dramatically increase reply rates and move deals forward. This guide walks through an end-to-end n8n workflow that searches HubSpot contacts, filters those who haven’t been contacted recently, checks previous engagements, sends a personalized Gmail outreach, and records the engagement back […]

Automated HubSpot Follow-Up Workflow (n8n + Gmail)

Automated HubSpot Follow-Up Workflow with n8n and Gmail

Following up at the right time can dramatically increase reply rates and move deals forward. This guide walks through an end-to-end n8n workflow that searches HubSpot contacts, filters those who haven’t been contacted recently, checks previous engagements, sends a personalized Gmail outreach, and records the engagement back in HubSpot — with Slack notifications for your team.

Why automate follow-ups?

Manual follow-ups are easy to miss and hard to scale. An automated workflow ensures consistent timing, avoids duplicate outreach, and keeps your CRM accurate by logging every outreach. Using n8n with HubSpot and Gmail gives you flexibility and control over filtering logic, message templates, and integrations.

Overview of the workflow

The workflow follows these steps:

  • Daily trigger (runs at 9 AM)
  • Search HubSpot contacts with a known last-contacted date
  • Sort by last contact and filter contacts last contacted more than 30 days ago
  • Fetch a contact’s previous engagements and only continue if there’s exactly one prior outreach (preventing first-time outreach)
  • Compose a personalized email payload
  • Send the email via Gmail
  • Record the engagement back in HubSpot (so the contact won’t show up again for a month)
  • Notify the sales channel in Slack

Key n8n nodes and configuration

1. Schedule Trigger

This node runs the workflow at the scheduled time — in the example it triggers every morning at 9 AM. Adjust timing to your timezone and team cadence.

2. Search HubSpot Contacts

Use the HubSpot node to search for contacts where the notes_last_contacted property exists. Important settings:

  • Authentication: HubSpot OAuth2 (make sure your OAuth scopes match exactly the n8n docs)
  • Sort By: notes_last_contacted, Direction: Ascending (oldest first)
  • Properties: Include firstname, lastname, email, and last contact date

3. Filter Contacts by Last Contact Date

Use an IF node that compares notes_last_contacted to the current date minus 30 days. Only contacts with a last contact date before that threshold proceed. This prevents contacting someone too soon.

4. Fetch Contact Engagements

Query HubSpot’s associations API to fetch a contact’s engagements. This is where you decide whether this is an appropriate follow-up (e.g., only follow up if there was exactly one prior outreach email).

5. Filter Single Engagement

Another IF node checks the number and type of engagements. In the sample workflow, the logic continues only when results.length === 1 — meaning one prior engagement — to avoid double outreach to first-time contacts or over-contacting active leads.

6. Compose Email Payload

Use a Set or Function node to build the email payload. Personalize the message using contact properties (e.g., firstname and previous context). Example template (plaintext):

Hey {{ $json.properties.firstname }},

Just want to follow up on my previous email since I haven’t heard back. Have you had a chance to consider n8n?

Cheers,
Your Name

7. Send Outreach Email (Gmail)

The Gmail node sends the message with the given subject and HTML/plaintext body. Recommended options:

  • Sender name and verified email
  • Disable appended attribution to keep your message clean
  • Rate-limit outgoing emails if you send large volumes to avoid deliverability issues

8. Record Engagement in HubSpot

After sending the email, record the engagement in HubSpot via the HubSpot engagement resource. Include metadata like subject, html, recipient, and association to the contact ID. This updates the contact’s last contact date and prevents re-selection until the timeframe you choose (in the example, one month).

9. Slack Notification

Notify your sales channel with a short summary such as “Follow up email sent to: contact@example.com”. This keeps the team informed and creates an audit trail.

Setup tips and gotchas

OAuth Scopes

HubSpot and Gmail both require OAuth configuration. Follow the n8n documentation carefully — scopes must be exact. Missing scopes cause errors when searching contacts or creating engagements.

Rate limits and deliverability

Respect API rate limits from HubSpot and Gmail. If you process large lists, add throttling or queue logic. For email deliverability, personalize messages, avoid spammy copy, and monitor bounce rates.

Testing strategy

  1. Test using a single staged contact (use a test HubSpot contact and a personal Gmail account).
  2. Verify the engagement is created and that notes_last_contacted updates in HubSpot.
  3. Check your Slack notifications and message formatting.

Advanced enhancements

  • Use additional engagement-type filters: skip follow-ups to contacts with recent calls or meetings.
  • Add A/B subject line testing by branching the workflow and capturing open/reply metrics.
  • Automatic unsubscription handling: check for a custom property before sending.
  • Backoff strategy: if a contact has repeated no-reply, flag for manual outreach instead of automated follow-up.

Security and privacy

Store OAuth credentials securely in n8n credentials manager and limit access. Make sure your outreach complies with local regulations (CAN-SPAM, GDPR). Always include an easy opt-out path in your emails.

Sample checklist before running in production

  • OAuth credentials validated for HubSpot and Gmail
  • Test contact verified
  • Rate-limiting and error handling added for large runs
  • Personalization tokens working properly
  • Team Slack channel configured

Conclusion & next steps

This n8n workflow provides a pragmatic, repeatable way to follow up with HubSpot contacts using Gmail while keeping your CRM up-to-date. It reduces manual work, improves timing consistency, and creates a clear audit trail via HubSpot engagements and Slack notifications.

Ready to implement? Clone the workflow into your n8n instance, validate OAuth scopes, test with a sample contact, and iterate on subject lines and message copy.

Call to action

Want a copy of this workflow or help customizing it for your team? Reach out to get a downloadable n8n workflow file, or subscribe for more automation recipes and best practices.


Keywords: n8n, HubSpot follow-up workflow, Gmail outreach, automated follow-up, sales automation.

Leave a Reply

Your email address will not be published. Required fields are marked *