2

I'm using ASP.Net for back-end webhook. Some of requests are executed successfully and few are receiving this error:

Webhook call failed. Error: DEADLINE_EXCEEDED

But when I added a slightly big operation which takes least 2 seconds to complete and responds in around 3 seconds I'm continuously receiving this error.

The issue I think is only request time out. I can't speed up my response as it routes between 2-3 3rd party servers. So in someway I need to increase the response wait time in dialog flow for my bot.

Sairaj Sawant
  • 1,842
  • 1
  • 12
  • 16
Habiba007
  • 53
  • 1
  • 7

2 Answers2

2

This is what i received from Dialogflow support.

Hi,

Thanks for reaching out to Dialogflow Support. Webhook timeout limit for Actions on Google integration is 10 seconds. For all other integrations, including self-developed implementations sending requests to our API, webhook timeout is 5 seconds. These values are not customizable. The timeout limit includes time for Dialogflow requests to your webhook endpoint, the webhook processing time, and webhook response time back to Dialogflow.

Conversational interfaces are meant to be designed as a continuous message exchange between the end user and the app/bot. If your web service requires more time for executing operations in the background and this cannot be optimized, consider redesigning the conversation flow in such way that end users don't wait for the app/bot reply for more than 5 seconds (10 for Actions on Google).

Let me know if you have any questions.

Regards, Mark Dialogflow Support Team

So the only option is to keep user in conversation while you receive the response from webhook

Habiba007
  • 53
  • 1
  • 7
  • Hi @habiba, how can I handle the timeout, so it gives the user a response when time out happen, because it confuse the user if he send a text on chatbot, but didn't get any response, I just want to reply by "time out, please retype, your question" – usama sulaiman Mar 29 '20 at 08:33
  • @usamasulaiman in dialogflow there is no option in dialogflow to override this behavior, may in near future they introduce it. if you are just learning i would recommend use IBM Watson conversation, that's more flexible and developer friendly. – Habiba007 Mar 29 '20 at 16:13
1

Thats not possible I am afraid, you can work around implementing an asynch background thread

https://stackoverflow.com/a/59625057/9095551

Beppe C
  • 11,256
  • 2
  • 19
  • 41