bots-workflow-designer
Automaton Dashboard
This is a graphical and easy to use automation flow designer. This is especially helpful for bot platforms that need to be orchestrated. This is based on a finite state machine approach in which the modules are connected between them and are able to actuate others. It is perfect to use in asynchronous environments where events happen suddenly and there is not a linear path. The main advantage of this approach is that there are no listeners turned on and listening all the time, in this approach all the modules are turned off and are only turned on when they are called and their pre-requisites have been fulfilled.
Example: The following image shows an automated human resources system on Linkedin. It is able to find relevant candidates, add them to contacts and contact them by sending them a message. All the actions happen asynchronously because we don´t know if a candidate will accept us as a contact and we don’t know when it can happen.
Running User Interface
-
Pre-requisites
- Node.js
- npm
- nvm
<h4 dir="auto"> <a rel="nofollow noopener" target="_blank" id="user-content-refer-to-httpsnodejsorgendownloadpackage-manager-for-further-information-regarding-installation" class="anchor" aria-hidden="true" href="#refer-to-httpsnodejsorgendownloadpackage-manager-for-further-information-regarding-installation"></a>refer to <a rel="nofollow noopener" target="_blank" href="https://nodejs.org/en/download/package-manager/">https://nodejs.org/en/download/package-manager/</a> for further information regarding installation. </h4>
-
Steps
- Go to ui/ folder in your command line.
- Run the run.sh file
cd ui
./run.sh
Open your browser and go to the given URL when the platform is up.
Running Back End
-
Pre-requisites
- Python 2.x or 3.x
-
Selenium
- install using pip-
<blockquote> <p> pip install selenium </p> </blockquote> </li> <li> PhantomJS </li> <li> MongoDB </li> </ul>
-
Steps
- Go to /automation folder in your command line.
- Run the run.sh file
cd automation
./run.sh
-
Steps
- Go to your user interface(by default: http://localhost:9000)
- Click on Diagram on the left-side menu
- Click on execute
If you are using firefox web browser you may encounter an error like
“WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH”
In such a case, download the latest version of geckodriver from here
- If you are using ubuntu just do the following after the download:
export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step
- If using windows, then you can check this to know how to set path in Windows command prompt.
In order to automate any of your own desired task you need to create a
logic.json
file and corresponding modules.-
The
logic.json
gives the bot all related inputs and also specifies the order of running modules. You can have a look at the present logic.json present in the automation folder. -
Each module must have imported the
Module.py
file present in the core folder and must have the functionsrun()
andrun_queue()
. Therun_queue()
function is responsible for performing operations over the data and for calling the next module. You can have a look at the modules present in themodules
folder for reference.