Jiffy Data Interface (JDI)
JDI is a web based User Interface application used by the operations or business users to monitor and feed additional inputs to the bot. The JDI application can be developed by the bot designer using JDI Studio. JDI enables the business users to:
Track the current status of requests processed by the bot. For example, the JDI portal will indicate which requests are being processed and is at what stage, what is outstanding, and which requires manual intervention. This provides a real time view of actions carried out by the bot
Correct the data read by the bot or to provide additional inputs to the bot. This may be relevant in cases where the bot was provided incorrect data (invalid cost center) and the business user can provide a revised data in case the bot fails while processing on the appplication
Setup simple work flows within the RPA environment. For example, incase a request has to be approved by a specific users before the bot carries out the second set of actions, this can be achieved using the JDI screens
Validate the data read by the bot during the processing of semi-structured documents like invoices, remittance receipts, claims supporting documents and so on
JDI Studio
JDI Studio is a designer application, used to design the JDI application with its relevant table and field structure as per the business requirements.
I. How to create: An app in JDI Studio
*2. Once you login with the appropriate user credentials, the opening page will list down the list of “apps” (as referred to in JDI) along with the “Add App”, “Settings” and “Deployment” options
*3. This page has the list of all the apps that were created previously in your organization. This new app could be any process that you would want to automate, like an Invoice process which captures the various fields that are present in your Invoice document. To add a new app, click on “Add App” which will open the below interface where you can provide the “App name”, “Display name”, “Project” – JDI selected by default, along with “Description” for this new app. Click on the “Save” button as illustrated below:
*4. We will now see the new app “InvoiceProcess” that we created in the welcome page:
*5. Click on the new app (InvoiceProcess) that we created, which will take you to “Create new Table” window. This new table is created to collect all the relevant data/fields of the Invoice that we are working with. In this window, we need to provide the data for the appropriate fields, like the “Table Name”, “Display Name” along with the “Description” for this data table. Once the complete data is furnished, click on the “Save” button:
*6. Once you click the save button, a new data table is created for this process with the name as referenced in the DB along with the API info required to carry out the operations from Jiffy. Please note that this data table can be updated/modified by the following methods in Jiffy: a. UI provided through the JDI Studio b. Database node available in Jiffy c. Rest API node available in Jiffy You have the option of adding new tables under this app, as and when required.
*7. In the above page, you have the option of understanding the various REST API operations that you can perform by clicking on the “API Info” icon. The operations are as shown below:
*8. Meanwhile you need to enter the various fields that you would want the captured data to be stored in JDI. To create these fields, click on the Table name (Invoice Data Table). By default we have three fields created for you, which are: a. CREATED_BY b. CREATED_DATE c. MODIFIED_DATE Along with these, you can see icons “Add Fields”, “Reorganize Screens” & “Custom Validations”. Using these icons you can add new fields against which you can store the extracted data, organize these fields accordingly on screen along with certain custom validations – like allow only numbers to be entered into this field.
*9. We will now add certain invoice fields like the Invoice Number, Order ID number along with the data this invoice was created and provide the data types accordingly as shown below
*10. Once we have added the required fields, the list will display the field name as referenced in the DB along with the option to delete and change the settings of the added fields:
*11. Once the app, table and the required fields are set up in the JDI Studio, we need to test this app. To do this, go to the JDI welcome page and against your app name, please select the “Test” icon, which will build and run this app temporarily:
*12. Post step # 11, JDI web application is launched which requires the user credentials to allow you to log into:
*13. Now you will be able to see the JDI web application, which would house the new app (InvoiceProcess) that we created in JDI Studio. We will now start populating the data from the Invoice PDF that the customer has provided us. As described in Step # 6, one of way populating this data from this JDI Web appliciation. To do this, click on the Invoice_Table displayed at the left bottom side:
*14. Start adding the data by clicking on ADD INVOICE_TABLE icon on the top righthand corner:
*15. We then provide the appropriate Invoice Number, Order ID and the invoice data:
*16. We have added 4 rows into this table which can be seen below:
*17. We have option to include the Search criteria and the filter on this page:
*18. To add the Search and filter criteria on your JDI web application, we have to go to the Data Table screen (as in Step # 6) in JDI Studio and click on “Reorganize Screen” icon and add the apt search and filter criterions. Post this, your JDI web application page will look like below:
*19. As mentioned in Step # 6, to add or update the existing table records from Jiffy using a REST API node, we need to log into Jiffy with the relevant user credential and configure the REST API node field using the following configuration. Notice that the protocol, Server URL and Port is the URL of the JDI Web Application (Step # 12). Click on Save once done:
*20. In the Tasks section of Jiffy, create a New Task with a REST API node with the property settings as shown below. Please note that in the property settings, the Method (POST) and the Path(/InvoiceProcess/api/v1/Invoice_Data_Table/create) should be obtained from Step # 7. A new “Input Template” xml template in the property settings should be created from the value provided in the column “Request Body” from Step # 7, which is “
Now click on the mappings between the Start Node and REST API Node and using the Element Map, you should create the mappings by defining the column that need to update along with the values as shown below:
Click on the “x” (close) icon and execute the test script in Jiffy. Once the test script is successfully executed, you will see a new row added to the Invoice Table. Similarly using the commands provided in Step # 7, you can either read the table data, delete a record, update a record or create a new record in the JDI table from Jiffy using a REST API Node:
*21. Similar operations can be performed by using Jiffy’s DB Node using the below database properties as provided by JDI Studio. To obtain this Property, go to Step # 2, click on “Settings”, which is as below:
Note: Before deploying any application, make sure to test it. This will make sure that the missing elements are discovered before actually deploying the application.
II. How to: Intelligently Process a PDF in JDI
*1. From Jiffy, you can create a Task to process a PDF in an intelligent mode, where you create a task using a PDF node in Jiffy, shown as below. In addition, once the PDF data is extracted, we will use the REST API node to update the JDI as explained in the previous section:
You will have to provide a PDF template tag in the property section of the PDF node. Here we have a defined template “dynamic pm” which requires the “PO”, “total”, “invoiceNo” & “invoiceDate” fields of the Invoice PDF file.
*2. On the successful execution of the Task, a new PDF table is created as shown below. The PDF table will have details like category, document status, flow status along with the file name and ID. The PDF that we have created is the new one, which requires the relevant fields to be populated which requires the manual intervention as the Bot is not sure which data is to be picked for these relevant fields:
*3. To pick the relevant fields with correct data, click on the PDF file name, which will open a new window as shown below. This page displays the various fields to which correct data need to be mapped. In this example, we will require the “PO”, “total”, “invoiceNo” & “invoiceDate” fields. On the righthand side, you will see the PDF file that was captured by Jiffy, which is in a readable format which aide the Business Users to pick the apt data against the relevant fields.
*4. Jiffy will help the Business Users to pick the correct data by clicking on Action column. For example, here since we require the PO field, we click on the Action icon in the PO row. Once we click on the Action icon, JDI will intelligently detect various potential data fields which could be a contender for the field PO, as can be seen below by the highlighted green box. Since this is the new PDF, a Business User can pick the right data field by selecting/clicking on the relevant highlighted section (Customer Order-Number, in this case). Once he cherry picks his field, the same is populated on the lefthand side of the PO row
Similarly, a User has to manually pick all the relevant field vis-à-vis the PDF. Upon populating all the fields, he has the option to save his selection, by clicking on the Approve & Save button.
*5. Once the relevant fields have picked up the apt data, the Document Status of the PDF file displays the “Manually Approved” status. Going forward, any new PDF files processed based on this template will pick up the apt data intelligently. In this due process, the Bot has intelligently learnt to pick the right data based on the manual intervention done for the first time.
Below video demonstrates the JDI Studio and JDI concept in Jiffy. A JDI App would be created and deployed using JDI Studio and the same would be available in JDI for operations users.
Jiffy Admin Management (JAM)
Jiffy Admin Module (JAM) is a Jiffy application that allows Jiffy Admin users to create, manage/monitor Jiffy server statistics and help troubleshoot issues using Jiffy log files. JAM helps the Bot engineers or Business users focus on their day-to-day Jiffy activities whilst the admin users focus on the below administration aspects: • Dashboard – Core application statistics/details, RAM usage, Disk usage, Database usage • Jiffy admin – Core application management, Jiffy service management • Deployment– Manage Jiffy patch/upgrade/version deployment/management • Jiffy Logs – troubleshoot the issues through these log files • Configuration – Set up the Database and Jiffy client configuration
How to: Configure Jiffy client
*2. Once you log in successfully, you will see the JAM Dashboard which will provide: a. Jiffy information – The status and version of Jiffy installed along with the other dependent components of Jiffy (RabbitMQ, Crontab, Nginx) b. Server information – Displays information of the Jiffy Server with the system uptime, the load on the server along with the RAM details c. Disk usage – Disk usage across different users or environment
*3. We will have to configure the client machine service on which we need to work using Jiffy. To configure this, click on SettingsConfigurations tab. Once here, in the Windows Client Configurations section, click on “+Add”, which opens up a new window as shown below. Here you will have to provide a name for this setup along with the Host name, the IP, Port number with description. Click on the “Save” button to create your configuration.
*4. Post configuration of this machine, the newly added machine is shown as below.
*5. To start the service of the above configured machine, click on JiffyAdminJiffy Service Admin, which opens the below page. Here you can see the status of the machine along with the Jiffy service status. As can be seen below, one of the machine is currently stopped and available for use. To activate the Jiffy Service of this machine, click on the play button in the Action column of Jiffy Service Status section.
To add any new machine, click on the “+Add” icon in the “Jiffy Service Status” section, which will open a new window as displayed below. We need to provide an alias name of the new machine along with its IP configuration and the port details. The user name has to be the same one as mentioned in Step #3. The other configurations need to be appropriately filled in. Click on Save button. This will thus create a new alias/machine which can be used by the Bot Engineers to start working with.
Note that when there are new deployments in the existing JDI, restarting the Jiffy server is needed for the changes to take effect. Also, make sure you have only one instance of Jiffy running.
Note: Please add the default postgres IP to the settings since postgres by default allows the local IP only