AutomationFlowsEmail & Gmail › Lemlist Unsubscribe to HubSpot Deal

Lemlist Unsubscribe to HubSpot Deal

Original n8n title: Lemlist Slack (lemlist)

Lemlist Slack. Uses lemlist, hubspot, httpRequest, slack. Event-driven trigger; 12 nodes.

Event trigger★★★★☆ complexityAI-powered12 nodesLemlistHubSpotHTTP RequestSlackLemlist TriggerOpenAI
Email & Gmail Trigger: Event Nodes: 12 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the HTTP Request → HubSpot recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "44b2e0ac-1ec9-4acd-bf00-7e280378b8df",
      "name": "Lemlist - Unsubscribe",
      "type": "n8n-nodes-base.lemlist",
      "position": [
        1300,
        -180
      ],
      "parameters": {
        "email": "={{ $json[\"leadEmail\"] }}",
        "resource": "lead",
        "operation": "unsubscribe",
        "campaignId": "={{$json[\"campaignId\"]}}"
      },
      "credentials": {
        "lemlistApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "75dd6db8-5e59-4521-a4be-2272e2914494",
      "name": "follow up task",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1520,
        640
      ],
      "parameters": {
        "type": "task",
        "metadata": {
          "subject": "=OOO - Follow up with {{ $json[\"properties\"][\"firstname\"][\"value\"] }} {{ $json[\"properties\"][\"lastname\"][\"value\"] }}"
        },
        "resource": "engagement",
        "authentication": "oAuth2",
        "additionalFields": {
          "associations": {
            "contactIds": "={{ $json[\"vid\"] }}"
          }
        }
      },
      "credentials": {
        "hubspotOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0ba95d5d-fe73-4687-8e21-02b97b19924f",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        380,
        300
      ],
      "parameters": {
        "rules": {
          "rules": [
            {
              "value2": "Unsubscribe"
            },
            {
              "output": 1,
              "value2": "Interested"
            },
            {
              "output": 2,
              "value2": "Out of Office"
            }
          ]
        },
        "value1": "={{ $json[\"text\"].trim() }}",
        "dataType": "string",
        "fallbackOutput": 3
      },
      "typeVersion": 1
    },
    {
      "id": "abdb4925-4b2a-48e0-aa3d-042e1112150a",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        140,
        300
      ],
      "parameters": {
        "mode": "combine",
        "options": {
          "clashHandling": {
            "values": {
              "resolveClash": "preferInput1"
            }
          }
        },
        "combinationMode": "mergeByPosition"
      },
      "typeVersion": 2
    },
    {
      "id": "b911bd29-9141-43ac-87d4-3922be5cbe5c",
      "name": "lemlist - Mark as interested",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1300,
        160
      ],
      "parameters": {
        "url": "=https://api.lemlist.com/api/campaigns/YOUR_CAMPAIGN_ID/leads/{{$json[\"leadEmail\"]}}/interested",
        "options": {},
        "requestMethod": "POST",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "lemlistApi"
      },
      "credentials": {
        "lemlistApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "510adb64-fb3a-4d56-abf3-ab9cc0d3e683",
      "name": "HubSpot - Create Deal",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1520,
        380
      ],
      "parameters": {
        "stage": "79009480",
        "authentication": "oAuth2",
        "additionalFields": {
          "dealName": "=New Deal with {{ $json[\"identity-profiles\"][0][\"identities\"][0][\"value\"] }}",
          "associatedVids": "={{$json[\"canonical-vid\"]}}"
        }
      },
      "credentials": {
        "hubspotOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "635e40a2-0546-4c3e-8080-26d72fc5ea35",
      "name": "HubSpot - Get contact ID",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1300,
        380
      ],
      "parameters": {
        "email": "={{ $json[\"leadEmail\"] }}",
        "resource": "contact",
        "authentication": "oAuth2",
        "additionalFields": {
          "lastName": "={{ $json[\"leadLastName\"] }}",
          "firstName": "={{ $json[\"leadFirstName\"] }}"
        }
      },
      "credentials": {
        "hubspotOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a072f9bb-09ca-4edb-b4ae-76c768be681f",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1740,
        380
      ],
      "parameters": {
        "text": "=Hello a new lead is interested. \n\nMore info in Hubspot here: \nhttps://app-eu1.hubspot.com/contacts/25897606/deal/{{$json[\"dealId\"]}}",
        "channel": "Your channel name",
        "attachments": [],
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "db18ac14-8e18-4d86-853d-19590a09b7cc",
      "name": "HubSpot - Get contact ID1",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1300,
        640
      ],
      "parameters": {
        "email": "={{ $json[\"leadEmail\"] }}",
        "resource": "contact",
        "authentication": "oAuth2",
        "additionalFields": {
          "lastName": "={{ $json[\"leadLastName\"] }}",
          "firstName": "={{ $json[\"leadFirstName\"] }}"
        }
      },
      "credentials": {
        "hubspotOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9153abd0-4606-423c-8e9b-7cdcf7a9c490",
      "name": "Slack1",
      "type": "n8n-nodes-base.slack",
      "position": [
        1300,
        900
      ],
      "parameters": {
        "text": "=Hello a lead replied to your emails. \n\nMore info in lemlist here: \nhttps://app.lemlist.com/teams/{{$json[\"teamId\"]}}/reports/campaigns/{{$json[\"campaignId\"]}}",
        "channel": "Your channel name",
        "attachments": [],
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "42b93264-df66-4528-ab02-c038ea0d8758",
      "name": "Lemlist - Lead Replied",
      "type": "n8n-nodes-base.lemlistTrigger",
      "position": [
        -520,
        320
      ],
      "parameters": {
        "event": "emailsReplied",
        "options": {
          "isFirst": true
        }
      },
      "credentials": {
        "lemlistApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c3b52828-e6d6-41a0-b9ca-101cec379dbf",
      "name": "OpenAI",
      "type": "n8n-nodes-base.openAi",
      "position": [
        -240,
        140
      ],
      "parameters": {
        "prompt": "=The following is a list of emails and the categories they fall into:\nCategories=[\"interested\", \"Out of office\", \"unsubscribe\", \"other\"]\n\nInterested is when the reply is positive.\"\n\n{{$json[\"text\"].replaceAll(/^\\s+|\\s+$/g, '').replace(/(\\r\\n|\\n|\\r)/gm, \"\")}}\\\"\nCategory:",
        "options": {
          "topP": 1,
          "maxTokens": 6,
          "temperature": 0
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Lemlist - Unsubscribe",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "lemlist - Mark as interested",
            "type": "main",
            "index": 0
          },
          {
            "node": "HubSpot - Get contact ID",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "HubSpot - Get contact ID1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Slack1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot - Create Deal": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lemlist - Lead Replied": {
      "main": [
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "HubSpot - Get contact ID": {
      "main": [
        [
          {
            "node": "HubSpot - Create Deal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot - Get contact ID1": {
      "main": [
        [
          {
            "node": "follow up task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

This workflow streamlines lead management by automatically handling unsubscribes from Lemlist campaigns, creating follow-up tasks in HubSpot, and notifying your team via Slack for quick responses. It's ideal for sales and marketing teams juggling email outreach and CRM updates, saving hours on manual data syncing and ensuring no lead slips through the cracks. The key step involves a smart switch that routes interested prospects to deal creation in HubSpot while merging unsubscribe data to prevent future spam, with OpenAI enhancing response personalisation where needed.

Use this when running high-volume Lemlist sequences tied to HubSpot for nurture campaigns, especially if your team relies on Slack for real-time alerts. Avoid it for one-off emails or if you lack API access to these tools, as it demands event-driven triggers for efficiency. Common variations include adding custom HTTP requests for third-party enrichments or skipping AI nodes for simpler, faster runs.

About this workflow

Lemlist Slack. Uses lemlist, hubspot, httpRequest, slack. Event-driven trigger; 12 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Classify Lemlist Replies Using Openai And Automate Reply Handling. Uses markdown, lemlistTrigger, stickyNote, lmChatOpenAi. Event-driven trigger; 18 nodes.

Lemlist Trigger, OpenAI Chat, Output Parser Structured +4
Email & Gmail

Lemlist Slack. Uses markdown, lemlistTrigger, stickyNote, lmChatOpenAi. Event-driven trigger; 18 nodes.

Lemlist Trigger, OpenAI Chat, Output Parser Structured +4
Email & Gmail

Webhook Dropcontact. Uses lemlist, hubspot, dropcontact, slack. Webhook trigger; 18 nodes.

Lemlist, HubSpot, Dropcontact +1
Email & Gmail

Hunter Form. Uses stickyNote, formTrigger, noOp, httpRequest. Event-driven trigger; 15 nodes.

Form Trigger, HTTP Request, Hunter +2
Email & Gmail

Deliver your product updates in a modern, accessible format. This workflow automatically transforms GitHub releases into podcast-style audio announcements and distributes them via email and Slack.

Github Trigger, Notion, OpenAI +5