# Show HN: Free text classification for your n8n workflows

> Source: <https://jeffyclassify.com/blog/n8n-jeffy/>
> Published: 2026-10-19 14:02:34+00:00

Oct 2026 · Community Node · Nico Brenner

  n8n's built-in Text Classifier wraps an LLM call. It works until it doesn't: the model wraps output in markdown fences, returns an array instead of an object, or just drifts between runs. [Eight separate forum threads](https://community.n8n.io/t/is-the-text-classifier-broken/228016) report the same parsing failures

Jeffy takes a different approach. Logistic regression on frozen embeddings. No LLM, no prompt, no parsing. Same input always gives the same output. The Jeffy node brings 70 pretrained classifiers into n8n as a dropdown

Customer message comes in. Jeffy classifies it against 77 banking intents, then IF nodes route it. Account closure goes to the retention team, lost/stolen cards go to urgent support, everything else hits the general queue. Each path carries the original label and confidence score

```
Waiting for input...
```

  This calls the real Jeffy API. Type a message, it classifies against `banking77` (77 intent classes), then routes it the same way the n8n workflow does

The built-in node sends your text to an LLM and parses the response as JSON. Here's what people run into

```` ``` markdown ```` fences. Reported across GPT-4o, Claude, Llama, and Mistral. The workaround is a Code node that strips backticks before parsing
|  | n8n Text Classifier | Jeffy | 
|---|---|---|
| Reliability | JSON parse failures in production | Deterministic, always valid JSON | 
| Latency | 500ms – 3s per item | ~15ms local, ~300ms remote | 
| Cost | LLM API credits per call | Free (self-hosted or playground) | 
| API key | Required (OpenAI, Anthropic, etc.) | Optional, public playground works | 
| Setup | Configure LLM + write category descriptions | Pick a task from the dropdown | 
| Privacy | Data sent to LLM provider | Self-hostable, data stays local | 

`npm install n8n-nodes-jeffy`
`playground.jeffyclassify.com` (free, no key needed)
Import this into n8n to get the customer support router from the demo above. Uses Manual Trigger + random sample messages so you can run it right away

  The community node defaults to `playground.jeffyclassify.com`, a free public instance with all 70 classifiers loaded. No API key, no signup

For production, self-host Jeffy on any machine with a CPU:

``` bash
$ pip install jeffy-classify
$ jeffy serve --port 8400
```

  Then point the n8n credential to `http://localhost:8400`. Your data never leaves your network

The node supports four operations: classify single text, batch classify, list available tasks, and health check. Batch sends an array in one request, useful for spreadsheet imports or email batches

If you're hitting reliability issues with the built-in Text Classifier, this is a drop-in replacement that won't surprise you at 3am
