Integrating Tooljet with Databases and REST API: A Complete Guide

When building an internal tool on Tooljet, a typical picture: the database does not respond due to a firewall, the REST API returns raw data with nested objects, and security tokens lie in plain view in configs. Each of these problems can stall development for days. We have been through dozens of su

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1422
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1288
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    984
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1250
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    988
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    1001

When building an internal tool on Tooljet, a typical picture: the database does not respond due to a firewall, the REST API returns raw data with nested objects, and security tokens lie in plain view in configs. Each of these problems can stall development for days. We have been through dozens of such projects and have developed an approach that guarantees stable connectivity and security.

In this guide, we will walk through how to configure Tooljet to work with databases (PostgreSQL, MySQL, MongoDB), REST APIs, and SaaS services while avoiding common mistakes. Tooljet cuts internal tool development time by 5x compared to a custom React UI, but only if the data sources are correctly configured. Incorrect connections lead to duplicate queries, data leaks, and wasted time.

What problems do we solve?

  • N+1 queries — when each widget makes a separate database query. We optimize by combining queries and caching.
  • Token security — sensitive data (API keys, passwords) often ends up in the query configuration. We adopt Constants and environment variables.
  • Complex transformations — API responses contain extra fields, amounts in cents, dates in wrong formats. We use JavaScript Transformations.
  • Connection errors — incorrect host, port, or SSL certificates. We test every connection via the Test Connection button and fix issues.

How we do it

We start with an audit of the sources: compile a list of all databases, APIs, and SaaS services that need to be integrated. Then we configure connections, create the first queries and transformations. One recent project — connecting PostgreSQL with 15 tables and a billing system’s REST API. Below are example configurations.

PostgreSQL setup example

Name: Production DB Host: db.example.com Port: 5432 Database: app_db Username: tooljet_ro Password: **** 

The Test Connection button helps catch errors before saving. After a successful test, we add queries like SELECT * FROM orders WHERE status = 'pending' and pass parameters from UI components.

REST API example (GET and POST requests)

{ "path": "/users/{{components.userIdInput.value}}", "method": "GET", "headers": { "X-Trace-Id": "{{utils.uuid()}}" } } { "path": "/orders/{{components.ordersTable.selectedRow.id}}/refund", "method": "POST", "body": { "amount": "{{components.refundInput.value}}", "reason": "{{components.refundReason.value}}", "operator": "{{currentUser.email}}" } } 

Constants — sensitive values (tokens, keys) are stored in Tooljet Constants, not in the query configuration.

Transformations

const raw = data.orders; return { items: raw.map(o => ({ id: o.id, date: new Date(o.created_at).toLocaleDateString('ru-RU'), amount: `${(o.total / 100).toFixed(2)} $`, status: o.status })), total: raw.length, sum: raw.reduce((s, o) => s + o.total, 0) / 100 }; 

Event Handling

// Run on query success await queries.getUsersList.run(); components.statusMessage.setText('Successfully updated'); setTimeout(() => components.statusMessage.setText(''), 3000); 

Why trust professionals with the setup?

We guarantee connection stability, data security, and post-deployment support. Our engineers hold Tooljet certifications and have experience with cloud infrastructures (AWS, Vercel, Docker). You receive:

  • Documentation for every source.
  • Training for your team on Tooljet.
  • Technical support for 2 weeks after launch.

Process

  1. Analysis — we study your data sources, network constraints, and security requirements.
  2. Design — define query structure, transformations, and Constants configuration.
  3. Implementation — set up connections, write queries and transformations, test each connection.
  4. Testing — verify all scenarios: empty responses, errors, high loads.
  5. Deploy — roll out the solution in your environment, deliver documentation, and conduct training.

What's included

Component Description
Source configuration Connect up to 5 databases and 3 APIs
Query creation 10–15 queries with parameters and transformations
Constants setup Store tokens, keys, environment variables
Documentation Connection schema, query examples, instructions for adding new sources
Training 2-hour session for developers
Support 14 days after delivery — consultations and bug fixes

Timeline and cost

  • Basic setup (3–5 sources) — 1–2 days.
  • Extended integration (up to 10 sources + custom transformations) — 3–5 days.
  • Comprehensive solution (with training and support) — up to 7 days.

Save up to 40% of your developers' time — Tooljet takes over the routine.

Typical connection errors

Connection issues often arise from common mistakes. Connection refused is usually due to incorrect host or port, or a firewall block. SSL handshake failed appears with certificate problems — temporarily you can disable SSL, but for production it's better to add the correct certificate. Timeout occurs on too long queries or a slow database; the solution is to increase the timeout or optimize indexes. 401 Unauthorized — the token is expired or invalid; update it in Constants. Incorrect data in response — an error in the transformation; debug JavaScript in the Tooljet console.

Advanced setup: Tooljet in Docker with SSL

If your Tooljet runs in a container, add environment variables for SSL certificates and configure network bridges to access internal databases. A sample docker-compose can be found in the official Tooljet documentation (GitHub).

Comparison with custom solutions

Criteria Tooljet (our setup) Custom React/Node.js UI
Development time 1–2 days 2–4 weeks
Source support 50+ built-in Manual integration each
Security Built-in Constants Requires own implementation
Updates Automatic Manual patching

Order your Tooljet setup today and save up to 40% of your team's time. Leave a request for a consultation — we'll contact you within an hour.