How low-code took center stage in crafting Qonto’s automation ecosystem
- Is low-code used to create internal tools?
- Is low-code used to create POCs (proof of concept) or MVPs (minimum viable product) for the Qonto app?
- Is low-code used as a final product for Qonto users?
Qonto’s mission is to create the finance solution that energizes European SMEs and freelancers. And low-code is helping us achieve that goal by doing what it does best: reducing manual workload and simplifying communication between Qonto and third-party services.
With that in mind, let me walk you through how three engineers built 30 powerful integrations in under three years.
Making thousands of customers’ lives easier
When you think of no code/low-code automation tools, you think of Make, Zapier, or n8n. They’re all powerful tools. However, they don’t address a key requirement at Qonto:
How do we enable users to automate their Qonto account with third-party services in just a few clicks while keeping their credentials safe and secure?
The goal is to be able to take an integration with a unique purpose, and offer each end user their own version of it. All with just a standard third-party data sync. Here are some quick numbers to help visualize what we achieved at Qonto:
- 30 integrations built in low-code.
- 18 APIs used on a daily basis.
- 24,000+ businesses connected.
Tray.io: building embedded integrations
A low-code automation tool seemed the best candidate for this particular job. The tool we chose was Tray.io, which lets you build native integrations for end users.
What does it achieve? Well, it provides both a builder interface (used by low-code engineers at Qonto) for building automations and making APIs interact with each other, and a user interface for end users (Qonto users) to authenticate and grant access for the use of various third-party services.
The embedded integration (known as a “project”) constitutes a template that’s available as an integration for end users to access through the user interface.
- By authenticating and granting permission through OAuth2.0, the end user allows Qonto to access third-parties APIs (Google Drive, Notion, Zoho Books, Cegid Loop, etc) on their behalf.
- Each end user is assigned a unique identifier (a solution instance) and a copy of the main project. Every end user’s copy is independent of other end users’ copies, but linked to the main project.
The power of native integrations offered by Tray.io lets us work with a single project per integration. Any changes made to the main project are reflected in the end-user copies, ensuring better maintenance and flexibility in the management of integrations.
(Just imagine how much time it would take each Qonto user to copy and paste individual templates and keep them up to date. The time wasted would be colossal, and maintaining the templates would quickly become impossible.)
By allowing us to build multiple integrations for thousands of users, Tray.io plays a crucial role in enabling Qonto to offer a wide range of automations.
And as the need for efficient data exchange becomes essential and more prominent, JSON serves as the backbone for data transmission to ensure a standardized approach in handling data across various actions and workflows.
JSON as the main data exchange format
JSON is Tray.io’s universal language for communicating between connectors — modules that perform actions. It’s a standardized way of exchanging data. As mentioned above, we’re using 18 APIs within our 30 integrations, which means we’re living and breathing JSON every day!
For those who like to deep dive into languages, embedding JavaScript scripts into workflows will allow you to carry out sophisticated actions on JSON data, ranging from validation and transformation, to more complex logic.
As a result, understanding and mastering JSON and JavaScript are key for advanced data manipulation and workflow customization. This offers granular control over data processing, enabling custom logic to be implemented to meet the specific requirements of each third-party API.
By combining the data manipulation capabilities of JSON with the advanced scripting power of JavaScript, it’s possible to build flexible and adaptable solutions for creating integrations of all kinds.
Bringing integrations to life, the low-code way
From accounting tools and cloud services to exporting transactions to Google Sheets or via EBICS (Electronic Banking Internet Communication Standard), each integration is unique and has its own purpose. Let’s take a closer look at the LexOffice bookkeeping integration to see how it works.
LexOffice is a German accounting tool that enables accountants to manage invoices, expenses, and taxes. Our most used integration (8,500+ Qonto users) retrieves all the user’s transactions and attachments from their Qonto API and sends them to the user’s LexOffice account.
The entire flow seems pretty straight-forward at first glance, but involves structured logics implemented to ensure the integration’s scalability and maintainability. Three important standards used for (almost) all our integrations can be identified:
- Backfilling date: choosing a date from which the transactions/attachments will be extracted from Qonto and sent to a third-party service helps in getting a wider overview about a company’s financial flow.
- Workflow breakdown: the main group of actions is divided into various workflows that are called at different times of the execution. Scheduler calls Main, which in turn calls Get/Create Partner Bank Account, and so on.
- Loop: a loop is made of a set of actions that can be present in the main workflow (Main) or called in another workflow (Poll Qonto Transactions). This is especially useful for pagination on transactions or when dealing with IBANs.
Although each integration is unique, standard concepts and good practices come together to build robust and scalable integrations over time.
Technical skills play a big part in low-code at Qonto, which is a great opportunity for scaling knowledge and developing skills. From managing thousands of users and countless APIs to reading and understanding JSON and managing errors (a world without errors would be too perfect!), there’s something for everyone.
And what’s in it for Qonto customers? Final automated products are made available through integrations, reducing manual workload and facilitating financial flow management between Qonto and third-party services. Everything customers could need to keep financial information consistent and boost their productivity!
“Good mobile app, and easy-to-use website. The management of several accounts is simple. Choice of effective reporting levels. Good integration with accounting applications.” — Trustpilot review
About Qonto
Qonto makes it easy for SMEs and freelancers to manage day-to-day banking, thanks to an online business account that’s stacked with invoicing, bookkeeping and spend management tools.
Created in 2016 by Alexandre Prot and Steve Anavi, Qonto now operates in 4 European markets (France, Germany, Italy, and Spain) serving 450,000 customers, and employs more than 1,400 people. Since its creation, Qonto has raised €622 million from well-established investors.
Qonto is one of France’s most highly valued scale-ups and has been listed in the Next40 index, bringing together future global tech leaders, since 2021.
Interested in joining a challenging and game-changing company? Consult our job offers!
Illustration by Eloïse Rulquin