Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-aion
Community node that connects n8n to an AION Agent instance.
Features
- Credentials: Base URL + API key (
aion_…) - Profile dropdown: loads available profiles from
GET /profiles - Ask: streaming
POST /v1/chat/stream(SSE, same path as chat-ui) - Create conversation:
POST /v1/conversationsfor multi-turn workflows - Options: agent mode, thinking, web search, LLM provider, memory project, tool output
Requires AION with authenticated chat API and a valid API key.
Install (n8n)
Community package (npm)
In n8n Settings → Community Nodes → Install, enter:
@aion-asa/n8n-nodes-aion
See PUBLISHING.md for maintainers (manual or CI release).
Local / Docker development
cd n8n-nodes-aion
pnpm install # or npm install
pnpm build
Point n8n custom extensions at this package (example for Docker):
# mount dist into ~/.n8n/custom or set N8N_CUSTOM_EXTENSIONS
export N8N_CUSTOM_EXTENSIONS=/path/to/n8n-nodes-aion
Or link into n8n's custom folder:
mkdir -p ~/.n8n/custom
npm link
cd ~/.n8n/custom && npm link n8n-nodes-aion
Credentials
| Field | Example | Notes |
|---|---|---|
| Base URL | http://localhost:8001 |
Behind Caddy: https://host/api (no trailing slash) |
| API Key | aion_… |
Create in Admin UI → API Keys; prefer scope chat (+ conversations:write for Create) |
Credential test calls GET /health.
Operations
Agent → Ask
| Parameter | Description |
|---|---|
| Profile | Dynamic list from AION |
| User ID | Default n8n (memory / ACL identity) |
| Memory Project | Required for memory-enabled profiles (e.g. generic_assistant); loaded from GET /v1/query-memory/projects |
| Agent Mode | normal, plan, deep_research, long_run, ask, debug (same as chat-ui) |
| Thinking Enabled | Chain-of-thought / reasoning (thinking_enabled) |
| Reasoning Effort | min / medium / max when thinking is on (reasoning_effort) |
| Web Search | web_search_enabled — enable when AION_WEB_SEARCH_REQUIRE_CLIENT_OPT_IN=1 |
Web search providers (AION server): the n8n toggle only opts in per request. You also need at least one provider enabled on AION, e.g. AION_WEB_SEARCH_TAVILY_ENABLED=1 and AION_TAVILY_API_KEY, then restart AION. If tools return web_search_disabled, check Admin → Settings → Web search.
| Web Search Restrict Hosts | Optional host allowlist (web_search_restrict_hosts) |
| LLM Provider | Optional provider slug (llm_provider_name), loaded from /admin/llm-providers |
| Message Source | user_input (default), internal_trigger, scheduled_trigger |
| Message | Prompt / automation text |
| Conversation ID | Optional; empty = new conversation |
| Timeout (seconds) | Default 300 |
Output fields: text, conversation_id, session_id, profile, success, charts, error, tool_calls, conversation (full message list with tool_result when available). Optional stream_events when Include Stream Events is enabled.
Uses POST /v1/chat/stream (same SSE path as chat-ui) instead of the sync JSON endpoint.
Conversation → Create
Creates a conversation with the selected profile. Pass the returned id into Ask as Conversation ID for multi-turn.
Example workflow
Cron / Webhook
→ AION Agent (Ask, profile=aion_std, message=…)
→ Slack / HTTP / DB
Multi-turn:
AION Agent (Conversation → Create)
→ AION Agent (Ask, conversationId={{ $json.id }})
→ AION Agent (Ask, same conversationId)
AION side checklist
- Create an API key with at least chat access
- Ensure profiles exist under
config/profiles - Confirm:
curl -sS -H "Authorization: Bearer $AION_API_KEY" \
"$AION_BASE/profiles" | jq .
curl -sS -N -X POST -H "Authorization: Bearer $AION_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message":"ping","profile":"aion_std"}' \
"$AION_BASE/v1/chat/stream"
Development
pnpm install
pnpm build
pnpm dev # n8n-node dev — hot reload against local n8n
License
MIT