Skip to content

🐛 Bug Report: HTTP Request step: support nested JSON objects and raw JSON body mode #10624

@FredRMonizze

Description

@FredRMonizze

📜 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

  1. 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.
  2. 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

  1. 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.
  2. Keep LiquidJS support in raw mode so variables like {{payload.callee}} still work.

👎 Actual Behavior with Screenshots

Image

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?

  • I checked and didn't find a similar issue

🏢 Have you read the Contributing Guidelines?

Are you willing to submit PR?

Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions