Aito and Parabola make your computer work for you

Tommi Holmgren
6 min readMay 6, 2020

One of Aito’s users posted a question in the Community Slack that sparked my interest. He was asking how Aito works with Parabola. I had not heard about Parabola before, but looking at it I got excited.

I firmly believe there is so much more to automation than the attention grabbing RPA platforms like UiPath. For example, at the time of writing we are looking into introducing Aito as a library for Robot Framework. There are also UI based tools that make automating workflows super simple. And in this category Parabola seems to be doing really well. I was impressed with their user experience.

Practical first step. Make Aito’s ML predictions work with it, and share the example with everyone. Timer on, and go!

Use case: avoiding duplicates in CRM data

I chose to work on a use case already introduced in our previous blog post. It’s made as an example for a company who wanted to reduce duplicates and errors with their CRM data. Even a slight difference like missing “LTD” from the name in corporate details ended up spinning a duplicate record. Our example shows how quick it is to find already existing entries even with minimum and typoed searches.

Prerequisites

If you wish to repeat my steps, these things need to be in place.

  • You’ll need your own Parabola account. At time of writing you can sign up and get free credits here.
  • I’m using Google Sheets in my example, so you’ll want to have a Google account at your disposal. You can also use CSV’s or other datasources/destinations.

I’m using already existing data in the Aito database that mimics a CRM data. To replicate steps in this blog, you can use our public-1 instance that I'm using, too. In order to input some data yourself, you need your own Aito instance. Sign up here, free Sandboxes are available.

Creating my first workflow

My workflow will consist of three steps.

  1. Read company search inputs (aka “human inputs”) from a Google Sheet.
  2. For each row of inputs, check with Aito if the CRM database already contains an entry that is a likely match.
  3. Write search parameters and found likely matches to a new Google Sheet.

Simple, right! It is extremely obvious how to make this happen with Parabola’s editor. Here’s what you aim to have when all the tasks are in place.

#1 Read data from Google Sheet

This is so simple that it is ridiculous. I created a sheet (see below) that has two columns: Name and City. And then I added two searches that are kind of close to details in the database, but not quite. Names are a bit wrong, and cities are not matching exactly.

In Parabola my import configuration looks like this. Done.

#2 Get results from Aito API

Now we are at the whole beef of this blog. The task is called “API Enrichment” and it inputs every row of inputs (those two rows from Google Sheet) to a given API, and gets results back. We just need to get a few things in place for this to work. List numbering matches with the screenshots below.

  1. We are using Aito’s Similiarity function, so we need to set HTTP request type to be “POST”.
  2. Set the endpoint URL, which is in our public example this: https://public-1.api.aito.ai/api/v1/_similarity.
  3. To the “body” field we write the query that goes into Aito. Inside, we need to use {ColumnName} notation to pull the appropriate fields from our input data. The entire query looks like this:
{
"from": "company_info",
"similarity": {
"Name": "{Name}",
"City": "{City}"
},
"limit": 1
}
  1. Add a custom header for content-type with a value application/json.
  2. Add a custom header for authentication. In our case we use the read only key of our demo instance. Replace with your own, if you have one (and the data is there, too!). So x-api-key equals to bvss2i2dIkaWUfBCdzEO89LpxUkwO3A24hYg8MBq
  3. Finally in “Nested Keys” choose “hits” so that you get Aito’s results conveniently broken down as columns in your results.

Good to go! Hit “Show Updated Results” and you should see that the rows are populated with results. Score tells you the strength of the similarity.

The results seem to make sense. First row we searched for BCG SECUTIES in New York, but in reality the company is BCG SECURITIES, INC. and they are based at Cherry Hill.

What I would do in a real production use case is to look for maybe top 2 results (change limit = 2 in Aito query), and only use the results if there is a strong enough difference between first and second result. But let’s leave that for the advanced lesson! Similarly, here I would run Aito’s evaluate query to see how accurately Aito returns results. That’s covered in a separate post.

#3 Write results to Google Sheets

Again, simple thing. Have a look at the screenshot of how I configured my write operation.

Run it

We are ready to run it. This was the only moment I was confused with Parabola UI. I did not get results to my output sheet. I tried a few times running the workflow in the editor. What you need to do to get the results out is to hit “Publish” button at the top right of the screen. Only then I got the outputs running.

And all runs clean, and I would be able to create a webhook that triggers the run, or set scheduling. Really well done guys at Parabola!

Wrap up

Timer off. It took me about 20 minutes to create the workflow in Parabola, and that was my first one so I was learning on the go. Writing this blog post naturally took a bit longer than that. :)

Now, similarity search as such is hardly anything unique in the world of databases, and many others can do it too. Aito’s benefit here is the speed of getting things done with a fully managed service, and the capabilities Aito offers beyond your first query. Match entries without need of an algorithm (=data scientist), evaluate results for the accuracy, understand patterns and much more.

There are really no excuses not to create your own intelligent automation workflows anymore. Tools such as Parabola combined with ML service with the capabilities of Aito brings the automation available to everyone. And the possibilities are endless.

I’m a Chief Product Officer at Aito.ai, and this writing first appeared at the company blog on May 2nd, 2020. It has been slightly edited for Medium.

--

--

Tommi Holmgren

20+ years of SW and tech leadership. Two startup exits. Building next-gen machine learning tools for no-coders and RPA devs at Aito.ai. Used to travel a lot