How to connect uipath bot with dialogflow chatbot

I have created dialogflow chatbot for Facebook Messanger and need to connect it with uipath robot. Please advise on this.

Hi @dilini2004,
if you want to connect to dialogflow , you have to use Node.js as a bridge(connector) , so once you ask a question in facebook or any other integration chatbot that which you tried , it will come to orchestrator and then redirected to node js bridge and gets redirect finally to dialogflow, same way the response is passed back to chatbot.
Here Im provided a sample node js connector which we(@aman_sheik ) tried from uipath go
chatbot-bridge.zip (17.3 KB)
So if you have any other clarrification , we are ready to help.

Hope this helps
Thank you
Naveen

8 Likes

@Naveen_tg How do I create bridge using nodejs? could you please provide steps.

Thanks

1 Like

Hi @dilini2004,
Extract the bridge attached in previous post ,go to chatbot-bridge/config/default.json and edit default.json file
i have attached a screenshot of the file,

here fill in orchaestrator “your tenancy name” ,“emailid”,“password”
then fill dialogflow “token” in the file
note : while registering in orchestrator queue ,name it as “pendingTasks” or if you use any other name ,rename it in node code (chatbot-bridge/lib/orchestrator.js) in queue name

Hope this helps, Still any doubts we are happy to help you
Thanks,
naveen

1 Like

Hi @dilini2004,
Here is the video link for your reference ( this package was taken from Uipath-Go and we did a demo based on that

Thanks
Aman Sheik

4 Likes

hi @Naveen_tg, @aman_sheik

i did the steps that you have mentioned above but i don’t know where to put the chatbot-bridge files. and how do i execute it?

Hi @nalaka_sajith, @Naveen_tg
Download Node.js :https://nodejs.org/en/download/ (with that npm gets installed)
extract the chatbot-bridge(file mentioned in the above post) and do the necessary changes (orchestrator and dialogflow) and open command prompt and go to chatbot-bridge(Example:in my pc chatbot-bridge is in downloads folder so in cmd ill write the following command :cd Downloads/chatbot-bridge) and execute the following command in command prompt :node index.js
This will run the node js bridge.

Hope this helps!!!
Thanks,
Aman

i did the steps. and after that this error occured.

internal/modules/cjs/loader.js:583
throw err;
^

Error: Cannot find module ‘C:\Users\nalakak\Documents\UiPath\dialogflow-chatbot\index.js’
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

Hi @nalaka_sajith,
Node modules required are not installed, Exexcute this command: npm install
(this will install all modules required)
and then execute :node index.js
This resolves the issues

Thanks,
naveen

2 Likes

Thanks @Naveen_tg and @aman_sheik it worked, but it’s not adding values to queue.

Hi @nalaka_sajith,
What is queue name in orchaestrator and what is entity name in dailogflow…you have to change it in the code

2 Likes

@nalaka_sajith as mentioned @Naveen_tg… Can you please update your queue name and entity name from the dialogflow in your code.
Hopefully it will works
Thankq
Aman sheik

1 Like

Hi,

Here the screenshots of exists queue name pendingTasks in orchestrator.js file and uipath orchestrator. do i need to update queue name in anywhere else?

Thanks

Hi @dilini2004,
That’s all, queue name is updated.
Can you check entity name of dialogflow with that of entity name in lib/Chat.js file.
if entity name is not matching, please update the same.

Thanks,
naveen

1 Like

Hi @dilini2004,@nalaka_sajith
Please follow the below steps for dialogflow integration





Hope this helps!!

Thanks,
Naveen

1 Like

hi @Naveen_tg , @aman_sheik

Can we get entire chat in to textfile? is it possible?

hi @nalaka_sajith,
Yes , It is possible to store data in textfile via
i)Node.js
var fs = require(‘fs’)
var logger = fs.createWriteStream(‘log.txt’, {
flags: ‘a’ // ‘a’ means appending (old data will be preserved)
})

logger.write(‘some data’) (some data is your chat which you want to append)

ii) use append text activity in uipath as per your need.

Hope this helps,

Thanks,
Naveen

3 Likes

Thank you guys…

1 Like

I followed all the steps in the post and even was able to use the chat from http://127.0.0.1:6543, but Queue didnt get updated . Am i missing some steps to trigger Uipath queue entry.
Please let me know .

1 Like

@arunkumarasokan,
Check queue name in orchestrator and in node code check it in orchestrator.js