Information on my n8n setup pro
the problem/error/question:
HTTP Request node is sending literal expressions (e.g., {{ 1 + 1 }}
) in the JSON body instead of evaluating them. Node references also fail. Expression evaluation IS working in Function nodes.
What is the error message (if any)?
- “Unexpected non-whitespace character after JSON at position 6 (line 1 column 7)” (Initially, with incorrect JSON syntax attempts)
- “JSON parameter needs to be valid JSON” (When trying
JSON.stringify()
) - Otherwise, no direct error messages in n8n UI - Webhook.site confirms literal expressions are sent.
Share the output returned by the last node (HTTP Request):
Webhook.site output showing literal expression in “text” field:
{
"text": "{{ 1 + 1 }}",
"model_id": "eleven_monolingual_v1",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.5
}
}
Information on my n8n setup:
- n8n version: 1.77.3
- Database (default: SQLite): SQLite
- n8n EXECUTIONS_PROCESS setting (default: own, main): Default (own, main)
- Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
- Operating system: Ubuntu 24.04 LTS (Digital Ocean Droplet)
Troubleshooting Steps Already Taken (Concise List):
- Varied expression syntax (multiple types).
- Used
JSON.stringify()
. - Created a new HTTP Request node.
- Tested “Using JSON” and “Using Fields Below” body options.
- Restarted n8n Docker container.
- Verified expressions work in Function nodes.
- Tested with minimal workflow on Webhook.site.
Request for Help:
Seeking assistance to understand why HTTP Request node is not evaluating expressions in JSON body. Need help to resolve this issue so expressions are correctly evaluated and substituted in the JSON payload.