Mindket

Sort lemlist replies with OpenAI and alert Slack

Newversion 1 · updated

Overview

An n8n workflow that sorts each new reply to your lemlist campaigns with OpenAI. It posts a Slack alert, unsubscribes leads who ask to stop, and marks interested leads in lemlist.

Sort lemlist replies with OpenAI and alert Slack is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there and switch it on
  • Your own n8n server: the same file and steps, with a public address for n8n
  • One campaign only: set Campaign ID on the trigger
  • Every reply: switch Is First off on the trigger

Platform

Connects 3 apps

How it works

Trigger

New lemlist reply

It starts when a lead replies to one of your lemlist campaigns for the first time:

  • A reply passed on by lemlist, with its text, campaign and lead details

Actions

  1. The HTML of the reply is turned into plain text
  2. An OpenAI model (gpt-6-luna) files the reply under Interested, Out of office, Unsubscribe, Not interested or Other
  3. Slack gets an alert with the category, campaign, sender, lead and a preview of the reply
  4. A reply filed under Unsubscribe unsubscribes the lead in lemlist
  5. A reply filed under Interested marks the lead as interested in lemlist

Result

A Slack alert for each first reply, plus the lead unsubscribed or marked as interested in lemlist when the category calls for it

Integrations

What you need before you start.

lemlist

Cold email outreach

Sends the reply to n8n, then unsubscribes or marks the lead.

NeedsA lemlist API key

OpenAI

Language model

Files each reply under one of five categories, on gpt-6-luna.

NeedsAn OpenAI API key

Slack

Team chat

Receives an alert for every reply.

NeedsA Slack credential and a channel

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
8 steps, starting on a Lemlist event
AI
1 step calls an AI model: Categorize lemlist reply
Sign-ins
Signs in to: Slack, lemlist and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 8 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow sorts each new reply to your lemlist campaigns. An OpenAI model puts the reply in one of five categories, and a Slack alert shows the category, the campaign and the lead. A reply that asks to stop unsubscribes the lead in lemlist, and an interested reply marks the lead as interested. Ten nodes do the work, beside eight sticky notes.

Who it suits

Sales and outreach teams who run cold email campaigns in lemlist and want replies sorted without reading each one. Skip it if you want the AI to write the answer, since this workflow only sorts and alerts.

Who uses it, and how
IndustryWho uses itHow they use itExample
SalesOutbound sales teamsSee every reply in Slack with its categoryA rep sees an Interested reply in Slack and answers it within minutes.
AgenciesLead generation agenciesKeep campaign lists cleanAn agency sees a lead who asked to stop unsubscribed with nobody touching it.
RecruitingRecruitersSpot candidates who want to talkA recruiter sees which replies are interested and which are out of office notes.
FoundersStartup foundersFollow replies without opening lemlistA founder reads the replies to a campaign from a phone in Slack.

You need a little n8n: import a file, add three credentials and choose a Slack channel.

Where to use it

Any n8n that can reach lemlist, OpenAI and Slack will run it. lemlist calls n8n when a reply arrives. So the workflow must be switched on, and n8n needs an address that lemlist can reach.

  • n8n Cloud: import the file into a new workflow there and switch it on
  • Your own n8n server: the same file and steps, with a public address for n8n
  • One campaign only: set Campaign ID on the trigger
  • Every reply: switch Is First off on the trigger

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The lemlist API key is in your lemlist settings under Integrations.

What you need first
NeedDetail
n8nOn n8n Cloud, or on a server whose address lemlist can reach
lemlistA lemlist account and an API key, for a lemlist credential
OpenAIAn API key, for an OpenAI credential
SlackA Slack credential and a channel for the alerts
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a lemlist credential with your API key and select it in Lemlist Trigger on new reply, Lemlist unsubscribe and Mark lead as interested.
  3. Add an OpenAI credential and select it in OpenAI Chat Model.
  4. Add a Slack credential, select it in Send alert to Slack and choose the channel.
  5. Switch the workflow on.
  6. Reply to a message from one of your campaigns to see the alert.

How to use it

Once it is on, the first reply of each lead to your campaigns shows up in Slack. The alert states the category, the campaign, the sender, the lead and a preview of the first 100 characters of the reply. Unsubscribe and interested replies also change the lead in lemlist.

What to change for a different result
To changeWhere
The categoriesThe list in the prompt of Categorize lemlist reply
Which categories actThe rules in Route reply to the right branch
The Slack channel and lookSend alert to Slack
Which campaignsCampaign ID in Lemlist Trigger on new reply
Every reply, not only the firstIs First in Lemlist Trigger on new reply
The modelModel in OpenAI Chat Model

Example

A lead replies to a campaign with a short message asking for a demo next week. The model files the reply under Interested.

Slack shows an alert with the category, a link to the campaign and the lead’s email, and lemlist marks the lead as interested. A reply that asked to stop receiving email would unsubscribe the lead instead.

For newcomers and experts

If you are new. A webhook is a way for one service to call another when something happens. Here lemlist calls n8n when a lead replies, and n8n does the rest. A Switch node sends an item down one route or several.

For experts. The Switch node runs every matching rule, so an interested reply goes both to Slack and to lemlist. Merge data joins the reply and the model’s answer by position, because both come from the same item.

Where to look closer
NodeWhat it doesWhat to know
Lemlist Trigger on new replylemlist Trigger 1, event for replied emails, Is First onIt registers a webhook with lemlist
Format text with MarkdownMarkdown 1, turns the HTML reply into text in textCleanIt continues if a reply fails to convert
Categorize lemlist replyBasic LLM Chain 1.4 with an output parserThe prompt lists five categories
Structured Output ParserStructured Output Parser 1.2, a manual schema with one text fieldThe field is category
Merge dataMerge 2.1, merge by positionIt joins the reply and the category
Route reply to the right branchSwitch 3 with three rules and all matching outputs onSlack gets every reply that has a category
Send alert to SlackSlack 2.1, posts blocks to a channelThe blocks are built from the lemlist data
Lemlist unsubscribelemlist 1, Lead, UnsubscribeIt uses the campaign id and the lead email
Mark lead as interestedHTTP Request 2, a POST to the lemlist APIIt uses the lemlist credential

Good to know

The original named a model that is being retired, and its prompt did not match its parser.

  • Models: OpenAI’s deprecations page, read on 12 November 2026, lists the gpt-4o snapshots as shutting down on 14 January 2027 with gpt-6-luna as the replacement, so Mindket’s copy uses gpt-6-luna
  • The prompt: the original asked the model for a field named replyStatus, while its output parser and its Switch read category. Mindket’s copy drops that line from the prompt, so the format given by the parser applies
  • Your own channel: the original posted to a channel of its author, so the channel picker is empty
  • lemlist API: lemlist’s developer documentation, read on 12 November 2026, calls its v1 API deprecated and gives no shutdown date. The pages for the two calls made here carry no deprecation note
  • Test first: unsubscribing and marking a lead as interested change real data in lemlist, so try a test campaign first
  • Only first replies: Is First is on, so a second reply from the same lead does not run the workflow
  • Every reply goes to Slack, out of office notes included
  • Your data: the reply text goes to OpenAI, and the reply preview and lead details go to Slack
  • Credentials: the JSON holds none, so add the lemlist, OpenAI and Slack credentials yourself

README and files

README

Sort lemlist replies with OpenAI and alert Slack

An n8n workflow that sorts each new reply to your lemlist campaigns. An OpenAI model puts the reply in one of five categories, and a
Slack alert shows what came in. Replies that ask to stop unsubscribe the lead, and interested replies are marked in lemlist.

What is inside

  • workflow.json: the workflow as n8n exports it, ten working nodes and eight sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The original named gpt-4o, a model that is being retired. Mindket's copy uses gpt-6-luna in OpenAI Chat Model. See Good to
    know.
  • The prompt in Categorize lemlist reply asked for a field named replyStatus, but the output parser and the Switch read
    category. The JSON line is gone from the prompt, so the parser's own format applies.
  • The Slack channel picker was the author's own channel, so it is empty now.
  • Three nodes lost the dash in their names: Lemlist Trigger on new reply, Lemlist unsubscribe and
    Mark lead as interested.
  • The Read me sticky note now describes the unsubscribe and interested steps too.

Before you start

  • An n8n instance on n8n Cloud, or on a server whose address lemlist can reach.
  • A lemlist account and an API key, found in the lemlist settings under Integrations.
  • An OpenAI API key.
  • A Slack credential and a channel for the alerts.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add a lemlist credential with your API key and select it in Lemlist Trigger on new reply, Lemlist unsubscribe and
    Mark lead as interested.
  3. Add an OpenAI credential and select it in OpenAI Chat Model.
  4. Add a Slack credential, select it in Send alert to Slack and choose the channel.
  5. Switch the workflow on.
  6. Reply to a message from one of your campaigns to see the alert.

How a run goes

  1. Lemlist Trigger on new reply starts when a lead replies for the first time.
  2. Format text with Markdown turns the HTML reply into plain text.
  3. Categorize lemlist reply asks the OpenAI model for one of five categories, and Structured Output Parser checks the answer.
  4. Merge data joins the reply and its category.
  5. Route reply to the right branch sends it to Slack, and also to lemlist when the category is Unsubscribe or Interested.
  6. Send alert to Slack posts the category, campaign, sender, lead and a preview of the reply.
  7. Lemlist unsubscribe unsubscribes the lead, and Mark lead as interested marks the lead as interested.

Change the look

  • The categories: the list in the prompt of Categorize lemlist reply.
  • Which categories act: the rules in Route reply to the right branch.
  • The Slack channel and look: Send alert to Slack.
  • Which campaigns: Campaign ID in Lemlist Trigger on new reply.
  • Every reply, not only the first: Is First in Lemlist Trigger on new reply.

Good to know

  • OpenAI's deprecations page, read on 12 November 2026, lists the gpt-4o snapshots as shutting down on 14 January 2027 with
    gpt-6-luna as the replacement.
  • lemlist's developer documentation, read on 12 November 2026, calls its v1 API deprecated and gives no shutdown date. The pages for
    the two calls made here carry no deprecation note.
  • Unsubscribing and marking a lead as interested change real data in lemlist, so try a test campaign first.
  • Is First is on, so a second reply from the same lead does not run the workflow.
  • Every reply goes to Slack, out of office notes included.
  • The reply text goes to OpenAI, and the reply preview and lead details go to Slack.
Files
NOTICE.md  675 B
README.md  4 KB
workflow.json  14 KB

3 files, 18 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Marketing & SEO

See all in Marketing & SEO

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

Licon MSR for LTX-2.5

LiconStudio · Kit

Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…

New

Flux.2-Klein-9B-MatchingPose

nhathoangfoto · Kit

A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…

New