Parabola, Watson NLU, News API and Twilio – tools I used to build a no-code application
Tags: nocode, ibmwatson, twilio
Published: 2020-04-27 20:34:42

---
title: Parabola, Watson NLU, News API and Twilio – tools I used to build a no-code application
description: How to build a no-code application with Parabola, Watson NLU, News API and Twilio
published: true
date: 2020-04-24 22:48:55 UTC
tags: No Code,Watson, Twilio
canonical_url: https://maxkatz.org/2020/04/24/parabola-watson-nlu-news-api-and-twilio-tools-i-used-to-build-a-nocode-application/
---

One of the things I wanted to try is re-build an app built with code using no-code tools.

{% twitter 1218706628507160576 %}


[Gwyneth Peña](https://twitter.com/madebygps) built a wonderful app that sends a daily positive news article about COVID-19 via a text message:

{% twitter 1248020246247530497 %}

I thought this is a great app I should try to build using no-code tools.

In this blog post I will share a high-level overview of the app and what tools I used to build. In a later blog post, I will share how I built the app in more detail.

Tools I used to build the app:

- Parabola
- News API
- Watson Regular Language Understanding (NLU)
- Twilio
- API Connect Monitor and Test

[Parabola](http://parabola.io) is a no-code tool where I built the app. Parabola is a drag-and-drop workflow builder. You build a flow with multiple steps (nodes) and connections between steps. Each step has input and output. Output from one step is passed as input to the next step. You can also look at it as a serverless application – where each step represents a serverless function. But, instead of writing code, each step is dropped onto the flow and configuring. This is how the application flow looks:

![](https://katzmax.files.wordpress.com/2020/04/parabola-flow.png?w=1024)<figcaption>App workflow in Parabola</figcaption>

The first step is **API Import**. This step allows to invoke any 3rd party API. In this application I’m using [News API](https://newsapi.org/) to get latest headlines on COVID-19 (you can search for any other topics as well).

**JSON Flattener** steps takes the News API JSON response and flattens it into key-based columns. This step converts the data into table-like format.

**API Enrichment** steps invokes [Watson NLU](https://www.ibm.com/cloud/watson-natural-language-understanding) service for each row (using article title) and determines the sentiment score for each headline.

Before I added News API and Watson NLU services to my Parabola flow, I tested both APIs in API Connect Monitor and Test tool:

![](https://katzmax.files.wordpress.com/2020/04/parabola-apiconnect-test.png?w=1024)

**Sort** step sorts the results based on sentiment score (descending order). We are looking for the most positive article (highest sentiment score).

**Rows Numbers** step adds a row number to each row in our data.

With **Row Filter** step, we pick row number 1 which is also the row that has the highest sentiment score (because we sorted the results).

**Add Column** step adds a new column (phoneNumber) that store the phone number where to send the SMS message.

**Text Merge** step takes two columns (title and URL) and merges them together into a new column called textMessage.

Finally, the **Twilio SMS** step sends a text message to number in phoneNumber with message in textMessage.

Lastly, Parabola allows you to schedule when the flow should run (cron job):

![](https://katzmax.files.wordpress.com/2020/04/parabola-cron.png?w=778)<figcaption>Scheduling when to run a flow</figcaption>

The result looks like this:

![](https://katzmax.files.wordpress.com/2020/04/parabola-sms-result1.png?w=521)<figcaption>Received message</figcaption>

I didn’t write any code to build this app. Parabola does have a (small) learning curve (BTW, their [community forum](https://community.parabola.io/) is excellent), but that aside, it took me about 1.5 hours to build this app. Once you get over the learning curve, you will be able to build (very) fast. You should also have a good understanding how to invoke and test APIs (outside of Parabola).

It’s wonderful that we have tools today to build apps with no-code.