Referring to the solution posted here (DialogFlow V2 Webhook - Expects Speech responses Immediately and not after async requests)
What I want to achieve is that the web
The Promise logic looks sound, but this line doesn't make sense:
let params = request.body.result.parameters;
There is no request
object that is in scope.
You can get the parameters for the request from agent.parameters
.
You didn't state what environment you were running in, but given your code, and the agent.parameters
change I outlined above, I was able to duplicate your problem using Firebase Cloud Functions with node.js 6.14.
I was able to get it to work by using the request-promise-native
package instead of request-promise
. As the name suggests, this uses native Promises instead of the Bluebird Promise package, but otherwise the calls you're making are identical.