If you need to send the response data directly after a step answer is given without waiting for the whole bot to complete, you can use the onAnswer callback in the Advanced Initialization options on the Advanced tab (at the bottom):


{
     onAnswer: function(results, question, storedData) {
           // prepare answers by index
            var answersByIndex = {};
            results.answers.forEach(function(item) {
                answersByIndex[item.question.index] = {
                    value: item.value.value,
                    text: item.text && item.text.answers_text ? (typeof item.text.answers_text === "object" ? item.text.answers_text[0] : item.text.answers_text).toString().trim() : ""
                }}
            );
            // check if we have an answer to step 4
            if (answersByIndex[4]) {
                quriobot.ajax (                  
                    "https://hooks.zapier.com/hooks/catch/XXX/XXX/",
                    function(responseText) {
                        console.log("called")
                    },
                    // data sent to zapier webhook
                    {
                        "first_name": answersByIndex[2].value,
                        "last_name": answersByIndex[3].value,
                        "email": answersByIndex[4].value
                    }
                )
            }
     }
}


Note: In the example code above we assume here that you need to send data to Zapier after an answer to Step 4 and Step 2, 3, 4 are first name, last name and email steps, which will be sent as first_name, last_name and email variables to Zapier 

Note2: Keep in mind that the Step numbers in lines 20, 21 and 22 in the example above are the actual number the end-user gets them and not necessarily how you configured in the Quriobot Control Room. (in case you are using jumps in your bot)  



The code snippet above might look like some mysterious algebra, so to explain a little on what is happening there and make it easier for you to modify to your own needs:


Step 1. Copy-paste the code above to the Advanced Initialization on the Advanced tab

Step 2. Configure after which Step the bot will send response directly


In the code snippet above, in row 12, the response will be sent directly after the bot goes past Step 4.


Step 3: Configure to which service the response should be sent via a so called web-hook.

In the code snippet we use the Zapier service to send our data to. This webhook can be retrieved by searching for "webhook" in the Zapier service.




Step 4: Configure which data should be sent along to that third party service.

In this code snippet we defined three variables "first_name", "last_name" and "email" which get their data from Steps 2, 3 and 4. 



Result: If we execute this example and go past Step 4, the Zapier web-hook will be triggered and will receive three variables (first_name, last_name, email) with the values that were supplied by your users in the bot in Steps 2, 3 and 4.

 




Need more help or looking for inspiration? Join the Quriobot community!

Quriobot
Friendly & Fun
Interact & Convert