n8n
n8n’s AI nodes authenticate through an OpenAI credential, and that credential has a Base URL field. Point it at Appelon and every node using it runs in Groningen. No workflow changes.
Create the credential
In n8n, go to Credentials, create a new OpenAI credential and fill in two fields:
| Field | Value |
|---|---|
| API Key | your Appelon key (sk-appelon-...) |
| Base URL | https://router.appelon.ai/v1 |
The Base URL ends at /v1. n8n appends the rest of the path itself.
Create a key in your dashboard; see Authentication for how tokens work.
Use it in a workflow
Add an AI Agent or Basic LLM Chain node, then attach an OpenAI Chat Model sub-node and select the credential you just made. Enter the model name by hand if it does not appear in the dropdown: n8n populates that list from the provider, and our names are gemma and qwen rather than OpenAI’s.
Which model to pick
| Model | Context | Best for |
|---|---|---|
gemma |
64K | Most automation. Classifying, summarising, drafting replies, pulling fields out of text. Fastest, and the strongest of the two in Dutch. |
qwen |
256K | Whole documents in a single node, or long accumulated context. |
Start with gemma. Workflow steps are usually short and repeated, which is exactly what it is best at. See Models for the full lineup.
Embeddings for a vector store
The Embeddings OpenAI node uses the same credential. Set the model to bge-m3 for multilingual embeddings (Dutch included) and feed any vector store node from it. See Embeddings for dimensions and batching.
If the OpenAI node returns 404
There is a known n8n issue where the OpenAI node v2 with a custom Base URL returns a 404 at runtime even though the credential test succeeds. If you hit it, you have two ways around it:
- Use the OpenAI Chat Model sub-node under an AI Agent instead of the standalone OpenAI node.
- Use an HTTP Request node pointed straight at
https://router.appelon.ai/v1/chat/completions, with anAuthorization: Bearerheader. More verbose, but provider-neutral and easy to debug.
A credential test that passes only proves the endpoint answered; it does not prove the node will build the same request path at runtime.
What works
- Chat completions, streaming and non-streaming.
- Tool calling, which the AI Agent node needs to call its tools.
- Embeddings for vector stores and RAG.
- Image generation via
/v1/images/generations.
What does not work yet
- Vision. Image input is not supported, so nodes that send an image to the model will fail.
- The Assistants API and OpenAI’s
/v1/responsesendpoint.
Cost
Automation reads more than it writes: a long email in, a short label out. Input costs 0.04 units per 1,000 tokens, output costs 1 unit per 1,000 tokens, so read-heavy workflows are the cheap kind. Full details on how we meter usage.
If one workflow runs often enough to matter, give it its own API key. Usage is logged per key, so you can see what each automation costs without unpicking one shared total. See Usage attribution.