Automation | KI | No-Code | Online Business

Wofür und wie du Javascript in Make nutzen kannst

Mit CustomJS kannst du individuelle Javascript Funktionen als Teil einer Automatisierung in Make ausführen. Lerne, wie das funktioniert.
Javascript in Make mit CustomJS ausführen

Make* ist ein Automatisierungstool, das bei mir in einer Vielzahl von Automatisierungen zum Einsatz kommt, z.B.

Als Make Heavy-User und nutze auch Funktionen, die über die Standardintegrationen von Make hinausgehen. Z.B. binde ich externe APIs über das HTTP Modul von Make an, nutze Iteratoren, interne Datenspeicher oder Parser mit RegEx Funktionen.

API Automations in Make mit und ohne Integration nutzen
API Automations und Tools wie Make sind ein mächtiges Werkzeug in der NoCode-Welt. Sie ermöglichen es, Businessprozesse und das Zusammenspiel von Webanwendungen flexibel zu gestalten, und zwar ohne von den Funktionsweisen einzelner Anwendungen abhängig zu sein.

Alles ziemlich cool, aber dennoch gibt es eine nicht unwesentliche Grenze von Make. Das Tool kann selbst kein Javascript Code ausführen. Wer das machen will, musste dafür auf Make-Alternativen wie n8n.io (Open Source) oder pipedream.com wechseln.

Da Make aber vor allem in der Usability mehr überzeugt, möchte ich hier die Lösung Custom JS vorstellen, mit der auch Javascript Code (Funktionen) auch in Make Automatisierungen ausgeführt werden können. Das Tool wird von Henrik Lippke aus Hamburg entwickelt und hat mir selbst geholfen, die ein oder andere Grenze von Make zu überwinden.

💡
10% Lifetime Rabatt
CustomJS ist kostenlos bis zu 20 Request pro Tag. Wenn dir das nicht ausreicht, wird ein kleiner monatlicher Beitrag fällig. Mit dem Code LSWW10 bekommst du 10 % Lifetime Rabatt auf dein Abo bei CustomJS.

Warum Javascript in Automations nutzen?

JavaScript (JS) ist eine vielseitige Programmiersprache und neben HTML und CSS, und eine der Kerntechnologien im Web, die von allen modernen Browsern unterstützt wird.

Vielleicht ist es einfacher für diesen Anwendungsfall von Javascript als kleine Mini-Anwendungen oder Funktionen zu denken, die jeweils eine Aufgabe im Rahmen einer Automatisierung übernehmen.

Man definiert also einen Input, sagt einer Javascript Funktion, was sie damit machen soll, und kann mit dem Output in Make weiterarbeiten.

Hier ein Beispiel, wie ich CustomJS in einer Automatisierung nutze:

Beispiel, wie ich ein Javascript als Teil einer Automatisierung laufen lasse
Beispiel, wie ich ein Javascript als Teil einer Automatisierung laufen lasse

Übrigens lassen sich mit Javascript auch ganze Frontends (Websites) entwickeln. Wenn das ein Thema für dich ist, empfehle ich das NoCode-Tool WeWeb.

WeWeb: So funktioniert der NoCode Frontend Builder
WeWeb ist ein NoCode Frontend Builder, mit dem auch Nicht-Entwickler ihre eigene Webanwendung umsetzen können. Lerne, wie WeWeb funktioniert.

JS Einsatzbereiche im Automatisierungs-Alltag (Praxisbeispiel)

Um die Möglichkeiten von Javascript in einer Automatisierung greifbarer zu machen, stelle ich ein Praxisfall von mir vor.

Meine Anforderung: Ich habe in Make eine Automatisierung für unser Lager gebaut, mit der DHL Labels und Picklisten erstellt werden. Die Pickliste soll eine PDF-Liste mit den Produkten aus allen zu pickenden Bestellungen sein, in der jedes Produkt nur einmal auftaucht und die Menge aus alles Bestellungen summiert dargestellt wird. Da die Laufwege im Lager immer gleich sind, soll die Liste immer in einer bestimmten Reihenfolge sortiert werden.

💡
Das ist eine Aufgabe, die grundsätzlich auch eine KI übernehmen könnte. In der Praxis hat das aber in vielen Fällen nicht funktioniert (selbst mit GPT-4o). Zahlen wurden falsch berechnet oder Einträge sind am Ende doch doppelt entstanden. Auch die Wunsch-Sortierung hat nicht immer funktioniert. Ich brauchte also eine verlässliche Lösung, die mit echten Daten rechnet, und auf die ich mich verlassen kann.

Die Picklisten-Automatisierung in Make macht grob Folgendes:

  • Sie greift die Bestelldaten (Produkte und Menge) vom Shop ab und schreibt sie in eine Tabelle (Airtable in meinem Fall)
  • Mit einer KI werden Produktnamen zunächst harmonisiert (damit wirklich jedes Produkt aus jedem Verkaufskanal dieselbe Bezeichnung hat)
  • Die Produkte werden anschließend gruppiert und die Mengen zusammengezählt. Dafür wird
    • Der Text (z.B: "2x Produkt A") mit einem Parser in Make getrennt
    • und anschließend die Zahlen und Bezeichnungen gruppiert wieder zusammengeführt (mit einem Text- und Zahlen-Aggregator in Make).
Ausschnitt meiner Automation in Make
Ausschnitt meiner Automation in Make

Das Ergebnis dieses Teils ist eine Produktliste, die z.B. so aussieht:

3x Produkt K
5x Produkt G
2x Produkt B

Ein guter Zwischenstand, aber nicht ausreichend für den Alltag. Denn Make scheitert an einer Sortierung dieser Liste nach meiner Vorgabe. Im Lager wird nämlich immer eine bestimmte Strecke zum Picken der Produkte abgelaufen. Die Reihenfolge muss also nach Produktbezeichnung fest sein, um die Liste von oben nach unten abarbeiten zu können.

Mit Make komme ich an der Stelle leider nicht mehr weiter.

DHL Labels mit Make automatisieren (bis zur Druck PDF)
Mit dieser Automatisierung kannst du DHL Labels für Bestellungen erstellen und als Einzel- oder Sammeldruck-PDF ausdrucken.

JS Funktion mit ChatGPT entwickeln

Um das zu lösen, habe ich ChatGPT nach einer Javascript Funktion gefragt.

Mein Code-Briefing an ChatGPT
Mein Code-Briefing an ChatGPT (Auszug)

ChatGPT hat meinen Wunsch an die Funktion in Javascript Code umgewandelt. Hier ein Ausschnitt:

Javascript Code, von ChatGPT geschrieben
Javascript Code, von ChatGPT geschrieben

Umsetzung in CustomJS

Um die Funktion später in einer Automatisierung auszuführen, erstelle ich zunächst auf customjs.space eine Funktion.

Neue Funktion erstellen in Make
Neue Funktion erstellen in Make

Die Funktion von ChatGPT kann hier nun reinkopiert und mit einer oder mehreren Variablen erweitert werden. Diese können dann später in Make aus einem vorherigen Schritt übergeben werden. Auch das Output Format (z.B. Text oder JSON) kann hier festgelegt werden.

Wichtig für die Integration in Make ist hier der dynamische Parameter. In meinem Code siehst du, wo der Parameter unsortedProducts in der Funktion verarbeitet wird, und wie ganz unten dann ein neuer Output sortedOutput definiert und an Make zurückgegeben wird. Ersteres ist der Input für den Make-Node. Letzteres der Output, mit dem ich in der Automatisierung weiterarbeiten kann.

💡
Ich weiß, das klingt alles sehr technisch, aber neben ChatGPT kann dir auch Henrik helfen. Schreib ihm entweder per E-Mail oder Slack Channel, wenn du mal nicht weiterkommst. Auf Wunsch kann er dir auch ganze Funktionen schreiben.

Das Testen der Funktion in CustomJS ist übrigens immer kostenlos. Alternativ kannst du den Code auch kostenlos bei playcode.io ausführen und schauen, was passiert.

Nutzung der Funktion in Make

Um die CustomJS Funktion als Teil einer Make Automation ausführen zu können, musst du zunächst den CustomJS Node hinzufügen.

Darin kannst du (nachdem du deinen Account verknüpft hast), die eben erstellte Funktion auswählen. Das Feld mit der dynamischen Variable wird hier nun auch in Make angezeigt, und kann entsprechend mit Input einem vorherigen Node verknüpft werden (in meinem Fall die Pickliste aus dem Node 29).

Einrichtung der CustomJS Funktion in Make
Einrichtung der CustomJS Funktion in Make

Wenn alles klappt, kannst du mit dem Output aus dem CustomJS Node in Make weiterarbeiten. In meinem Fall gebe ich also meine unsortierte Liste in den CustomJS Node, führe darin die Funktion (s. oben) aus, und erhalte eine Liste mit meiner festgelegten Wunsch-Sortierung.

Jede Ausführung der Funktion ist auch in CustomJS nachvollziehbar und könnte dort auch im Detail analysiert werden, falls doch etwas schiefläuft. Hier kannst du auch deinen Verbrauch kontrollieren.

Verbrauchsstatistik in CustomJS
Verbrauchsstatistik in CustomJS

CustomJS macht Make noch flexibler

Diese Lösung ist ein weiterer Schritt für NoCode (bzw. LowCode)-Entwickler, um die Grenzen von Make auszuweiten.

Mein Fall ist sicherlich ein ganz spezieller, aber man kann so viel mehr mit Javascript machen. Für einige coole Funktionen bietet Henrik (CustomJS) auch schon fertige Templates an.

Beispiele:

  • Datenextraktion
  • Bild Generierung
  • Rechnungserstellen (oder andere PDF Dokumente)

In der Community hatten wir auch einen spannenden Anwendungsfall, in dem mit Javascript Inhaltsverzeichnisse erstellt werden (Extraktion von H1 und H2 Überschriften, die in eine Form gebracht werden).

Egal, was du brauchst, ChatGPT oder eine andere KI Chatbots sind hier die richtige Anlaufstelle. Besonders in Kombination mit Make lassen sich so unendliche Fälle erdenken und abbilden.


Hilfe in der LSWW Community

Falls du konkrete Anwendungsfälle oder Lösungen diskutieren möchtest, komm gerne in die LSWW Community. Das ist ein Forum, in dem viele Online Unternehmer und Automatisierungs-Enthusiasten zusammenkommen und einander bei der Entwicklung von Lösungen unterstützen.

💡
Hinweis: LSWW ist werbefrei und wird von zahlenden Mitgliedern finanziert. Um Teil der Community werden zu können, benötigst du einen Paid-Membership.
Abonniere den wöchentlichen Newsletter

Kein Spam, keine Weitergabe an Dritte. Nur du und ich.