Skip to main content

Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets

Workflow preview

Workflow preview
100%
Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow receives new HubSpot contact webhooks, fetches full contact details, maps lifecycle stages to Klaviyo lists, creates/updates the Klaviyo profile, adds it to the right l...

Best for

  • CRM automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.code, n8n-nodes-base.httprequest, n8n-nodes-base.slack, n8n-nodes-base.googlesheets

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets
Workflow name
Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets

Quick overview

This workflow receives new HubSpot contact webhooks, fetches full contact details, maps lifecycle stages to Klaviyo lists, creates/updates the Klaviyo profile, adds it to the right list, then notifies Slack and logs the sync to Google Sheets.

How it works

  1. Receives a webhook request from HubSpot when a new contact is created.
  2. Extracts the HubSpot contact ID and loads sync settings (HubSpot access token, Klaviyo API key, and lifecycle-stage-to-list mappings).
  3. Fetches the full contact record from the HubSpot CRM API with key properties like email, name, company, phone, and lifecycle stage.
  4. Maps the contact’s HubSpot lifecycle stage to a target Klaviyo list ID and prepares the profile fields to sync.
  5. Creates the contact profile in Klaviyo via the Profiles API and then adds the profile to the mapped Klaviyo list.
  6. Posts a confirmation message to a Slack channel and appends a sync log row to a Google Sheets worksheet.

Setup

  1. Create a HubSpot Private App with access to read contacts and add its access token in the workflow’s settings code.
  2. Create a Klaviyo Private API key, paste it into the workflow’s settings code, and fill in the Klaviyo list IDs for each lifecycle stage you want to route.
  3. Copy the n8n webhook URL and configure HubSpot to send a “contact created” webhook event to that endpoint.
  4. Connect Slack credentials and set the destination channel (or disable the Slack step if you don’t need notifications).
  5. Connect Google Sheets credentials, set your target spreadsheet ID, and ensure the “Klaviyo Sync Log” sheet exists with columns matching the logged fields.

Customization

  • No customizations needed beyond the standard setup. The only node users need to edit is Configure Mapping and Settings, where they add their HubSpot Private App token, Klaviyo API key, and paste in their four Klaviyo list IDs for Lead, MQL, SQL, and Customer stages. The lifecycle stage mapping works automatically for all standard HubSpot stages. Users with custom pipeline stages can add additional mappings to the list map in that same node without touching anything else

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 Note

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 - Receive HubSpot Contact

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

Block 7 - Configure Mapping and Settings

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

Block 8 - Fetch Full HubSpot Contact

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Map to Klaviyo List

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

Block 10 - Create Klaviyo Profile

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 11 - Add to Klaviyo List

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 12 - Notify Sync Complete

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

Block 13 - Log Sync to Sheets

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

3. Summary Table

Workflow Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets
Complexity intermediate
Nodes 13
Categories CRM
Author Akshay Chug
Published 25 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15940/15940.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 Sync HubSpot contacts to Klaviyo and log activity to Slack and Google Sheets do?

Quick overview This workflow receives new HubSpot contact webhooks, fetches full contact details, maps lifecycle stages to Klaviyo lists, creates/updates the Klaviyo profile, adds it to the right l...

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 CRM use case.