Automation with No-Code Tools: A Real-Life Experiment

Automation has revolutionized productivity, but what happens when the task at hand goes beyond the capabilities of standard pre-built solutions available in Zapier, Make or similar tool? As a software engineer managing a BrickLink store, I encountered this challenge while trying to streamline the process of submitting shipping forms.

Initially the task at hand seemed too easy to build a new service from scratch, so I turned to Make, a platform that excels in integrating custom APIs and enabling flexible workflows. But its real power emerged when paired with ChatGPT, which I used to generate code for handling niche requirements, such as integration with BrickLink API. This seamless integration of generated code into a larger automation flow turned a difficult challenge into a smooth and effective solution.

In this article, I’ll guide you through how I used these tools to build a fully automated workflow —proving that with the right combination of no-code platforms and AI, even the most complex tasks can be simplified. Let’s dive in!

The Challenge

As a software engineer, I’ve always been curious about the potential of automation tools. After all, they aim to take over some tasks I currently handle. To see what someone without coding skills could achieve, I decided to automate the creation of shipping forms for orders in my second-hand Lego store. All this without writing a single line of code. Here’s what I wanted to automate:

  • Check for new emails about the BrickLink orders. BrickLink provides other ways to receive order notifications, but integrating with an email account seemed easier for potential non-technical users.
  • Fetch the order details using the BrickLink API. This part is tricky since the BrickLink API isn’t a standard module for popular automation tools and uses a complex authorization flow, making it a challenge to automate.
  • Fill and submit a form to create a shipping request form. This form is required at the post office to make a shipment. Unfortunately, Cyprus Post doesn’t offer an official API for this, so the form must be filled out manually on their website.

To tackle all this, I needed the right tools. I tried both Make and Zapier, two of the most popular no-code automation platforms. Ultimately, I decided to use Make because it allowed me to easily set up and manage the workflow, especially when working with custom APIs.

Filtering Emails

The first step was straightforward but still interesting — filtering and extracting useful information from incoming emails. Specifically, I needed to fetch an email with a particular subject line and extract the order ID from it to use later.

Fetching and filtering emails can be easily set up in Make’s user interface, but extracting the order ID from a subject line like BrickLink Order #12345678 - John Doe Has Purchased from StoreName requires a bit more technical know-how. Usually, you’d use a Text Parser module and a regular expression. There’s a great article on using regular expressions on the Make community site, but if you’re like me and prefer speed, you’d just ask ChatGPT:

💬
Write regular expression to extract order id from string "BrickLink Order #26530196 - John Doe Has Purchased from StoreName". Named capture groups can be specified like (?<name>.*)

The result was simple and effective: BrickLink Order #(?<order_id>\\d+). I plugged this directly into the Text Parser module in Make, and just like that, email filtering was set up:

Setting up email filtering with regular expression generated by ChatGPT

Implementing Custom API Calls Using ChatGPT

In my search for the best tool for this automation, I explored both Zapier and Make. While Zapier is great for common workflows, Make stands out when it comes to working with custom APIs. Make's capabilities allowed me to perform test runs of HTTP request steps, analyze the response structure, and use that data as input for subsequent steps in the automation. This made it a better fit for my needs in this project.

Despite BrickLink being owned by Lego Group, its API isn’t popular enough to be a standard module in either Make or Zapier. When I tried using Zapier's AI-powered flow generator, it essentially told me: "You're on your own."

Make, on the other hand, offered a bit more—but it still just generated an empty three-step stub that wasn't much use without programming skills. Connecting my email account and setting a search query for BrickLink orders was easy, but configuring an API call with OAuth and filling a dynamic form? Not so much.

When you’re not sure about the exact solution but you can describe the problem well, there's always one place to go: ChatGPT.

💬
Write Google Cloud function that returns order data from BrickLink API with order id provided.
Use the following template:
const functions = require('@google-cloud/functions-framework'); functions.http('helloHttp', (req, res) => { res.send(Hello ${req.query.name || req.body.name || 'World'}!); });
Generate package.json along with the source code file

All I needed to do was copy ChatGPT’s output into the Google Cloud Console, test, and deploy the function. Once it was up and running, I used the resulting URL in Make to set up an HTTP request to fetch order data.

0:00
/0:19

Deploying BrickLink API integration code generated by ChatGPT to Google Cloud

While these tools could potentially make the process more seamless, the current code generation capabilities provided by Zapier and Make are quite limited. For instance, they lack access to a wide range of third-party packages, which are essential for my specific needs.

Automatically Filling the Form

Some online services, particularly older or niche ones, lack official APIs — as is the case with my shipping provider. Without technical expertise, the only way to incorporate these services into an automation flow is by simulating human interaction through automatic form filling. This is where Axiom stepped in.

Axiom is a handy tool for scripting and automating web interactions. To use it, I set up a series of actions step by step, such as clicking elements and entering text. Although the process was a bit tedious, it got the job done. Once everything was connected in Make, the form was automatically filled out using my BrickLink order data.

0:00
/0:13

Form automation with Axiom

Result

Here is the final result of our Make automation flow, which seamlessly integrates email filtering, API calls, and form filling:

This workflow demonstrates how no-code tools can be leveraged to automate complex, multi-step processes. By combining Make's powerful integration capabilities with custom API calls and web automation, we've created a streamlined solution for managing orders in our second-hand Lego store.

Final look to automation flow in Make

Conclusion

Automation can be a game-changer, even for complex workflows. Our experiment proves that with the right tools and a bit of creativity, you can automate intricate processes without writing a single line of code.

However, the journey isn't always smooth sailing. Many niche services lack official support from no-code platforms, creating a 'long tail' of automation challenges. To overcome these hurdles, two types of tools have proven invaluable:

  • Language Models (LLMs): These AI-powered assistants can generate code snippets, bridging the gap between common services and custom requirements. They're like having a coding expert at your fingertips, ready to tackle unique integration challenges.
  • Browser Automation Tools: These digital puppeteers can mimic human behavior, interacting with web interfaces just like a real user would. While powerful, they're not without their quirks - custom controls and dynamic elements can throw a wrench in the works, making some scenarios trickier to automate than others.

As we've seen, the world of no-code automation is full of possibilities and pitfalls. What's your take? Have you ventured into the realm of no-code tools? Share your triumphs and tribulations in the comments below!