📜 Description
Problem
The HTTP Request action step only supports flat key-value pairs in the request body. There is no way to send nested JSON objects, which is required by many third-party APIs.
For example, the https://developers.cm.com/voice/reference/post_voiceapi-v2-otp expects a voice object:
{
"callee": "+3212345678",
"code": "12345",
"voice": {
"language": "fr",
"gender": "Male",
"number": 1
}
}
This is impossible to configure with the current key-value form. I tried:
- voice.language as key → sent as flat "voice.language": "fr"
- voice[language] as key → same issue
- Pasting a JSON object as the value → Novu escapes it into a string "{"language":"fr"}"
None of these produce a nested object.
Additional feedback
Adding parameters one by one in the request body form is also very slow and tedious, especially for APIs with many fields. A raw JSON editor would significantly speed up configuration.
Proposal
- Raw JSON body mode — allow switching from key-value form to a raw JSON editor where we can type/paste the full body with nested objects, arrays, etc.
- Keep LiquidJS support in raw mode so variables like {{payload.callee}} still work.
Related
👟 Reproduction steps
Create a workflow with an http request step
Try to configure a call to an api with an object as field
👍 Expected behavior
- Raw JSON body mode — allow switching from key-value form to a raw JSON editor where we can type/paste the full body with nested objects, arrays, etc.
- Keep LiquidJS support in raw mode so variables like {{payload.callee}} still work.
👎 Actual Behavior with Screenshots
Novu version
Novu Saas
npm version
No response
node version
No response
📃 Provide any additional context for the Bug.
No response
👀 Have you spent some time to check if this bug has been raised before?
🏢 Have you read the Contributing Guidelines?
Are you willing to submit PR?
Yes I am willing to submit a PR!
📜 Description
Problem
The HTTP Request action step only supports flat key-value pairs in the request body. There is no way to send nested JSON objects, which is required by many third-party APIs.
For example, the https://developers.cm.com/voice/reference/post_voiceapi-v2-otp expects a voice object:
{
"callee": "+3212345678",
"code": "12345",
"voice": {
"language": "fr",
"gender": "Male",
"number": 1
}
}
This is impossible to configure with the current key-value form. I tried:
None of these produce a nested object.
Additional feedback
Adding parameters one by one in the request body form is also very slow and tedious, especially for APIs with many fields. A raw JSON editor would significantly speed up configuration.
Proposal
Related
👟 Reproduction steps
Create a workflow with an http request step
Try to configure a call to an api with an object as field
👍 Expected behavior
👎 Actual Behavior with Screenshots
Novu version
Novu Saas
npm version
No response
node version
No response
📃 Provide any additional context for the Bug.
No response
👀 Have you spent some time to check if this bug has been raised before?
🏢 Have you read the Contributing Guidelines?
Are you willing to submit PR?
Yes I am willing to submit a PR!