n8n-nodes-generic-rest-chat-model-ssl
v1.0.0
Published
Generic REST Chat Model sub-node for n8n AI Agent with optional SSL certificate validation bypass.
Maintainers
Readme
n8n-nodes-generic-rest-chat-model-ai
A community sub-node that plugs any REST-based LLM into the n8n AI Agent as a Chat Model — without writing code or creating a custom node for each API.
Supports IBM watsonx Orchestrator, Ollama, Groq, and any OpenAI-compatible REST endpoint.
How it works
The node acts as a Chat Model sub-node (the same slot used by the built-in OpenAI or Anthropic nodes). It sends the conversation history to a REST endpoint using a configurable JSON body template and extracts the reply using a JSONPath expression.
AI Agent ──► Generic REST Chat Model ──► Your REST API
↑
Simple Memory (optional)Installation
In your n8n instance, go to Settings → Community Nodes → Install and enter:
@welsonviana/n8n-nodes-generic-rest-chat-model-aiOr in a self-hosted Docker instance:
docker exec -it n8n npm install @welsonviana/n8n-nodes-generic-rest-chat-model-aiCredentials
Create a Generic REST Chat Model API credential and choose one of the auth types:
| Auth Type | When to use |
|---|---|
| IBM IAM | IBM watsonx Orchestrator — exchanges your IBM API Key for a Bearer token automatically (cached with TTL) |
| Bearer Token | Groq, OpenRouter, or any API that uses Authorization: Bearer <token> |
| API Key Header | APIs that use a custom header (e.g. X-Api-Key) |
| None | Ollama or any unauthenticated local endpoint |
Node parameters
| Parameter | Description |
|---|---|
| Endpoint URL | Full POST URL of the LLM endpoint |
| Model / Agent ID | Injected as {{model}} in the body template |
| Stateful Mode | Send only the last message + session ID (server manages history). When enabled, set Simple Memory's Context Window Length to 1 |
| Session ID | Injected as {{sessionId}} — visible only when Stateful Mode is on |
| Inject History Into Message | Concatenates the full conversation history into the last user message as plain text. Use when the API ignores the messages array (e.g. watsonx Orchestrator) |
| Request Body Template | JSON template with placeholders (see below) |
| Response Path | JSONPath to the text field in the API response (e.g. $.choices[0].message.content) |
| Debug Mode | Attaches the raw request and response to the execution output (AI panel). Sensitive headers are masked. Disable in production |
| Max Retries | Automatic retries on transient network errors with exponential backoff (1 s, 2 s, 4 s). HTTP errors are never retried. Default: 2 |
| Additional Headers | Extra HTTP headers as a JSON object |
Body template placeholders
| Placeholder | Replaced with |
|---|---|
| {{messages}} | Full messages array [{ role, content }, ...] |
| {{lastMessage}} | Last user message as a string |
| {{sessionId}} | Session ID (stateful mode) |
| {{model}} | Model / Agent ID |
A placeholder that is the sole value of a JSON string (e.g. "messages": "{{messages}}") is replaced with the raw value, injecting the array directly into the body.
Examples
Ollama (local, no auth)
Credential: None
Endpoint URL:
http://host.docker.internal:11434/api/chatBody Template:
{
"model": "{{model}}",
"stream": false,
"messages": "{{messages}}"
}Model / Agent ID: llama3
Response Path: $.message.content
Groq (Bearer Token)
Credential: Bearer Token → your Groq API key
Endpoint URL:
https://api.groq.com/openai/v1/chat/completionsBody Template:
{
"model": "{{model}}",
"stream": false,
"messages": "{{messages}}"
}Model / Agent ID: llama-3.3-70b-versatile
Response Path: $.choices[0].message.content
IBM watsonx Orchestrator (IBM IAM + Inject History)
Credential: IBM IAM → your IBM API Key
Endpoint URL:
https://api.br-sao.watson-orchestrate.cloud.ibm.com/instances/{instanceId}/v1/orchestrate/{agentId}/chat/completionsBody Template:
{
"model": "{{model}}",
"stream": false,
"messages": "{{messages}}",
"additional_properties": {}
}Model / Agent ID: your Agent ID (same as the one in the URL)
Inject History Into Message: enabled
Response Path: $.choices[0].message.content
watsonx Orchestrator ignores the
messagesarray for context. Enabling Inject History Into Message concatenates the full conversation history into the last user message so the agent receives it.
License
MIT
Fork & Attribution
This package is a modified fork of:
@welsonviana/n8n-nodes-generic-rest-chat-model-ai
Original npm package: https://www.npmjs.com/package/@welsonviana/n8n-nodes-generic-rest-chat-model-ai
Original author/publisher: welsonviana
The original package declares the MIT license.
Changes in this fork
This fork adds an optional Ignore SSL Issues setting.
When enabled, TLS certificate validation is disabled only for requests made by the Generic REST Chat Model to the configured LLM endpoint.
SSL certificate validation remains enabled by default.
