Building Powerful Custom Internal Tools with ToolJet
Published: 2022-07-06 01:22:16

PS - Been a long time since I published an article.

So you’re a startup (or a huge corporate) and you want to organise your data? Maybe you’re storing employee data on Google Sheets and want to build a CMS like tool to view/add/delete/update data. Or, you might have a **PRODUCTION** database, say a MySQL database but you want to build a tool so anyone in your team can manage that database. Or, you might want to build a dashboard to show analytics of your data. So, how do you do it? There are 3 options, let’s review them:

- Option 1: Code the tool by yourself. Terrible idea. You have to spend time on it. Your developers would waste their time building internal tools.
- Option 2: Use third-party tools to build internal tools. Better idea, but still not ideal. There might be some tools to help you but they’re scattered everywhere (you need to use multiple tools for your organisation needs) and you need to pay a lot to use these tools.
- Option 3: Use an open-source (more developer support so app keeps getting updated/fixed all the time), powerful, low-code/no-code tool to build custom internal tool, if possible **FOR FREE**. But, do such tool exists???

I’m excited to break it to you and such tool does exist. Introducing [Tooljet](https://www.tooljet.com/), a free (with paid plans), open-source, low-code tool to build and deploy custom internal tools. Tooljet integrates seamlessly with all your favourite software/data source such as various databases (PostgreSQL, MongoDB, MySQL, Elasticsearch, Firestore, DynamoDB, Redis and more), any API endpoint (with authorization too), and external services (Stripe, Slack, Google Sheets, Airtable and so much more). If you need to use this tool immediately, head over to [Tooljet’s site](https://www.tooljet.com/) to learn more.

Anyway, in this tutorial, I’ll show you how you can connect and query RESTful API with Toolject, but as I said earlier, it could do much more than that.

- Head over to [this link](https://app.tooljet.com/) and sign up.
- Upon registration, you will see the something like below. Click create new application.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/of37q5j1m42h8z7sqs39.png)
- Give it a name. Default is “v1”.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6hoinkc8n81r4lawsmyy.png)
- You’ll see something like shown below. To your left, you have a couple of buttons, one of them being the `Sources` button, in which you can configure any data source, say from a database, or an API endpoint, or spreadsheet, and much more. To your right, you have a whole lot of UI elements such as table, inputs, charts, PDF component, graphs, and even ability to add custom components. For this tutorial, our source of data will be a public API endpoint, so please click the `Create query` button to your bottom left.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2o8rn1ahzg9fpnkote20.png)
- Click `REST API`.
- Make a `GET` request to the following endpoint: https://jsonplaceholder.typicode.com/comments

In an actual project, you can use your own endpoint - no problem! Then click `Preview` to see whether data is successfully fetched, and when you’re confident on your config, click `Create & Run`.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z7co2kjbp6ev9pm1zpg0.png)
- If you did it correctly, you’ll see the response data like I did. Here’s my result:
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w7vsjxpaicv4ymkp30r8.png)
See that JSON? Yeah it’s cool, but it’ll be even cooler if we can grab some keys and display them in a table, so let’s do that. So, from your right, drag and drop the `Table` component.
- If you hover over your table, to your top left, you’ll see a gear icon, click that.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ey3tb23qriwkjvby80fc.png)


Before we proceed, let’s make things clear, okay? From the JSON response earlier, let’s pick the `id` and `name` for simplicity.

- For that reason, click the icon with 6 dots for each column at the section to your right for this table.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mstln1oenlk4lkn9mv78.png)
 
- Change those 2 column names to `id` and `name` respectively. Delete the extra column. Click `Save & Run`. The results will now be displayed in a table.
![Mohmed Ishak](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9gmw34oy8id5pyej1rc.png)

Pretty cool, huh? This tool supports other HTTP verbs too like `POST`, `DELETE`, etc. So, **what did you understand from this tutorial?** I hope you understood that you’ve just found an open-source tool to create and query REST APIs really quickly with no code at all. How convenient! My advice? Use this tool now, or bookmark this article for future use. Tooljet doesn’t only support REST API but also integration with popular databases, third-party services and so much more.
 
As a professional software developer as a popular airlines in Malaysia, I can assure you that Tooljet is really powerful and is a must-use tool for any pro developer or any organisation. If you want to learn more about Tooljet, you can head over to [Aviyel’s page on Tooljet](https://aviyel.com/search?term=tooljet) here. See you later.