diff --git a/dialogflow-prebuilt-agents/cloud-functions/.DS_Store b/dialogflow-prebuilt-agents/cloud-functions/.DS_Store deleted file mode 100644 index ee106cbb..00000000 Binary files a/dialogflow-prebuilt-agents/cloud-functions/.DS_Store and /dev/null differ diff --git a/dialogflow-prebuilt-agents/messenger/appointment_booking/appointment_booking_client_side_messenger.js b/dialogflow-prebuilt-agents/messenger/appointment_booking/appointment_booking_client_side_messenger.js new file mode 100644 index 00000000..e91ba2ac --- /dev/null +++ b/dialogflow-prebuilt-agents/messenger/appointment_booking/appointment_booking_client_side_messenger.js @@ -0,0 +1,23 @@ +/** + * @fileoverview The client side messenger javascript for the appointment + * booking prebuilt agent. + */ +let wasFirstRequestSent = false; +window.addEventListener('df-request-sent', (event) => { + if (!wasFirstRequestSent) { + event.preventDefault(); + wasFirstRequestSent = true; + dfMessenger.setQueryParameters( + {parameters: {'user-token': dfMessenger.accessToken}}); + dfMessenger.sendQuery(event.detail.data.requestBody.queryInput.text.text); + } +}); + +window.addEventListener('df-response-received', (event) => { + const responseEvent = event?.detail?.raw?.queryResult?.match?.event; + if (responseEvent === 'flow.failed') { + console.log('Got a flow.failed event; asking agent to recover'); + dfMessenger.sendQuery( + 'tell me that you can only help me with [insert what you do] and please try again'); + } +});