Adam Bezecny
Adam Bezecny

Reputation: 265

DialogFlow parameter on all intents without using context/event

we are using DialogFlow for NLP. Our agent has several hundreds of intent. In many of those we need country parameter available (we are retrieving customers' country during specific interactions/dialogs, for some input channels we are retrieving this information from channel directly, e.g. from whatsapp number, etc.). Is there any way how we could propagate country parameter without using events or contexts to all intents? The motivation is obvious: we do not want to create context on all intent manually, some smart solution would be handy here.

Upvotes: 0

Views: 102

Answers (1)

flaesh
flaesh

Reputation: 262

What you can do is to always send a detectIntent request with a yourCustomContext context in req.queryParams.contexts with country parameter, as described here. Then, in any intent you'd like, you can access it as #yourCustomContext.country in the parameters.

The context has the following structure, you can use something like the following:

{
  "name": "yourCustomContext",
  "lifespanCount": number,
  "parameters": {
    "country": "Zimbabwe"
  }
}

The advantage here is that this custom context is easily extendable, in case you need to send additional details all the time, too.

If you use these parameters in a subsequent webhook call and need more complex JSON structure, you can also use req.queryParams.payload object.

Hope that helps!

Upvotes: 1

Related Questions