All input is available in your perform function in bundle.inputData
. Try using Javascript spread syntax to dynamically reference all the fields, like, ...bundle.inputData
Switch over to “code mode” for more control over the request if you’re not already.
Thanks Jane for quick response. I am using code mode to handle the action.
since input field names can be anything based on the above field.
If I refer with static name like bundle.inputData.firstName, its working fine.
How I can loop through all the input fields like
bundle.inputData.firstName
bundle.inputData.age
bundle.inputData.location
Catch here is number of input fields are dynamic and names of input fields are dynamic.
can you suggest a viable option here.
Adding more details here
I need to fetch input field name and its value entered.
This is required for search API call where in all search fields should be passed as request param with name value pair.
My call would be like searchEndPoint? firstName=Jane&age=30&location=london
I need to fetch those to make above call.
See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
used like
const options = {
url: 'https://example.ngrok.io/message',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-API-KEY': bundle.authData.api_key
},
params: {
'api_key': bundle.authData.api_key
},
body: {
...bundle.inputData
}
}
If you need to reference some properties by known names as well as dynamic ones you can use destructuring assignment. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
Lots of options… another available option is Object.keys https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys which would get you an array of the keys in inputData
Thanks Zane. This approach helped in resolving the issue.