herzlich willkommen zuum neuen Video heute haben wir was spannendes für euch vorbereitet wir haben ein bisschen auf die Rückmeldung aus der Community gehört und ihr wolltet ein bisschen mehr uncut Videos ein bisschen mehr live Videos und ich habe heute einen Gast mit dabei und ja ich würde sagen stell Dich einfach mal kurz vor ja moin ich bin der Steven mach gerade meine Ausbildung als Fachinformatiker und bin gerade kurz zu meinen Abschluss also im Brett le ja ja also mal schauen was wir heute so vies machen ja genau Steven äh ist hier an der Stelle komplett neu in n8n aber wie gesagt ihr habt's gehört hat ein technischen Hintergrund und ich glaube das wird ganz spannend denn er hat sich hier jetzt n8n eingerichtet noch nie irgendwas damit gemacht aber ich glaube wir kommen recht schnell an einen Punkt wo wir dann irgendwie doch was cooles auf die Beine stellen wir werden uns ein bisschen was mit Rechnung angucken mit super Base und ich würde sagen wir starten einfach direkt rein grundsätzlich das wird ganz locker hier stattfinden Steven also wenn du irgendwelche Rückfragen hast sag direkt Bescheid wir sind dynamisch wir müssen nicht hier fix irgendwas direkt am Stück durchprogrammieren alles was du irgendwie wissen willst sagt bescheid und ja wir sehen ja jetzt hier erstmal grundsätzlich die n8n Oberfläche und in derachtin Oberfläche können wir jas navigieren ich weiß nicht ob ich dir die großartig erklären muss oder zeigen muss willst du hier mal ein Überblick oder willst direkt reinstarten in den Workflow lass mal direkt reinstarten okay dann kannst du einfach ein Workflow anlegen ne das kann man entweder hier machen du bist ja schon hier bei projects drin und kannst dann hier bei start from scratch beispielsweise direkt drauf drrücken und grundsätzlich Beich ist es so wir haben die Möglichkeit ein Workflow zu triggern oder wir müssen einen Workflow triggern dafür gibt's verschiedene Trigger Notes Trigger Notes undind einfach verschiedene Möglichkeiten jetzt das ganze zu starten das kann beispielsweise sein wenn man Formular ausfüllt das kann sein wenn du eine E-Mail erhältst oder einfach nur indem du sagst hier ein Button Hit Start es kann eine chat message sein aus telegram aus WhatsApp auusen Chat den du hier direkt auch schon von n8n selber bekommst also es gibt auch die Möglichkeit production Modus dann wirklich ein Chat auf einer offiziellen URL zu haben wo Leute mit chatten können und ja was wir ja mal machen können also kannst mal auf Add first step drücken und dann öffnet sich an der Seite da ja im Prinzip diese Sitebar und hier kannst Du alle verschiedenen Aktionen Notes und Events die wir so haben willst finden und standardmäßig schlägt dir die hier natürlich hier die Trigger vor man kann auch direkt nach irgendetwas suchen was jetzt kein Trigger wäre aber man muss ja mit einem Trigger anfangen und dann siehst Du beispielsweise ganz oben man das wäre einfach wenn du sagst okay du drückst auf de Button und dann startet der Workflow es gibt das Ganze wenn du irgendeinen Event call von der App hast es gibt es da vielleicht auch du siehst onform submission und ich würde sagen vielleicht nehmen wir mal dieses onform submission das eigentlich ganz interessant kannz einfach drauf drrücken genau und was sich jetzt öffnet ist ein modal und grundsätzlich ist es hier in NN so du hast eine das ist eine Note es ist ein Trigger Note aber jede Note ist eigentlich gleich aufgebaut du hast auf der linken Seite immer das was reinkommt kommt da ist jetzt alles hellgrau einfach nur weil wir sind ja hier am Start unseres Workflows das heißt bei einer Trigger Note gibt es kein Input also da gibt's nichts was reinkommt weil wir hier erst starten in der Mitte hast Du alles was Du einstellen kannst und auf der rechten Seite hast du dein Output das siehst Du auch hier oben ich weiß nicht siehst du eigentlich meine Maus äh ich sehe nur meine Maus nicht schlimm nicht weiter schlimm oben rechts in dem dunkelcown si ja Output und hier würde dann im Prinzip alles erscheinen was letzten Endes dort dort rauskommt und beim Form submission ist es so wir können selber ein Formular erstellen dass du siehst da oben auch Test URL und production URL es gibt eine Möglichkeit das zu testen dann über die URL und es gibt dann auch eine Möglichkeit das über eine direkte URL für alle öffentlich verfügbar zu machen genau und es gibt verschiedene Möglichkeiten was du jetzt einstellen kannst wie schon erwähnt solche n8n Notes sind immer gleich aufgebaut also du hast nicht natürlich nicht immer die gleichen Felder aber ähm du hast den Aufbau von der Note von der Struktur her immer gleich und hier kannst du jetzt deine ganzen Einstellung tätigen und ich würde sagen vielleicht gehen wir einfach mal von oben nach unten durch und wenn du irgendwas nicht verstehst sagst du Stopp oder stellst deine Rückfrage ja jo perfekt okay also erstm Test production da brauchen wir jetzt im ersten Moment uns noch nicht drauf da kommen wir noch drauf zurückkommen ähm genau da drunter würde dann dieses Formular erreichbar sein das nächste ist authentication also du hast auch die Möglichkeit zu sagen du willst ähm nicht dass jeder auf dieses Formular zugreifen kann wir lassen es bei uns erstmal aufinand würde ich sagen weil wir es erstm nicht brauchen Form Titel ist einfach nur der Titel von dem Formular und der ist required tatsächlich also das steht hier zwar jetzt nicht so beschrieben irgendwie aber wenn du das jetzt startest und du hast keinen drin dann sagt ihr dir ey gib noch ein Titel an das heißt hier könntest du jetzt einfach Namen wählen und ich habe gedacht wir wollen ja mit ja mit Rechnung arbeiten und deswegen würde ich vielleicht einfach sagen wir nennen das irgendwie ähm rechnungsimport oder Rechnungen wie du möchtest so okay perfekt Formular description ja erklären brauchen wir jetzt nicht an der Stelle ist nicht required aber wenn du jetzt Nutzer hast die das vielleicht irgendwie nutzen sollen dann ja geben wir könnten wir da noch eine genauere Beschreibung angeben ähm ja dann haben wir field name ne du siehst da unten Form Elements und hier kannst du jetzt Felder hinzufügen für dein Formular und wenn du meines Dropdown reingehst du kannst ach soo das erstmal der Name fieldn na aber vielleicht gucken wir uns erst eins da drunter an dann wird es ein bisschen klarer dieses elementteil und da siehst du schon du hast Date Dropdown List eemail File hidden field number password also alles was man so irgendwie kennt wie aus demem Formular wenn du jetzt als Webentwickler arbeitest und du kannst dir mal pile beispielsweise auswählen und ja dann hast du jetzt hier die Möglichkeit wir können erstmal den Namen oben geben beim fieldn da würde ich einfach sagen vielleicht Rechnung wenn wir dann Rechnung hochladen wollen gen genau da hast du da drunter multiple fields also ob das ob erlaubt ist dass man mehrere Felder hochlädt ich würde es erstmal ausschalten wir können es danach aber auch noch mal angucken wie das funktioniert wenn man das mit mehreren FS macht und unten kannst jetzt die accepted file types nehmen hier würde ich einfach mal nur pun PNG PDF reinschreiben dann na nicht PNG außer du willst dann müssen wir uns halt drum kümmern dass wir es entsprechend auflösen ne das ist so der Punkt nachdem was wir wollen ja genau aber wie gesagt wir können das auch machen also ich probiere hier dynamisch zu bleiben ich gebe dir jetzt ein bisschen vor was wir machen dass wir im Prinzip mal so ein Basic Workflow sehen dass du das siehst wie es funktioniert wir können aber alles wie du das brauchst oder willst dann anpassen genau ja GLB das auch se okay wir haben jetzt hier required field noch als Möglichkeit auszuwählen und das würde ich auswählen weil wir wollen ja auf jeden Fall dass der was hochlädt ja und dann sind wir hier eigentlich auch schon durch es gibt im Prinzip die Möglichkeit jetzt noch zu sagen wie das Ganze antworten soll aber das können wir alles erstmal so eingestellt lassen und ja es gibt in so einer Note immer die Möglichkeit dass du die Note einzeln testest das wäre wenn du da oben auf Test step drückst oder dass du den gesamten Workflow testet wenn du einmal rausgehst du kannst ganz oben links steht back to Canvas oder du drückst einfach außerhalb dieses modals irgendwoh hin genau dann siehst du ja da unten mittig rechts da steht auch Test Workflow in dem Fall würde das jetzt exakt das gleiche tun und jetzt hast jetzt die Möglichkeit das hochzuladen und genau da könntest du jetzt hier das ist letztenendes das Formular was wir da erstellt haben das sieht natürlich jetzt vielleicht nicht so cool aus wie wenn du ein eigenes Frontend hättest aber da könntest du jetzt hier eine Beispielrechnung hochladen für die Leute ich habe ih vorhin schon mal Beispielrechnung geschickt ne nicht dass Wunder warum das jetzt alles so gut vorbereitet ist aber einfach dass wir so ungefähr ein Plan haben was wir machen wollen ja wenn jetzt hier auf Submit drückst dann wurde das submittet und ich weiß nicht der hat das jetzt bei dir du musst jetzt in de n8n Workflow Zurückgehen der ist schon durchgelaufen das ging jetzt so schnell dass wir es gar nicht sehen konnten aber es ist ja auch nur eine Note und immer wenn etwas funktioniert hat also erfolgreich war dann siehst du dann ist diese Note grün umrandet und hat auch so ein kleinen Haken und das siehst du ja in dem Fall hier ne dass das hier grün umrandet ist wenn du jetzt mal da reinklickst dann siehst du schon wir haben jetzt bei Output haben wir was und in dem Fall du könntest mal also erstmal das hier ist ein binary datenfall weil wir haben ja eine tatsächliche Rechnung und eine Rechnung liegt in dem Fall oder ein Bild das wird immer als Binary ausgegeben grundsätzlich kommunizieren diese Notes aber mit Jason und Jason kennst du ja von der Struktur her denke ich mal als Anwendungsentwickler hast du das bestimmte in der während der Ausbildung wie gr mitbekommen du siehst oben rechts bei Output siehst du die Möglichkeit dass Du wählen kannst zwischen table Jason Schema und D kannst du einfach mal auf Jason drücken oder auf irgendwas und dir angucken also hier siehst du im Prinzip auch wie das aussehen würde wenn du dir die Jason Antwort gibst sorry ganz wichtig ist aber alles was mit wirklich Dateien zu tun hat wenn du jetzt ein Bild oder Rechnung hast die musst du als Binary verarbeiten weil n Jason siehst du hier steht zwar der Name hier steht die die size und der mimtype aber es steht nicht wir also sind nicht wirklich die Rechnungsinformationen an sich aber grundsätzlich ist das bei jeder Note gleich also in jeder Note hast du oben die Möglichkeit auszuwählen in was du dir das anzeigen lassen willst und wie das Ganze aufgebaut ist und ja wir können jetzt einfach mal gucken wenn wir eine weitere Note anbinden was wir da machen können kannst mal auf das kleine plus drücken und jetzt können wir hier nach verschiedenen Sachen suchen und ich sag das erste was wir wahrscheinlich machen wollen würden W aus so einer Rechnung irgendwie Daten extrahieren und da kannst du einfach mal eingeben extract genau da siehst du schon extract vom File D kannst du drauf drücken und da gibt's verschiedene Möglichkeiten und die haben ja standardmäßig auch schon extract von PDF das können wir einfach mal auswählen und ja so ein extract von PDF ist relativ aufgebaut du siehst auch hier wieder und das ist jetzt wie eigentlich die Notes immer aufgebaut sind ne Note hat immer den Input das auf der linken Seite es hat in der Mitte alles was Du einstellen kannst und auf der rechten Seite was rausgegeben wird letztenendes kannst du dir das vorstellen wie wenn wir selber eine Schnittstelle bauen würden also wenn du eine Firma hast und die gibt ein Backend das hat eine AP Schnittstelle das ist genau das gleiche was hier passiert nur unter der Haube und dass du hingehen kannst und diese AP viel leichter aufbauen kannst weil du gar nicht erst irgendwie das alles im Projekt initialisieren musst sondern dieses extrict File das wäre auch einfach nur wie ein Endpunkt den du ansprichst genau und wir haben ja jetzt hier auf der linken Seite den Input der reinkommt in der Mitte können wir jetzt sagen was wir machen wollen und hier siehst du schon die Operation ist extract von PDF das sind die anderen die wir da eben auch schon in der Liste gesehen haben also das ist richtig an der Stelle mit dem extract von PDF und dann siehst Du Input binary field ne das ist ganz wichtig also der weiß jetzt schon du kannst ja mal Spaß ist halber was anderes auswählen als extractt von PDF da müssten sich die Felder da drunter ändern wenn du jetzt sagst beispielsweise von na okay in dem Fall sind die Felder gleich wir können ja mal gucken V ja gut die erwarten das gut dann habe ich mich getäuscht die erwarten dass hier alles als binary file ist aber auch nicht weiter schlimm der will halt jetzt das PDF an sich haben aus dem es extrahieren soll und er sagt dir schon in dem Fall steht da data drin unser unser binary file heißt aber nicht data könntest du dir vorstellen wie das heißt Beispielrechnung oder sage ich das wäre tatsächlich der Name ja das ist der Name von der Rechnung aber wir wollen uns nicht auf den Namen fokussieren von der Rechnung sondern auf dem Feld also auf das Feld ah okay dann wie hab wir das genannt noch mal scheiße das ist hier ein bisschen nustig man sieht nicht direkt aber es heißt Rechnung ja also wir sehen links oben einfach groß geschrieben Rechnung neung okay dem Fall groß schreiben machen oder genau in dem Fall leider ja das ist so ein bisschen der einzige Nachteil den jetzt hier an an dem Formular sehe was wir machen könnten ist wir können das ja einfach mal atok zeigen wenn du sagst du bist da sehr sehr penibel und du willst dass das immer gleich behandelt wird du willst dass das in ne wie man das vielleicht mit Konvention mit PSR Konvention aus aus der Programmierung kennt dass du das in klein geschrieben und in Englisch haben willst dann könntest du dir das erst aufbereiten du kannst aber kurz aus der Note rausgehen du kannst wenn du da zwischen der Verbindung zwischen dem Formular und dem extract da gibt auch plus wenn du da auf das Plus drückst kannst du dazwischen noch ein Note hinzufügen und hier kannst du mal eingeben Set also set und dann siehst du hier edit field Set da kannst du mal drauf drücken und da gibt's die Möglichkeit dass du hier selber sagst du willst ja das Mappen du kannst mal bei fields zu Setter einfach add field in dieses große Feld reindrücken genau und hier kannst du jetzt selber ein Feldnamen geben oder könntest du jetzt bepen invoice wenn du das jetzt in Englisch klein geschrieben habenst beispielsweise genau und dann könntest Du hier angeben was das genau für ein wert ist und hier müsstest du jetzt aber in dem Fall trotzdem Rechnung Mappen und da müsstest du dann großgeschrieben Rechnung sagen also du könntest hier Mapping stattfinden lassen und genau wenn du jetzt mal auf testep klickst dann sieht er hier invoice ist gleich Rechnung ach so das ist String wir müssen da mal dann String auswählen also der Datentyp ist natürlich hier dann in dem Fall okay erscheint hier leider gar kein binary zu haben an der Stelle wusste ich das auch nicht ein Objekt wird wahrscheinlich nicht reichen du kannst es mal ausprobieren ind du Objekt auswählst okay das ist an der Stelle schade das wusste ich so auch noch nicht aber wir lernen natürlich alle dazu er hat hier die Möglichkeit nur da irgendwie Jason zu pasen m gut dann müssen wir das so an der Stelle akzeptieren aber ja grundsätzlich sagen wir mal du hättest jetzt ein Formular und hättest da noch mehr Felder drin ne und du würdest das hier Mappen jetzt ist ja die Frage wenn wir dieses binary nicht benutzen können hier drin müssen wir uns ja trotzdem darauf referenzieren du kannst einfach mal du kannst hier übrigens auch komplett neue Felder aufstellen die beispielsweise nicht im Formular übergeben worden ich würde einfach mal sagen ähm nenn das Feld invoice mal irgendwie um in ähm ich weiß nicht ist irgendwas was wir gebrauchen könnten so oder so weiß es nicht ähm ja nenn es einfach mal Test ne dann wird klar was wir sehen wir können es dann wieder rausnehmen hier kannst du jetzt auch dein String lassen und kannst irgendwas schreiben Hallo Welt oder sowas genau und wenn wir jetzt mal hier rausgehen an der Stelle und dann rüber gehen einmal du kannst auch mal noch mal auf Test Workflow drücken oder in dem Fall wen mal wenn du jetzt auf Test Workflow drückst dann würde alles neu geöffnet werden dann öffnet sich auch das Formular neu und ich hatte ja vorhin erzählt dass du entweder den gesamten Workflow testen kannst oder einzelne Notes du siehst ja das Form submion Ding das ist noch grün und solange es solange das da ist und du es nicht neu testest oder nicht unten auf diesen delete button drückst sind die Daten noch vor die im zwischchenpeicher sind das bedeutet wenn du jetzt dieses edit field Notes weil da noch gerade ein Fehler drin ist wenn du das neu testen willst dann würde ich jetzt quasi nur da reingehen einmal also doch noch mal reingehen und jetzt hier oben auf Test step drücken genau und dann siehst du hier schon Test hallo Welt das ist in dem Fall er giibt dir das standardmäßig Jason aus und jetzt siehst du auch wie das dann aussieht wie das hier zurückgegeben wird und jetzt ist ja das Problem an der Sache W haben immer unseren Input und unseren Output aber in unserem Output ist binary nicht da also die Rechnung ist nicht da ja das heißt jetzt können wir aber mal rausgehen das was ich eigentlich wollte und jetzt müsstest du auch sehen genau edit fel ist auch grün weil da gab's jetzt keinen Fehler drin und wenn wir jetzt in extract V File gehen ist das Problem h ja irgendwie das ist ja nicht da du siehst ja hier was reinkommt das wird jetzt als table angezeigt aber du kannst es dir auch mal als Jason anzeigen lassen auf der inputseite und dann siehst Du wir kriegen nur das hallo welelt rein das ist aber gar kein Problem denn das coole an n8n ist du musst dich nicht nur auf die letzte noter kannst dich auch auf jegliche andere Note referenzieren und du siehst es bei Input auf der linken Seite da gibt's dieses Dropdown Feld und wenn du da mal reinguckst da siehst du auch on Form submion wenn jetzt on Form submion auswählst dann hast Du hier auch wieder die Rechnung okay ich würde vorschlagen um den Workflow da bisschen sauberer zu halten löschen wir einmal kurz einfach das was wir da er stellt haben löschen wir raus und verbinden wieder unser Formular mit dem Dings perfekt okay und jetzt kannst du in die extract from File wieder gehen da haben wir das eigentlich noch richtig und hier kannst du mal auf Tests drücken und hier siehst du schon genau was diese Note macht nämlich sie extrahiert dir aus der Rechnung den ganzen Text du siehst ja hier schon da auf der linken Seite beim ausp Output da gibt es in dem Jason ein Feld Text und da steht im Prinzip der gesamte Text der Rechnung einfach nur als Text okay und du kannst ja mal VI viicht das einmal öffnen die Rechnung oder warte mal PR nicht öffn du kannst auch auf der linken Seite auf view oder Download drücken das ist auch immer schön du hast direkt die Möglichkeit mit Sachen auch zu arbeiten hier siehst ja die Rechnung wie sie aussieht sehr cool auf jeden Fall an der Stelle und das ist eine Sache die ich persönlich an nftn Liebe du hast es sehr sehr leicht die Sachen ich sag mal zu diebacken weil du alles immer siehst was kommt rein was geht raus ja und hier siehst Du genau die Rechnung und wenn du jetzt mal guckst ganz oben steht in eckigen Klammern ihr Logo das wäre das ist hier in der Kopfzeile und das ist auch das erste was im Text extrahiert wird da steht nämlich ihr Logo und da sieht man nämlich der geht da Stück für Stück durch und macht das alles jetzt ist es interessant vielleicht fällt dir auf das zweite was hinter ihr Logo steht ist super n8n GmbH wenn wir auf der linken Seite in unsere Rechnung gucken dann sehen wir dass dieses super n8n GmbH das ist einfach ein testname den ich gewählt habe für uns quasi das werden jetzt wir an der Stelle m dass der gar nicht an erster Stelle in der PDF-Datei steht aber trotzdem irgendwie als zweites genommen wird also die Reihenfolge ist hier nicht ganz perfekt und jetzt ist natürlich die Frage wenn wir jetzt mit dieser Rechnung arbeiten wollen dann müssen wir das irgendwie zuverlässig extrahieren können weil wir müssen das ja irgendwie Mappen im besten Fall wollen wir diese ganzen Informationen die hier in der Rechnung stehen auch als einen Jason haben wie bei einer API Schnittstelle und jetzt kommt die Macht von der tatsächlichen KI ins Spiel denn es gibt zwei Möglichkeiten die wir haben die erste Möglichkeit wäre wir nutzen keine KI und nutzen ein einf eigenen Code und extrahieren das du kannst einmal kurz das Schließen den das modal ja einfach das gesamte modal indem du oben auf to back to Canvas genau du brauchst genau du brauchst es nicht öffnen ich meine komplett schließen wir wollen mal neue Note gucken okay okay übrigens du kannst hier auch einfach jetzt dieses extract vom PIL nehmen und kannst dir das hin und herziehen kannst du bisschen genau wie du das haben willst okay und jetzt kannst du mal auf das Plus noch mal drücken hinter ext File und wir geb einfach mal Code ein das nutzen wir zwar nicht aber ich will es nur einmal zeigen wenn du hier auf Code drückst das ist im Prinzip eine Note wo du eigenen Code schreiben kannst und du siehst hier schon der hat hier Mode der hat da drunter language und da gibt's JavaScript und wenn du dann geht der hat auch pipen also du kannst entweder pipen oder Javascript Code schreiben und genau eine Sache die ich dir hier noch zeigen will weil wir eben nicht dazu kamen weil binary in dem Fall ein bisschen besonders ist aber lösch einfach mal den gesamten Code da raus kurz kurz und du siehst ja hier auf der linken Seite alles was reinkommt und wenn du mal auf Jason drückst dann ist ein bisschen einfacher von der Sichtweise her alles was hier drin ist und das ist richtig richtig cool kannst du als Variable benutzen in so einem codefeld oder auch in je jeglicher anderen Note bei dem binary ist so dass die einzige Ausnahme bei binary Dateien müssen wir wirklich den Namen referenzieren deswegen haben wir da vorhin Rechnung geschrieben aber immer wenn wir mit dem Jason arbeiten könntest du einfach beispielsweise du kannst ja mal hier irgendwie irgendeins der Felder was du da hast text version ist Collection irgendeins von der Text kannst du nehmen und kannst mal reinziehen also per Drag and Drop ah probier das mal genau und kannst es einfach hier reinziehen und dann siehst du schon der zeigt dir genau wie du da dich darauf referenzierst und du kannst ganz unten rechts also was heißt ganz unten rechts in diesem code editor gibt es unten rechts in der Ecke so ein kleines Symbol ich kann da auch drauf drücken für dich stimmt ich hab ja sogarugriff drück da mal drauf aber oder ich habe drauf gedrückt dann siehst du das in etwas größer in dem Fall ist das jetzt hier ja nicht notwendig ne aber was du machen kannst auch wenn du dir nicht sicher bist was du machen willst das ist im Prinzip wie eine IDE wenn ich hier mal den Text entferne ne und du machst hier ein Punkt du siehst schon er schlägt dir automatisch die ganzen Sachen vor die verfügbar sind das heißt letztenendes ist das wie eine autocomletion die du benutzen kannst ähm und es ist alles hart typisiert das ist sehr sehr schön weil du immer nachgucken kannst was ist denn eigentlich in diesen Objekten drin ich auch hier und kannst D so durchden du siehst hier nur es gibt das binary das ist die Rechnung die wir haben oder es gibt Jason und dann kannst du halt hier Stück für Stück gucken was du haben willst so und jetzt könnten wir natürlich hier mit den dadurch dass wir in der Lage sind Code zu schreiben sagen okay wir nehmen diesen Text und wir nehmen beispielsweise ein RegEx pattern oder prüfen irgendwie den String und gucken finden wie Rechnungsnummer oder sowas in die Richtung das könnte man machen um zu versuchen das Ganze zu extrahieren es ist der Punkt aber das ist relativ aufwendig und in dem Fall weil unsere Datei hier ja nicht hundertprozentig immer in der richtigen also von der Reihenfolge so ist wie wir das vielleicht erwarten würden etwas schwierig und da gibt's einfache Möglichkeit wir könnenich jetzt hier KI nutzen denn KI wenn wir Beispiel einfach open nutzen dann die versteht das relativ gut die sieht den Text und die weiß was das ist ne wenn du das hier siehst die weiß ja was so ein Back n ist das ist ein Zeilenumbruch also die verstehen ganz genau wie das aufgebaut ist und kann auch nachvollziehen was was ist das heißt das wäre in dem Fall viel einfacher der einzige Nachteil daran ist so eine Open ai Anfrage kostet ja letzt nendes Geld jetzt ist es so dass Open ai dass die API an sich relativ günstig ist im Vergleich zu den wirklichen Modellen und das kommt auch drauf an welches chatmodell du benutzt grundsätzlich ist es so diese chatmodelle Kosten per Tokens also du kannst dir beispielsweise für 10 10 10$ in dem Fall kannst eine Millionen Tokens kaufen und eine Anfrage an Modell kostet dann so in der Regel ja 1000 bis 2000 Tokens kommt drauf an wie aufwendig das ist und auch was für ein chatmodell du benutzt und das ist also gar nicht schlimm an der Stelle das ist relativ günstig macht für die meisten Unternehmer halt auch Sinn ich bin jetzt mal so frei und zieh das mir mal hier so ein bisschen wir würden das Entfernen die codene und du kannst jetzt mal hier reingehen ich mag nä mich lieber wenn du das selber machst ich glaube das bringt dir an der Stelle mehr und kannst mal nach open ai suchen da siehst du oben schon open ai und das immer gleich aufgebaut die haben also immer es gibt den entsprechenden Anbieter den du suchst und dann gibt es das kann beispielsweise auch Google sein und dann gibt es immer die ganzen actions die die haben irgendwas was du anbinden kannst und hier siehst du unter Text actions gibt es message a model message bisschen runter das W ein assistant zwei weiter runter ah hier da kannst auf messager Model drücken und was das hier ist das ist letzten Endes im Prinzip genau das gleiche wie wenn du an ch Beat rangehen würdest über eine Benutzeroberfläche ja nur dass du viel feingranulare noch bist du kannst nämlich hier beispielsweise auch sagen welches chatmodell du genau benutzen willst wobei das kannst du bei Chat auch aber ja als allererstes müssen wir jetzt aber hier credential erstellen die hast du an der Stelle noch nicht das ist ein bisschen blöd für dich weil du musst er ein Account erstellen natürlich und wir hatten ja vorhin abgesprochen ich gebe dir einmal meine Sachen da an der Stelle durch damit das schneller geht ich kenne den Steven privat und alle Leute die sich jetzt wundern also ich würde nicht jemanden von euch Zuschauern auch wenn ihr alle toll seid die Sachen geben deswegen ja gucken wir einmal kurz rein ja genau und zwar haben wir hier irgendwo in meiner Datenbank open ai key oder ich habe ih nicht dann muss ich einmal kurz selber nachgucken drüben hier du siehst ja auf jeden Fall im Prinzip bei Open Air ist es ganz einfach du brauchst einfach nur ein AP key und genau den AP key kriegt man einfach da habe ich ein Video an alle die es interessiert guckt gerne oben rechts in der Infokarte da verlinke ich euch dann das Video dazu das 5 Minuten wie euch da ein accounter stellt und ist ganz einfach also wirklich ein Kinderspiel da so ein apik zu komm dauert noch ein ganz kurzen Moment ich muss mich hier einmal mein Account einloggen und dir da dann aus den Settings den apik geben ja so my profile AP Keys und dann mache ich hier neuen AP key den kopiere ich mir den kann ich jetzt hier hoffentlich einfügen direkt besten war es wunderbar da ist auch schon drin seht wirklich so Kinderspiel ich habe einfach gerade einen neuen AP key generiert ähm und ja okay dann sieht man ja hier schon dass die Connection successful li war und letzten Endes vielleicht so als einfach um weil du ja auch noch neu in dem Thema bist immer dann wenn irgendeine dieser Notes ein credentials braucht also eine Verbindung zu irgendwas beispielsweise wenn du Google benutzen willst willst du ja sicherstellen dass nicht jeder auf deinen Account zugreifen kann dann brauchst Du eben irgendwelche crentials so das sind manchmal sind das AP Keys manchmal sind es noch irgendwie eine URL beispielsweise bei superbase das guck uns auch noch an und in dem Fall ist das ganz simpel aber grundsätzlich ist die Note ja immer m no grundsätzlich ist der N ja immer so aufgebaut dass du hier die Einstellungsmöglichkeiten hast und die Credentials findest du immer ganz oben ist immer das erste was du verwinden musst und der ist jetzt auch hier gespeichert drin das ist super weil da musst du das nicht jedes Mal neu eingeben der muss ja drin bleiben ganz wichtig noch vielleicht ab und zu sollte man immer mal hier oben aufs speichern drücken denn tatsächlich ist es so dass wenn du das nicht tust mir ist das schon passiert dass ja du böses Erwachen haben kannst wenn du dein Browser dann schließt dann sage ich Zar noch mal hier willst du speichern aber wenn du dann auf nicht auf Nein drückst od abbrechen dann ja eine Sache die ich Dir gerne zeigen würde klick mal hier auf overview auf der linken Seite also wir gehen mal auf unser aus unser Projekt raus und du hast siehst ja jetzt hier ist dein Workflow momentan das ist der den wir erstellt haben in der Mitte und was Du auch siehst ist du hast daneben einen Tab der heißt credentials da kannst du mal reingehen ja und hier siehst du ist auch der open account open ai Account verbunden das bedeutet letzten Endes du hast immer die Möglichkeit jetzt credentials anzulegen und die dort zu pflegen du könntest jetzt auch hier direkt schon neue credentials anlegen das wäre wenn du oben bei dem create Workflow da gibt's auch create credentials mhm und wenn du da gehen würdest könntest du direkt aus der Liste verschiedene credentials auswählen und das heißt du könntest dich schon Vorhinein verbinden bevor du überhaupt den Workflow out hast das macht bei Kunden oft sin wenn man im Prinzip in den technischen Onboarding oder so hingeht und sagt ey wir richten einmal hier alle Accounts schnell ein damit du nicht jedes mal wenn du an den Punkt kommst dann wieder zum Kunden Rennen musst und sagen musst ey bitte hast du Zeit ich brauche das ja ja genau ja genau cool du kannst wir können jetzt zurück auf Workflows gehen vielleicht noch eine Sache kurz du kannst hier Projekte erstellen du kannst glaube ich in der kostenlosen Version kein weiteres Projekt erstellen aber hier könnte man noch Leute einladen beispielsweise projektmember und den kann man ein Namen geben und alles wird unter alles was dir zugewiesen ist wird unter Personal gespeichert hier ist im Prinzip dann eine Liste von allen Sachen die ist bei mir schon endlos lang in dem Fall gibt's hier nur einen einzigen würde sagen wir gehen zurück hier oben rechts kannst du übrigens immer deinen Workflow Namen anpassen sagen wir einfach ja lassen wir erstmal so ist auch egal spielt keine große Rolle ja genau kann man auch kurze Frage sorry kann man auch auch work transferieren an andere Leute oder nur durch genau ja du kannst du kannst hier das ist wie ein Projekt ist im Prinzip wirklich abgetrennt auch wenn du es hier in der Sache hast kannst du die verschieden zwischen Projekten oder auch jemand anderen zuweisen per E-Mailadresse das geht ah okay also wenn du den Einl lst und der dann ist akzeptiert so kan mal gerade gucken kurz du kannst hier beispielsweise move wäre das dann an der Stelle da kannst du hier Projekt auswählen genau und das gibt's auch irgendwie über die Einstellung dann noch mal all das ist auf jeden Fall möglich mhm so unser open ai Note ist immer noch rot also wir müssen da noch weitere Einstellungen machen rot heißt nicht immer nur dass ein direkter Fehler vorlegt es kann auch einfach sein dass S noch nicht fertig konfiguriert ist das heißt du kannst da wieder reingehen genau und du siehst auch rot schon was anmarkiert ist nämlich da wir haben genau vielleicht noch mal ganz kurz vorab also wir haben eben die Credentials hier oben angelegt dann haben wir resource ist Text das ist letztenendes vollkommen in Ordnung so ne das sind die verschiedene Sachen die Du aufrufen kannst ähm genau dann sagen wir Operation message Model also wir wollen den eine Message schreiben und dann kannst du hier das chatmodell auswähen kannst einfach mal reinklicken und gucken und das sind jetzt alle GPT Modelle die es gibt jetzt ist der Punkt immer so ein bisschen ja was soll man denn da eigentlich nehmen es macht große Unterschiede ganz großes Vorsicht nutzt kein GPT 4.5 also nicht das Neueste was rausgekommen ist das ist das teuerste Modell was es jemals gab ähm da da geht's wirklich in die Kosten richtig hardcore rein ansonsten gpt4o dieses o steht immer für die reasoning Modelle das ist für unseren Fall ganz sinnvoll das ist nicht zu teuer ich würde das nehmen an der Stelle wenn du einen ganz simplen Task hast wie beispielsweise ja irgendwie ein Text matchen oder sowas so ein subject von ein E-Mail oder was auch immer da kannst du auch die gpt3 Modelle benutzen auch die Minis was auch immer also das ist an der Stelle kein Problem mhm genau das hast du jetzt das Modell ausgewählt und du siehst ja auch schon bei message das steht prompt ja genau und was du mal als allererstes machen kannst ist du siehst wenn du da drüber hast da steht oben fixed und expression ja fixed ganz wichtig ist wie wenn du einfach nur ein fixen String hast da können dann keine Variablen rein sondern wenn du eine Variable da reinschreiben würdest dann würde das das als String erkennen einfach das ist wenn du jetzt wirklich einfach nur eine System message hast ohne dass du irgendwas zusätzlich angeben willst und du hast einfach nur ein festen String feste Nachricht wir wollen aber hier in der Lage sein natürlich noch ja im Prinzip Variablen mit in den Text einzubauen deswegen kannst du da schon mal auf expression drücken okay und was ich sowieso daran mag ist wenn du auf expression drückst dann siehst du auch da unten wieder dieses kleine Icon wo du einmal drauf drücken kannst und hier hier wird's jetzt nämlich cool weil was Du hier nämlich siehst ist im Prinzip auch auf der linken Seite deine ganzen Notes wo momentan keine fel sind wir müssen gleich ein ein mal den Workflow noch mal neu starten in der Mitte siehst du das was du schreiben kannst aber hier kannst du deine ganze expressionion alles schreiben und auf der linken Seite siehst du was rauskommt das heißt du siehst jetzt hier kommt auf AAA raus weil das ist das was ich geschrieben hab genau als allererstes brauchen wir aber hier Daten weil du siehst wir haben keine Fels mehr das passiert ab und zu das ist aber nicht schlimm dann kannst du einfach hier rausgehen du siehst es ist grau umrandet das heißt wir haben irgendwie das ist weil wir rausgegangen sind aus dem Workflow weil wir eben einmal das gespeichert haben und rausgegangen sind hat er im Prinzip diese zwischeneng gespeichert hatten Daten von unserem PDF verloren das heißt was du jetzt machen könntest einmal auf Test Workflow drücken wir wollen nämlich den gesamten Workflow einmal durchlaufen lassen dann wählst du hier das PDF wieder aus wunderbar und dann kannst du wieder reingehen und er ist schon so schnell dass du es gar nicht siehst wie er durchläuft jetzt kannst du mal in die Open Note gehen und genau du siehst jetzt hier wieder auf der Seite was da rauskomt wir gehen jetzt mal in den prompt rein der ist ja leer an der Stelle guck mal assistant sagt dir so hello Co how I help you weil er ja nicht weiß was du von ihm willst und dann kannst du wieder auf das kleine Ding das Drücken an der Seite ich drücke dir D mal drauf so und jetzt sehen wir auch hier dass wir auf der linken Seite eine ganze Menge an Dingen haben und ich habe da mal was vorbereitet weil ich wusste dass wir über Rechnung gehen wir können das wie gesagt dann auch noch anpassen aber ich schick dir oder ich Paste mal hier was rein und dann können wir das mal durchgehen damit wir hier nicht ewig lange brauchen so das ist tatsächlich jetzt ein relativ ausführlicher promt aber was ich gemacht hatte weil ich habe dir auch die Rechnung vorbereitet ist ich hate dir ein systempromt gemacht der uns das ganze in den Jason formatieren soll wir hab mir eben drüber geredet dass es mit Code ein bisschen aufwendiger wäre als es vielleicht sein muss und wir haben jetzt was wir hier gemacht haben ist ich habe als allererstes mal geschrieben ne was er ist ne du bist ein Assistent der dazu dient Rechnungsinformationen aus einem extrahierten Text zu extrahieren der Text stammt aus einer Rechnung die ursprünglich in einem PDF Format vorlag und nun als Text vorliegt deine Aufgabe ist es diesen aus diesem Text bestimmte Felder zu extrahieren und Jason obek zurückzugeben das wäre im Prinzip das was ich chch B schreiben würde aber je genauer wir natürlich sind desto besser weiß er was er machen soll und genau das heißt alles was hier ich jetzt reingeepostet habe ist fix das ist jedes Mal die gleiche Anfrage weil das ist einfach nur bien String so das hätten wir tatsächlich auch statisch ohne expression machen können jetzt ist aber der Punkt wir haben hier an der Seite den Text den wir aus der Rechnung extrahiert haben und der ist ja immer variabel und diesen Text wollen wir benutzen und du siehst schon ganz hier unten habe ich dann geschrieben nachfolgend findest du den Text aus dem du die rechnungsinformation extrahieren sollst und was du jetzt mal machen kannst das das haben wir Kinderspiel kannst es einfach nehmen und kannst du es da reinziehen mhm und dann siehst du auch schon wie das aufgebaut ist und du siehst unten auf der jetzt hier auf der linken Seite ne in grün sieht man immer was variabel ist das finde ich echt sehr schön sehr übersichtlich also du hast hier oben ne das was fix der prompt ist und unten das was lariabel dazu kam ja das ist schon relativ ausführlicher prompt also ich würde gucken der prompt sollte no nicht zu lange werden in dem Fall ist es kein Problem aber was wir ja gesagt hat wir hatten jetzt hier ein 40 Modell benommen das ist dann an der Stelle auch sinnvoll also wenn ich jetzt irgendwie ein 3.5 mini oder so nehmen würdet das wäre eine Sache wo eventuell das Ding nicht so 100% das macht wasun V Modell kann das aber super ab ja und jetzt können wir das ganze eigentlich einfach mal testen und können mal gucken was dabei rauskommt wir müssen an der Stelle nicht unseren gesamten Workflow neu testen du kannst einfach dieses jetzt hier das erste modal schließen also das was wir hier sehen und kannst in der Open Note mal auf Test step oben drücken dann dauert das kurz und dann siehst du hier okay der hat das nicht ganz so gemacht wie wir es wollten er hat das in dem Fall jetzt hier in einem Content gemacht und ich kann dir auch sagen warum ich habe nämlich hier haben wir noch was vergessen was wir machen sollen in dem Fall hat er uns das kuriert das ist an sich cool aber wir wollen sicherstellen dass es auch wirklich ein jason ist weil was er hier drin hat ist letztenendes nur auch wieder ein String in dem contentfeld siehst auf auf der linken Seite weil du siehst ja meine Maus nicht ne siehst du Content als als property also als Feldnamen und da hinten siehst du ein String ja und wir könnten das vielleicht jetzt irgendwie pasen aber es gibt da eine ganz einfache Möglichkeit und zwar siehst du unten noch zwei Einstellungen die wir tätigen können und zwar siehst du das simplify Output das wollen wir auf jeden Fall nicht das kannst du ausschalten und Output Content s Jason das wollen wir alles klar und die Rolle von dem Modell da kannst du auch mal drücken auf das Dropdown da wollen wir sagen System weil im Prinzip das ist die Rolle in die er sich da reinversetzt er soll aber nicht der User sein und den User replizieren soll er soll das System replizieren so jetzt kannst du mal noch mal auf teststep drücken jetzt gucken wir mal ob das besser funktioniert das schöne ist wie gesagt uns Daten sind ja alle noch vorhanden und guck dir das mal an ist das nicht schön okay wir haben jetzt hier ja viele mögliche Sachen und er hat hier ne wir haben jetzt gesagt wir haben ja nicht simplify Output gemacht wir können es mal ausprobieren ich bin mir tatsächlich nicht sicher er macht das wahrscheinlich trotzdem uns ordentlich als Jason weil wir haben ja hier letzten Endes gesagt der ist ein Jason du siehst hier ist es deutlich simpler in dem Fall könnten wir das auch machen so lassen wenn wir das nicht machen haben wir noch ein paar andere Felder auf die wir uns referenzieren können also wir sind noch mal deutlich in der Lage mehr Dinge zu nutzen beispielsweise steht hier auch jetzt hier tot Tokens hier siehst du beispielwe wie viel Tokens verbraucht wurden hier siehst du promp Tokens completion Tokens total Tokens ne also hat 10037 gebraucht ich kann mal gerade ups ich wollte das nicht bei dir machen guck mal gerade bei mir nebenbei dass wir das mal ausrechnen wir haben 1 Millionen Tokens für 10 das heißt 10 wie oft passt in die warte mal wie auf passt in die eine Millionen das rein durch ich sage jetzt einfach mal grob 1000 ja das ist leichter das sind 1000 also 1000 passt 1000 mal in die Millionen ist klar und das heißt du könntest 1000 mit 10$ könntest du 1000 solche Anfragen machen ah interess ja vielleicht einfach mal ganz interessant zu wissen so an der Stelle genau ich weiß jetzt nicht wie viele Rechnungen man dann verarbeitet kommt drauf an aber das ist eigentlich das ist im Rahmen ja also wir reden jetzt hier klar wenn du jetzt Unternehmer sagen wir mal du hast so im Durchschnitt irgendwie 100 Rechnungen im Monat so kleines mittelständisches Unternehmen würde ich sagen das kann schon ja schon hinkommen so je nachdem was du als Service hast das ist dann definitiv im Ordnung ne also wir reden dann hier von 10$ im Jahr oder so muss man aber auch fairerweise sagen das sind die Kosten für diese eine einzige Note an der Stelle ja ja genau wir lass das hier einfach mal so genau aber wir können eigentlich simplify Output nehmen das ist in dem Fall sollte es einfacher sein wichtig ist dass es immer im gleichen Format ist als Jason ne und das macht er hier indem er immer das in Content packt also wir haben hier noch zusätzliche Informationen die wir ja gar nicht dem gesagt haben also wenn du in den promt reingehst dann siehst Du wir haben hier gesagt wie das Jason aussehen soll und jetzt könnte man sich vielleicht wundern warum sind da aber noch mehr Information ich habe ja gar nicht ich will das assistant vielleicht gar nicht haben ja ist halt so ne jetzt ist der Punkt aber das sind Informationen die grundsätzlich standardmäßig zurückgegeben werden an der Stelle auch die Finish reason ne warum hat er gestoppt wenn er irgendwie irgendwas hat und wenn du jetzt sagst du hast eine externe API beispielsweise eine Schnittstelle irgendwie zu einem externen Service und der Brauch aber wirklich eins zu eins das genauso wie du das hier definiert hast ne also ohne dieses ohne das hier oben mit dem Index und dem Message und du bist jetzt so ey ich will das aber genauso haben ich habe dir doch gesagt ich Willer das hier so haben ist kein Problem weil es ist immer gleich aufgebaut und was du dann machen könntest ist ich gebe dir das mal als Rätselaufgabe was könntest du dir vorstellen wir haben das schon benutzt einmal wir haben es aber wieder rausgelöcht wie du das machen könntest äh die Formatierung quasi zu ändern äh okay ich glaube wir hatten das in der Mitte gehabt äh mit äh ich war das Data vielleicht also genau nicht ich kann ne natich W ich jetzt bisschen zappeln dass so in dem Fall ne nee ist eine setne gewesen Z hießt das ah jetzt aber so an als sicher ein frage bevor Du es hinzufügst macht es Sinn da wo du es gerade hinzufügen willst oder wo würden wir das machen also wir haben was von der Open stimmt ja stimmt das muss nach den also qu nach den Outlook ja genau nicht genau und eine Sache noch mal bevor wir das machen geh mal kurz raus ich weiß nicht das ist irgendwie uns gerade passiert aus z seehen also erstmal das allererste ist der du kannst hier die Verbindung mal löschen das ist fehlerhaft die soll nicht wieder reingehen und du siehst da steht bei Open deactivated du kannst mit Rechtsklick kannst du das aktivieren oder deaktivieren m wir haben es irgendwie aus seehen vielleicht we ich das auch deaktiviert kannst du wieder aktivieren genau okay ja und jetzt kannst du das Set Note reingehen und du kannst jetzt hier warte mal ist der noch am Laufen s ich gehe mal kurz fürich raus mal gucken kan gar nicht rausgehen ah ja okay also open ai das müssen wir noch mal neu durchlaufen lassen ach so es ist nicht ah ja das ist wegen der setne da siehst du ist nicht verbunden ich habe ich gerade gewund wenn du hier reingehst siehst du auf der rechten Seite wenn da steht W me ab dann aus ir Grund manchmal bist du bisschen weird manchmal passiert das dann kannst du das einfach nehmen ne kannst ja hier so hin und her Zehen und kannst es hier wieder verbinden und jetzt siehst du auch jetzt ist hier wieder das drin sagen wir einmal Test step schnell weil wir brauchen ja die Information und genau wenn wir jetzt HS hier reingehen an der Stelle in die edit fields dann siehst du hier auch wieder die Information und was was du jetzt hier machen könntest ist du könntest wenn das eine AP ist die das braucht könntest Du hier irgendwie sagen ne mein Feld oder so wie auch immer das halt heißen soll und könntest sagen okay du nimmst dir halt einfach den gesamten Content dann da rein und dann hast Du hier das ist natürlich kein String sondern das ist ein Object und das ist ganz wichtig jetzt hat man hier so ein bisschen diebuging okay warum ist das jetzt hier nicht so wie ich das erwartet hab das Mus dir als Objekt ausgewählt werden und dann würdest du hier sehen so könntest du den Rest quasi raus auspasen das wäre eine Möglichkeit interessant brauchen wir in dem Fall aber nicht ja wir haben jetzt hier die Daten jetzt die Frage was wollen wir damit machen wir könnten jetzt hingehen und vielleicht das in superbase anbinden wenn du willst also in der Datenbank einfach schreiben das wäre eine Möglichkeit also die Felder einzeln wir können auch irgendwas anderes machen also sag mir einfach worauf du Bock hast oder was du glaubst was man damit machen könnte vielleicht wenn du eine Idee hast ich glaube super W sich essant an ja in der Datenbank zu speichern für die Zuschauer bestimmt auch ganz interessant haben wir so noch nicht auf den Kanal gehabt mit superbase genau super Base für alle die es nicht wissen Datenbank benutzt Post squ im Hintergrund könnt ihr euch ein kostenlosen Account erstellen ist zum gewissen Grad kostenlos kann man sich selber aufziehen ist ganz wichtig wenn wir beispielsweise datenschutzkonform arbeiten wollen wir sind ja jetzt hier in der n8n Cloud wenn ihr jetzt einen Kunden habt und gerade für Beispiel rbots also Bots die oder Chatbots die eigene Daten von euch Firmen interne Dokumente benutzen dann spielt Datenschutz natürlich eine große Rolle und da ist es wichtig dass wir dies n8n selber hosten und vor allem auch das superbase selber hosten damit die Daten eben bei einem selbst liegen und das kann man machen das gibt's in unser Premium Community für die sich interessieren je nachdem wann ihr das Video schaut am 24 geht die Premium Community online da legen wir besonderen Wert auch auf die Datenschutzkonformität und zeigen im Prinzip mit mehreren basisprodukten die ihr dann direkt weiter verkaufen könnt oder in eurem Unternehmen benutzen könnt und es gibt noch viel mehr spannende Dinge guckt gerne mal in der Free Community vorbei Link ist unten in der Beschreibung da seht ihr dann ein bisschen mehr Informationen dazu was das genau ist ansonsten auch free Community auch eine tolle Sache könnt ihr euch austauschen mit gleichgesindnen und auf Fragen stellen ähm das an der kleinen Stelle als Werbung ich würde sagen wir erstellen uns ein super Konto oder du hast schon eins wenn ich ähm das richtig verstanden hab ja kannst du da mal reingehen hast du ja glaube ich sogar eine der Seite schon offen mhm vorbereitet cool dann ja äh ich würde sagen wir sollten ja wahrscheinlich neues Projekt anlegen an der Stelle ja so the billcp nice genau ja wie auch immer man das nennen kann ja workflore passt an der Stelle super glaube ich genau central Frankfurt ist gut ähm für alle die das jetzt sagen ey wo ist mir zu schnell wie kommt ihr eigentlich dahin superbase könnt ihr einfach eingeben im Internet da könnt ihr euch ein Account erstellen dann kommt ihr genau in dieses Dashboard und das hier letzten Endes der Steven war und könnt euch dann da einen Account erstellen genau ja ich würde sagen wir können jetzt hier create project genau und ich habe das schon mal letztens gesucht das funktioniert mittlerweile anders wenn man sich Verb m was relativ easy an der Stelle wir gehen erstmal wieder n8n und gucken mal was wir da brauchen also kannst mal auf das Item drücken und jetzt das tolle ist gib mal superbase ein die haben direkt schon superbase vielleicht auch mal so grundsätzlich gib auch mal was anderes gib mal Google ein einfach nur um mal zu sehen was da für eine variety ist ne es ist also es ist Wahnsinn was die alles an Servicen haben alles was irgendwie auf hat oder auch Outlook oder Teams oder slack oder auch CRM Systeme Z CRM wie heißt das Hub C es gibt auch dieses Hub hab jetzt voll den Namen vergessen wie auch immer interessant aber es ist wirklich wahnsinn was die alles an Integrationen haben und genau das ist eigentlich an der Stelle ganz cool HTML Note vielleicht auch interessant für Dich mal irgendwann weil ja Anwendungsentwickler bist wenn Du beispielsweise eine HTML content hast und du willst dich auf ein bestimmten Teil referenzieren kann man da auch wirklich Klassen referenzieren um nur bestimmten Teil zu bekommen aus dem HTML aber ja wir wollen uns superws angucken mhm so und genau hier kannst du jetzt be sagen create row wäre das an der Stelle wir wollen ja neue row erstellen und hier oben sehen wir jetzt gut wir brauchen credentials das heißt wie das vorin erwähnt war sind immer zuerst die Credentials da kannst du neu drauf drücken und hier siehst du hier gibt's nämlich jetzt Beispiel ein Host und ein Service R key und ja das allererste was ich jedem empfehlen kann wenn ihr nicht wisst wie das geht bevor ihr auf Youtube geht bevor ihr ins Internet geht undter sucht außer ich hätte jetzt schon ein Video dazu dann könnt ihr gerne oben rechts gucken in der Infobox aber aber grundsätzlich ist da oben immer dieser Infotext need help filling out fiels open Docs kannst du drauf drücken um das D zu zeigen und ich sage euch die Docs sind super die meisten Leute sind so ein bisschen ich sag mal ängstlich was Dokumentation angeht weil immer so viel Informationen drin stehen aber wenn du hier mal ein bisschen runter scrollst da sieht schon direkt hier using Access talken da steht to configure das credential un need a host and service rule und da steht ganz genau wie man sich das generieren kann nämlich in superbase Account go to Dashboard create or select the project das haben wir getan wir haben neues erstellt und dann geht zu project Settings zu API und da findest du dann die Sachen also hier steht eins zu ein beschrieben wie ihr das braucht das ist immer der erste Anlauf würde ich sagen dass ihr hier reingeht und guckt und das kannst du jetzt mal machen du kannst mal ein super B gehen mhm dann an der Seite in die projektstings wäre das dann ganz unten ist das glaube ich genau und dann gucken wir mal ähm was hat er gesagt was stand da guck mal selber rein stand AP ah jaau ne ne passt schon du bist schon richtig genau an AP da ist ja jetzt noch so ein zeitmenü und dann gibt's configuration data AP natürlich ist es so man muss immer ein bisschen gucken also das hier haben jetzt genannt API aber gut data API ist im Prinzip genau das gleiche und hier sehen wir es ja schon project URL da gibt die URL die können wir uns mal kopieren das ist das allererste was wir brauchen das packen wir beim Host rein und das zweite ist dann der Service Roll key das heißt auch genauso da steht auch secret ne reveal würde ich nicht machen ich würde wahrscheinlich irgendwie auf Kopieren einfach nur drücken wobei ich weiß nicht ob du das so kopieren kannst an der Stelle kannst mal auf save drücken und gucken aber die Connection ob das passt nee es passt nicht okay dann drück mal auf reveal probier mal nicht aber zu scrollen das macht für mich einfacher mit dem blurn genau kopier das und jetzt kannst du rüber gehen wunderbar okay ich ich blörde es dann im Nachhinein völlig aus alles klar okay jetzt kannst du noch mal auf safe drücken und BAM das war's schon also ihr seht das ist super einfach das zu verbinden und einfach nur mal um das in Perspektive zu setzen es gibt natürlich auch viele tolle Tools wie verell bei denen das sehr sehr einfach ist ein super Base Account zu verbinden aber wenn wir als Softwareentwickler hingehen und sowas anbenden wollen es ist jetzt nicht super schwer für jemanden der Erfahrung hat aber es ist einfach viel viel aufwendiger als das hier der Fall ist und ja um eine wir können jetzt mal reingucken um eine row zu schreiben müssen wir aber erstmal eine Tabelle erstellen weil wir sehen ja hier wir wollen eine row createn also erstellen aber wir haben ja noch gar keine Tabelle und das steht auch da ne du siehst table name or ID und da steht er fetching options vom superbase es liegt einfach daran dass wir noch keine Tabelle haben das heißt du kannst jetzt hingehen kannst in den superw Ding gehen keine Sorge ich BL dir das auch hier weg nice so genau so und hier müsste jetzt keine stehen genau und da kannst du jetzt ein neuen Namen hinzufügen und jetzt ist natürlich so das ist für den für den Steven hier an der stelleung natürlich einfacher weil er bisschen Erfahrung hat mit Softwareentwicklung und lasst euch nicht erschrecken ich würde für die Zuschauer auch ein bisschen drauf eingehen was mir also habt hier oben natürlich einfach den Tabellen Namen description brauchen wir nicht und unten seht ihr Colums das sind im Prinzip Felder die wir abspeichern wollen in einer Datenbank und das erste ist eine ID die ist immer hier geset da steht auch ein Haken primary das ist im Prinzip die primäre Identifikation für unsere Tabelle um uns auf eine Zeile zu referenzieren ist nichts anderes als hättet ihr eine Excel Tabelle wo ihr letztenendes eure Daten in verschiedene Spalten reinschreibt und dann habt ihr noch eine ID damit ihr euch eindeutig auf einem bestimmten Datensatz oder eine bestimmte Zeile referenzieren könnt und created ad gibt's auch immer standardmäßig das könnten wir jetzt rauslaschen wir lassen es aber an der Stelle einfach drin da sehen wir dann einfach ein Timestamp also ein Zeitstempel wann dieser Eintrag hinzugefügt wurde ist g wenn wir irgend Fehler haben an der Stelle aber wir können jetzt hier auf Add colum drücken und können D noch ein neues ja neue Spalte hinzufügen und was ich jetzt machen würde ich sag dir einfach mal die Sachen an der Stelle die wir hinzufügen wollen wir wollen hier als alles als allererstes mal invoice number genau in einer Datenbank ist es meistens so das ist eine Konvention ne dass wir das mit unterstrich hier schreiben für die Leute die sich jetzt wundern warum wir hier mit unterstrich schreiben das ist einfach dann hat man eine gewisse Einheitlichkeit ihr könnt natürlich machen was ihr wollt aber ja und das wäre an der Stelle ähm ich würde ein String nehmen weil wir haben das hier bis jetzt alles an String weil wir bei Jason kommunizieren das ist an der Stelle einfacher wenn wir damit arbeiten können wir pasen auch hier für die Leute die technisch nicht so viel Hintergrundwissen haben das sind Datentypen also es gibt den eine number das ist eine Zahl und es gibt ein String String ist eine Zeichenkette und jetzt könnte es ja sein wenn wir ähm ja Sebastian 1 schreiben und wir hatden dann das ist definitiv eine Zeichenkette das ist keine Zahl so und wir könnten aber auch einfach nur eine ein Schreiben und das ist nicht standardmäßig von dem Computer erkennt er nicht immer standardmäßig dass es wirklich eine Zahl sein soll das könnte auch eine Zeichenkette sein aber ja geht vielleicht zu tief rein kannst du erstmal auf n lassen der defaultwerert also wenn es nicht ausgefüllt wird ja wir fügen noch ein colum hinzu und sagen mal hier recipient Name oder einfach nur Name vielleicht ja das ist letztenendes der Name dann von an dem wir die Rechnung stellen letztenendes das sind ja nur Beispiele die wir hier machen müssen auch nicht alle Felder nehmen jetzt eine Frage so an dich wenn du mal ins Jason noch mal gehst können wir da jetzt einfach wechseln ja ich glaube ja du siehst ja hier bei Items also das sind die ganzen Produkte die wir haben wollen wir das direkt machen dass wir eine Sub Tabelle anlegen für Produkte oder möchtest du sagen wir lassen es erstmal raus we das Beispiel geht ich würde sagen es sinnvoll vielleicht nur den Preis zu nehmen okay dann machen wir das genauso und dann kannst du hier noch price hinzufügen genau und price ist ja das jetzt der Punkt price ist in dem Fall bei uns auch tatsächlich ein float float für die Leute wissen ist eine Kommastelle also Dezimalzahl und genau ja das passt an der Stelle dann können wir hier auch einfach mal auf save drücken das dauert jetzt ganz kurz genau wunderbar und hier haben wir jetzt unsere Tabelle Rechnung und vielleicht gucken wir dass wir mal den Leuten mal zeigen wenn du an der Seite irgendwie auf die Tabelle noch mal drauf drückst wie das aussieht wenn man in der Tabelle drin sind das ist das Schema so nennt sich das das sieht man auch bei n8m und wenn wir da jetzt an der Seite irgendwie ist das ne glaube ich wenn man da auf da hier auf table genau table Editor da sieht man jetzt alle Tabellen wir haben bis jetzt nur eine einzige Tabelle also Rechnung wenn man hier rauf geht auf Rechnung dann sieht man hier die Felder ne ID created ad invoice hier sieht man auch ne was ist das für ein Datentyp an der Stelle aber es gibt eben noch keine keine Datensätze also die Tabelle ist leer aber das werden wir jetzt ändern indem wir in n8n zurückgehen ja und genau dann können wir jetzt einmal kurz du kannst mal die Note hier einmal zumachen wieder öffnen das ist einfach um das an der Stelle zu refreshen genau und jetzt siehst du auch hier BAM da ist die Tabelle Rechnung sehr cool also hat H ein Dropdown Menü direkt schon wir könnten auch hier ne in dem Fall du siehst ja da steht auch wieder fixed das ist in Ordnung in dem Fall das ist ja die fixe Tabelle aber stell dir vor du hättest dynamische Tabellen oder irgendwas oder du willst das irgendwie mit Daten machen die du bekommst willst D dynamisch referenzieren dann könntest du auch immer auf expression gehen und könntest da ja deine Variablen drin benutzen eine Sache die ich Dir ganz kurz noch zeigen würde auch wenn das hier an der Stelle wenig Sinn macht mit dem Tabellennamen wenn du hier drin bist und expression ausgewählt hast dann ist das nicht nur dass du Variablen hier benutzen kannst sondern es ist tatsächlich du kannst hier Javascript Code drin schreiben das heißt man macht das hier immer mit so zwei Klammern hier und hier siehst du ja die Sachen die ja vorschlägt was du aber auch machen könntest beispielsweise ist du kennst das vielleicht mit einem du könntest hier ein if shorthand schreiben so ein if für die Leute das kennen also du kannst hier an der Stelle auch Code direkt drinschreiben und ja kannst dann auch zu Chat GPT gehen oder für alle Leute die sich da irgendwas aufbereiten lassen wollen wenn ihr beispweise sagt ihr habt hier ein rechnungsnamen oder so oder hier invoice number und ihr wollt vielleicht ne 2025 ihr wollt nur das hintere Ding haben oder so dann könnte man jetzt hingehen könnte das halt dann nehmen und könnte jetzt gucken dass man hier das einfach chatgpt gibt und sagt ey wie kann ich hier den vorderen Teil entfernen und das wäre dann in Javascript wahrscheinlich irgendwas für eine replace Funktion an der Stelle wo du dann irgendwie hier sagst ne wo er das Splitten soll od entfernen soll aber ja mhm Rechnungen so mssen mal gucken dass wir das richtig schreiben an der Stelle und hier auch wirklich auswählen noch mal genau mm und jetzt steht hier data to send also das was wir letztenendes an die Tabelle senden wollen dann kannst du da das in Ordnung du könntest auch ein automapping hinzufügen das wollen wir aber nicht weil wir wollen eindeutig wirklich sagen das ist das Feld das gehört dahin das ist weniger fehleranfällig wenn wir es eindeutig sagen können und da kannst du unten auf addfel drücken und da kannst du jetzt auswählen was für Felder du hast siehst hier sind ein Z ein die Namen die wir die Felder die wir drin haben ganz wichtig für die Leute wir haben ja eben gesehen ID hat diesen primary Haken das wird automatisch gesetzt die ID immer wenn man zeilezufügt wird die ID selst gesetzt wir könnten die man üerschreiben das ist besser wenn ihr das nicht tut created auch nicht das heißt wir werden uns jetzt hier nur die Felder nehmen die wir wen nämlich invoice number werbar siehst Wert und du köntest hier natürlich auch ein fixen Wert reinschreiben aber du brauchst das nicht mal zu expression ändern wenn du jetzt das die Nummer nimmst die invoice number die wir an der Seite haben und da einfach reinziehst dann erkennt der selber dass du dass du das habst bisschen höher genau da und dann wechselt der automatisch auf Expression und du siehst do schon salt ne das ist hier das für salt trotzdem ne wenn ihr ein Fehler oder so habt guckt mal da rein mir ist es auch schon passiert dass ich das aus Versehen noch fix hatte ne und der das deswegen nicht erkannt hat ja das wäre jetzt Punkt ein wir haben noch zwei weitere Felder die kannst jetzt noch mal schnell hinzufügen genau gleiches Prinzip ne dann haben wir Name und F in sind ja und jetzt bleibt nur noch das ganze zu testen wir haben die Daten ja schon da das heißt du kannst jetzt hier auf Test drücken wir müssen nicht den ganzen workf testen hat auch den Vorteil wir müssen nicht noch mal diese open Anfrage machen dadurch ist es natürlich günstiger an der Stelle cool ja und jetzt gucken wir einfach mal bei superbas rein und wir haben keinen Fehler gehabt das heißt es müsste eigentlich alles geklappt haben und zack da ist der Datensatz nice oder ja ja ist auf jeden Fall sehr sehr interessant ja m jetzt ist die Frage was wir als nächstes machen wir können natürlich jetzt auch das gleiche machen dass wir sagen wir wollen Datensätze aus superbase haben ne und wollen irgendwas dann machen beispielsweise E-Mail schreiben oder das irgendwie aufbereiten was auch immer man tun will kann natürlich auch gucken dass man irgendwie das in tatsächlich Excel Tabelle anbendet ich weiß nicht ich brauche ein bisschen Kreativität ich habe mich wie gesagt nicht zu sehr hier auf dieses Gespräch vorbereitet weil wir wollen das ja attck machen gibt es grundsätzlich irgendwas was dich interessiert also das muss auch gar nichts mit dem brfow zu tun haben irgendwas wo du sagst da hättest du vielleicht Bock das auszuprobieren dann können wir gucken ob wir das vielleicht anwenden können vielleicht es mit Email Email ja genau dass er z.B Daten von superway nimmt und da ich auch E-Mail schreibt okay könen können wir machen an der Stelle hast du ein gmail Konto oder ja ich habe gmail konto okay das ist an der Stelle am einfachsten genau das würde ich mal jetzt ist die Frage wir können entweder sagen wir machen ein neuen Workflow wo wir die Daten uns aus der Tabelle ziehen und dann eine E-Mail schreiben wenn der Workflow gestartet wird oder wir können tatsächlich wäre das wenn wir es jetzt so ausführen das hat ja jetzt noch keine tatsächliche Sinnhaftigkeit könnten wir auch direkt die E-Mail Note hinten dran ballern eine E-Mail rausschicken ähm ja ja das ist letztenendes die überlassen also wir würden hier in dem Fall das reinschreiben in die und eine E-Mail rausschicken wenn wir direkt weitermachen ich glaube weitermachen also dem leichten noe okay ja dann kannst du ja einmal rausgehen und genau du siehst auch schon das ist verbunden sehr cool an der Stelle ähm ja jetzt gibt's die Möglichkeit entweder dass man sagt okay wir machen das hinten dran ne Schleifen das durch wir haben ja hier auch die Daten noch vorhanden wobei das nicht ganz stimmt also jetzt wä ist hier der Punkt wenn ich jetzt hier noch ein Note hinzufüge ich mache einfach mal ein Set das damit man das sehen kann besser du siehst hier schon von superbase kriegen wir nicht mehr die Informationen die wir hatten jetzt können wir natürlich hier hingehen und können sagen wir wollen aus der anderen not das nehmen mach h mal ein Feld rein einfach mal um das zu zeigen an der Stelle das müssen wir wechsel ich mal zu expression dann kann man das sehen du siehst hier übrigens wie gesagt alle Notes nacheinander so kannst jeder Note rausnehmen das heißt wir könnten selbst aus der allerersten Note uns die Daten nehmen bedeutet auch wir wärden in der Lage zu sagen okay wir können das alles im Prinzip hintereinander abspielen lassen so jetzt ist der Punkt äh es gibt zwei Nachteile die ich daran sehe Nachteil Nummer ein ist wenn ich jetzt hier einen beispielsweise wir nehmen einfach mal hier ja ich nehme einfach ein total Mount Z mir rein und du siehst der referenziert sich hier jetzt auf Open ai kann man das H größer machen ja bisschen ich mach s gleich wieder kleiner dieses Dollar Jason das kennt man lustigerweise aus jQuery S hat man sich da zumindestens referenziert wenn du Dollar was für Dollar Jason Dollar Klammer auf und dann den Namen damit referenzierst du dich auf einen Namen von einer Note so ja und das funktioniert zuverlässig also das kann man schon an der Stelle so machen jetzt ist der Punkt wenn ich hier das umbenenne dann nennt er das tatsächlich auch um also ich ma mal einfach ein hint dran dann sollte das meines Achtens nach auch umändern ähm aber hier ist schon der Fall dch dass es umbenannt hat wir müssen jetzt den Workflow einmal neu starten er weiß nicht mehr genau welches er nehmen soll so an der stelle ich glaube wenn wir das neu starten füg mal bitte das no mal rein mhm oh so äh wo ist der hier ist den richtig bisschen runterziehen genau genau wieder rüber siehst du schon jetzt hier wie das aussieht wenn er noch nicht fertig ist er ist jetzt durch und hier siehst jetzt es hat wieder funktioniert also dem Moment wo es umbenennen gut brauche einmal kurz um es zu referenzieren grundsätzlich ist es so das funktioniert aber auf Dauer wird's unübersichtlich auch einfach ne also so ein bisschen wenn du alles hintereinander machst was wir jetzt hier stattdessen aber auch machen könnten wir könnten das einfach hier rausnehmen und könnten sagen gut okay wenn wir jetzt noch eine E-Mail rausschicken wollen dann können wir einfach eine neue Note machen und du kannst hier dann einfach eine andere Note hinzufügen ich drück mal hier jetzt noch mal weg und was wir hier jetzt machen könnten wäre ein Mal nach Gmail zu suchen kannst du Gmail auswählen und dann siehst Du alle Optionen die Gmail bietet und Gmail ist da schon echt sehr sehr gut mit dabei 26 actions und ein Trigger Outlook geht wie gesagt auch gibt im Prinzip genau das gleiche und hier gibt's beispielsweise dann send a message oder was du auch macht könntest es wenn du noch nicht die Nachricht wirklich Absenden willst könntest du auch ein Entwurf erstellen lassen das genau wie du willst kannst du das machen also was dir da Stelle draft glaub besser da kann man auch Übersicht haben ja dann kannst du mal auf Cre drücken und auch hier sehen wir wieder wir brauchen credentials und jetzt wird's etwas komplizierter als es ist mit superbase aber keine Sorge das wir auch hin für alle Leute die sich das auch noch dann in Ruhe angucken wollen oder so wir gingen jetzt hier im schnellauf durch ist da gibt's oben links ein Video wobei tatsächlich interessanterweise drück mal auf sign with Google drauf tatsächlicherweise bei den Gmail haben sie es angepasst weil wir mussten eigentlich in Google Cloud Console Projekt immer anlegen und in letzter Zeit habe ich das gehabt da war ich verwundert selber dass ich das nicht mehr anlegen muss hieresagt gibst duä mich die Berechtigung alle sagst ja und bei GMail haben s es tatsächlich so gemacht gut dann ist es doch super einfach da musst du dich einfach nur h anmelden und D warst das an der Stelle ähm okay das super nee ähm grundsätzlich ist es so wenn wir Produkte von Google nutzen wollen es gibt einige Produkte die muss man über einen Google Cloud Projekt initialisieren da muss man hingehen zu Google Cloud Console muss sich dort ein Projekt erstellen und muss dort im Prinzip eine Anwendung eröffnen und selber dieses diesen o of consent Screen nennt man das wenn du hier drauf drückst und es öffnet sich ein Pop-Up wo die wo man seinen Google Account verbinden kann müssen das selbst konfigurieren das war damals so weil grundsätzlich wenn du jetzt möchtest dass jemand anders beispielsweise deine App benutzt und der möchte mit seinen eigenen Daten arbeiten dann bra muss er ja seinen eigenen Google Account verknüpfen und er kann ja nicht in dein Backend sage ich mal in deinen nhhn Workflow reingehen und kann sich da authentifizieren damit und deswegen gibt's wirglichkeit dass man eben sagt okay wenn du das nach außen hin machst wir haben hier ein Webprojekt also eine Webanwendung und genauso läuft das dann ab wie wenn ich selber als Web Entwickler Webanwendung entwickel da muss ich nämlich auch bei der Google Cloud conso so ein Projekt anlegen oder stellen in dem Fall hier aber sehr entspannt doch gewesen und ja das war's schon an der Stelle wir haben jetzt hier resource draft ist in Ordnung also Entwurf Operation create passt auch subject ist Hello World also ist einfach nur ein Platzhalter es steht noch nichts drin das ist natürlich jetzt der Betreff der eemail und ja den Betreff da kannst jetzt mal auf expression gehen genau kannst jetzt hier schreiben Rechnung ja ja und dann kannst du hier auf expression klicken expression ja und könntest jetzt das mal genau du musst es nicht immer groß machen ne ich mag das eigentlich ganz gerne mit dem groß weil finde ich ein bisschen besser seh aber besser genau und wo du jetzt hingehen kannst ist du kannst jetzt wie die Rechnungsnummer nehmen und kannst dann hier irgendwie Rechnung Doppelpunkt Rechnungsnummer oder sowas genau und dann äh jetzt [Musik] schon ja und dann siehst du schon der Betreff wäre dann immer so Rechnung so und so dann kannst natürlich machen was du willst ne das jetzt hier auch immer der Punkt so da stehen ein die Grenzen offen sage ich mal ja ja cool ja sehr interessant ja ja ansonsten haben wir E-Mail type ist Text oder HTML kannst mal drauf drücken was noch gibt HTML ich hab es vorweggenommen wenn Du beispielsweise sagst du willst es schön formatieren oder so und du hast ein E-Mail template dann könntest du jetzt hier beispielsweise HTML auswählen und wir haben ja die Möglichkeit hier expression zu sagen und du könntest jetzt hier wirklich HML E-Mail Template reinpacken ich weiß gar nicht vielleicht haben wir sogar irgendeins ich gucke mal gerade ob ich das gerade atok finde habe ich das abgelegt das wäre ja schon ziemlich cool wenn ich dir das direkt hier reinhaue klassenhelfer so ein Produkt Projekt von mir gucken aber er das rechtzeitig öffnet an der Stelle und kann ich dir vielleicht sogar ein Template geben weil es die Webseite ist lädt natürlich jetzt ein bisschen lange ist vielleicht nicht der beste so E-Mails haha mssen mal gucken wie das dann aussieht ne an der Stelle ähm genau das habe ich mit tabular gebaut das letzten endees so ein e-mailbilder so und der hat hier super viel Konfiguration und Scheiße drin ähm um das schön zu machen die Email jetzt ist natürlich nur der Punkt wir müssen irgendwo noch unseren Text reinschreiben das müssen wir natürlich jetzt finden es jetzt ein bisschen überladen natürlich so ist das halt an der Stelle mit E-Mails ähm weißt du was man auch machen kann kannst auch sagen ähm wir probieren das einfach mal aus wir sind mal cool ja wir sagen hier wir machen hier ein Plus hin und sagen h einfach noch mal open ai es ist nämlich der Punkt ich könnte jetzt selber natürlich gucken dass wir das da irgendwie reinpacken die E-Mail Templat immer gleich an der Stelle wir können aber auch hier uns das ganzquem einfach machen könnten jetzt sagen gut okay wir sagen hier System Text blaabla wir machen hier wieder ein 4o und wir was wir wollen ist dass er uns den Text nimmt oder die Information und in die E-Mail einbaut oder so das wäre in dem Fall deutlich einfacher ja genau dann sagen wir jetzt die Frage wie man das sagt hier das Hal das Template folgend findest du ein HTML E-Mail Template muss man natür schreiben können ne und sollst die [Musik] Rechnungsinformationen Informationen in das Template einbauen und den Text an wir können jetzt hier mal gucken wir haben ja hier Namen das ist so ein bisschen wo es jetzt vielleicht interessanter wird wir haben ja hier Herr Schröder ja Herr Schröder richten so das ist jetzt alles natürlich ne bisschen man muss da wenn man jetzt wirklich ein ordentlichen pompt haben will dann muss man das Stück für Stück ausprobieren und gucken dass man das vielleicht wirklich macht aber das sind ja alles nur Beispielfälle hier in dem Fall und ich gebe mir jetzt einfach mal hier den ganzen Content die Frage ist ob er das hier richtig an der Stelle referenziert ob er das wir können es gleich mal gucken ob er das erkennt so hier sind Daten die ich per Rechnung verschicken will rechfehler sind auch nicht so schlimm ich würde sagen ich bin mir nicht sicher ob das funktioniert deswegen packen wir die einfach mal ein einzeln rein invoice number invoice date und so kann man sich halt hier seinen promp dann zusammenbauen und genau wir haben hier noch total amount wä vielleicht sinnvoll Tex wä vielleicht sinnvoll achso ja wichtig ist natürlich dass wir das jetzt dazu schreiben was das ist du siehst hier ist nur an der Seite die die Daten so ne das heißt wir würden hier Rechnungs damit der das verstehen kann Nummer genau ein bisschen Kontexten ähm dann ist das Rechnungsdatum dann haben wir hier was war das total amount ne nee das war ach so ja doch oder Rechnungs Gesamtbetrag geht ja auch nur um das Beispiel und dann machen wir jetzt letztes noch Steuern und dann gucken wir mal was dabei rauskommt was er uns bastelt so D wir hier folgen findest du das HTML E-Mail Template du sollst die rechnungsinformation in das Template einbauen und den Text anrichten und die E-Mail sage ich einfach mal und dann sagen wir noch gebe die fertig zusammengbaute e E-Mail als String zurück und dann können wir ihm hier noch sagen String in folgendem Format zurück so ich mache das ganz immer gerne so wenn ich hier Code reinschreibe dass der besser versteht was ich meine so hier sagen wir E-Mail so ne dann weiß er wie das Aufbauen soll damit ihr das auch immer als E-Mail Template nimmt so und dann haben wir hier ja das können wir einfach so lassen und wir gucken einfach mal was rauskommt ja jetzt ist natürlich so wir müssen auch dazu sagen äh wir können das vielleicht nicht perfekt evaluieren jetzt wenn das fertig gebaut ist ob das jetzt weil der gibt un ja jetzt wieder wahrscheinlich ein riesen E-Mail Template zurück an der Stelle er braucht tatsächlich auch relativ lange dafür das ist in Ordnung ist halt auch ein großer promz ne an der Stelle das wird auch wahrscheinlich mehrere Tokens kosten ja okay brauch ich sehr lange letztenendes läuft das ja im Hintergrund ab ne also das wäre dann nicht so relevant müssen wir sonst noch ein bisschen SPT machen so du kannst hier während der L kann man immer rausgehen ist kein Problem kannstst die Notes verziehen was machen darfst es natürlich hier irgendwie auf irgendwas drücken in der Zeit auch auf Speicher sollte man nicht drücken okay bra aber wirklich sehr sehr lange gerade irgendwas ist das wie viel Zeichen ja es ist halt der e-mailtext ist halt mega lang es könnte sein dass das sogar zu viel ist das Il Template an der Stelle das hätte ich natürlich vorher mal Kesten sollen ich gehe mal hier rüber bei mir und guck gerade mal weil open an sich hat ein Token Begrenzung m ich packe okay aber er hat's gemacht okay er ist fertig hat Mal ewig lang gedauert das heißt wir drücken jetzt nicht auf lös son wir nehmen das tatsächlich wir wollenich noch nicht noch mal so lange warten genau er hat jetzt hier an der Stelle siehst du das ist rot markiert das gibt's nicht mehr das ist weil die letzte Note jetzt eine andere ist an der Stelle weil wir eine Open dazwischen gehangen haben deine Aufgabe ist mal weil s selber machen passt das mal an das haben wir auch schon gemacht also guck mal dass du die invoice number wieder hinkriegst so da zeigt sich der letztenes ob verstanden hast du gemacht haben stimmt da muss ich wahrscheinlich zurück in die Schleife das kurz löschen war ne genau noch mal h perfekt sehr sehr schön so und dann wollen wir in der Message natürlich das einmal rauslöschen was in der Message drin ist da das was wir da fix reingeschrieben haben äh noch mal auslöschen genau hier das haben wir vorhin hier drin fix reingeschrieben in in dem message Bereich stimmt nicht so kannst du alles rauslöschen alles was wir machen müssen ist jetzt aus der letzten not die wir haben unser E-Mail Template hier reinziehen die Variable genau und dann haben wir hier die Dings so und wir gucken einfach mal was passiert an der stelle ich würde sagen du drückst einfach mal auf Test step und dann müssten wir die E-Mail bekommen so jetzt musst Du einmal in deinen Gmail gehen gleich ist die Frage ob du das so zeigen kannst wenn ich hier was bluren muss wieder sag bescheid ich kann einmal hier das ganze bluren dann musst du in drafts gehen ja muss das Gasse bluren ja ja kann ich machen ich mache den ganzen blildschir mal ja hier genau klick mal rein also du siehst jetzt klein warte so kann man das auch groß Anzeigen ja drück mal da oben genau so dann das heißt jetzt ihr habt jetzt also an die ich hab jetzt bis jetzt eben nichts gesehen weil ich einfach leichter für mich wenn ich einfach alles ausblende dann geht das schneller vom auch an okay jetzt jetzt steht natürlich klassenhelfer ne das ist halt wie gesagt von einem anderen Projekt von mir aber genau du siehst schon was passiert ist er hat uns hier irgendwie das zusammengbaut letzten Endes ist es so ich würde das nicht wie wir das gemacht haben über eine openi Note lösen wenn ihr so ein E-Mail Template habt ne ihr habt gesehen es hat relativ lange gedauert dann ist das ja eine fixe Sache ich war einfach nur zu faul jetzt hier mit dem Steven da reinzugehen und in dem Template zu suchen wo wir das Anpassen wollt aber wenn ihr selber sagt ey ich habe hier irgendwie Lust meine E-mail schöner zu machen als einfach so eine Standard E-Mail dann könnt ihr da einfach mal hingucken ich habe es in dem Video gesehen ich sag's euch einmal kurz ich kann mal hier noch gucken genau die Seite hieß tabula tabula ist eine Seite da könnt ihr quasi E-Mail Templates finden könnt euch die selber anpassen visuell wie die aussehen sollen könnt euer Logo hochladen und so und könnt euch dann den HTML Code extrahieren um um dann so an so eine E-Mail zu kommen und genau Rechnung für ihr suchst das ist lustig die Open ai Note hat an der Stelle schon erkannt was da passiert den klassenhelfern gibt's nämlich ein Produkt wo man das ist nämlich eine E-Mail für einen Suchsel wo man sich suchs für die Leute die nicht kennen und wter gits für für Lehrer die im Prinzip so ein arbeitsplatt erstellen wollen und die können sich das da generieren lassen also wenn Lehrer unter euch sind geht gerne auf klassenhelfer.de da könnt ihr euch so ein Suchsel generieren lassen genau und jetzt hat er hier letztenendes das natürlich irgendwie zusammengebastelt das natürlich nicht zuverlässig wir haben ihm zwar die Daten gegeben die er reinspeichern soll aber er hat sich das jetzt irgendwie selber überlegt und da selber die das Template sogar angepasst was ziemlich cool ist weil dass das hier so in der Art und Weise formatiert ist das haben wir nie gesagt wir haben ih einfach nur die Daten gegeben und ein Template wo das hier gar nicht vorhanden war dieser rechnungsbereich also von daher mega cool auch mit dem Text den er angepasst hat das sind alles Dinge die standen im E-Mail Template nicht steh drin da stand einfach nur im SPR E-Mail Template danke dass Sie ein suchselgenerator benutzt haben oder so also schon mega cool hier mus man sagen genau ist jetzt n ein draft an der Stelle wenn du jetzt wirklich zuverlässig deine Rechnungsdaten hast und du nimmst hier aus der Datenbank und du prüfst vielleicht du kannst ja beispielsweise geh mal das in Rock zurück an der Stelle wenn wir das jetzt nicht so gemacht hätten sondern wir hätten gesagt wir nehmen ursprünglich aus dem superbase holen wir uns die Daten aus der Datenbank und wollen Rechnung abschicken dann und du hast immer die gleiche Rechnung du hast dein Template und dann könntest du natürlich vorher noch mal hingehen und könntest beispielsweise auch eine CoD Note benutzen und prüfen gibt es also gibt es hier die Felder oder so oder sag sagen wir mal anders ich habe eine Idee wir probieren das mal gibt es ich muss mal gucken ich weiß es gar nicht bei Super Base wir haben hier superbase gibt's da auch getrow genau was ich tatsächlich mal machen würde ich würde wirklich malen neuen Workflow anlegen und genau mach du das mal ich sag dir was wir machen sollst geh mal hin und füg ein Trigger hinzu sag mal Trigger manually das in dem Fall einfacher genau dann fügt man eine super Base Note hinzu sorry für Leute ich habe h gerade meine Kamera so hin und her geschwungen ich immer hin und her wenn du es öffnest genau hier kannst du mal get Arrow oder get many rows machen lass uns das mal machen lass uns get many rows machen an der Stelle ziemlich cool mhm aha so und guck mal auch erstmal eine superbase ob wir schon zwei Datensätze haben ob das mehrere angelegt hat wir hab das glaube ich noch mal durchgetestet oder ob wir immer noch den einen haben gut okay wir haben zwei das heißt was Du machen könntest pass mal bei der einen den Namen an irgendwie dass wir das sehen genau hier hat man übrigens ein Fall wen nameen und hier steht ja herrchröder oder Herr Müller das wäre auch so eine typische Sachen die man eben in der Expression mit ein direkten Javascript Code hätte rauspasen können weil wenn da immer her steht dann K können wir uns da sehr einfach drauf referenzieren wenn ihr Keil Programmierer seid geht einfach in openi sagt hier Herr Schröder das ist mein Text ich will einfach dass es her entfernt wird generiere mir hier für den Code den ich in n8n benutzen kann und dann läuft das zuverlässig genau genau cool dann haben wir das da an der Stelle das reicht auch zwei Stück reichen ja zum Testen mit many da kannst du hier wieder den superbase Account auswählen R get many dann sagst du hier wieder die table und dann sagst du auch return all du könntest hier Beispiel Limit setzen wen du mach noch mal aus kurz du Limit 50 ne wenn du sagst wie viel du habenst wir sagen einfach return all und dann hast du das reicht eigentlich schon glaube ich drück mal auf Test genau übrigens wenn du hier rausgehst ne W haben diesen Trigger letztenendes hast du der ist eigentlich nur dafür da wenn du h auf Test Workflow gehst dann macht er das kannst natürlich auch hier reingehen und die Note testen aber wenn du hier die Note testest dann wird ja nur die einzelne Note ausgeführt und wenn du hier drauf drückst wird der gesamte Workflow ausgeführt nice jetzt haben wir hier diese beiden Datensätze und ja was wir jetzt machen wollen ist wir wollen vielleicht darüber eterieren genau und da könntest Du hier beispielsweise hingehen und könntest du kennst aus der Programmierung Schleifen ja und hier gibt's einfach etwas das nennt sich Loop das kannst du mal suchen Loop Items genau so jetzt ist der Punkt was ein bisschen blöd ist ist kennt das glaube ich wir können das mal ausprobieren gleich ähm so also erstmal hier da steht replace me das ist immer mach irgendwas einfach damit ne da könntest Du jetzt beispielsweise dann deine Gmail Note oder sowas reinführen kurz auf save auch Test Workflow genau was der Punkt ist okay erkennt tatsächlich sogar richtig an der Stelle er geht hier rüber ne und macht hier Loop branch D branch two items genau er splittet das nicht richtig auf das ist ein bisschen der Punkt er packt das als er sieht das als ein Ding hier er sieht das weil wir ih das ganze Array geben oder so ein bisschen blöd an der Stelle genau das war kein Problem wobei er jetzt zweimal rüber doch er hat zwei Items doch guck mal ganz kurz hier rein Loop branch ein okay doch wir haben hier Verlauf Z Verlauf 3 okay doch er kennt richtig also wir haben hier Sch hier ist immer der Loop branch das heißt du guckst dir nur ein Items an und dann branch da kannst du alle Sachen sehen aber hier bei ein Item ne hier hat der Herr Schröder hier hat der Herr Müller und im eins hat der Schröder hab haben wir drei Datensätze kann das sein hat zweimal Schröder kannst hier superier ne we gar nicht kann man hier neu SEAG das updet natürlich automatisch aber aber ja mich wundert das dass er hier das dreimal hat an der Stelle okay kom wobei er hier auch mit zwei Items nur durchgeht ne er sagt ja drei durchlö gemacht aber geht zwei Items durch ist an der Stelle kein Problem was man auch machen kann ist man kann auch duplicates removen vielleicht liegt auch an replace jetzt ist die Frage was wollte ich eigentlich machen wir hatten also wir haben die Loop das ist schon mal cool dass du das weißt und wir hatten jetzt hier den super was das da rauskriegen und ja ich stehe bisschen auf de Schlauch ich hatte irgende was wir machen ähm warte mal auf safe gehen wir mal rüber vielleicht dämmert es mir wenn ich hier in den Workflow reingehe also wir haben hier die gmaile gemacht wo mir den Gmail abgeschickt haben und genau wollten wir E-Mail anhand von die Daten von der superbase genau also letztenendes wir könnten dann übrigens du kannst ja einfach so eine Note nehmen kannst die kopieren Steuerung C copy zu clipboard wenn jetzt hier rüber gehen ups das ist der falsche Workflow wenn jetzt hier rüber gehen würdest könntest du einfach kopieren dann ist sie schon gleich ausgefüllt aber du siehst dir trotzdem er findet er findet das Zeug hier nicht klar klar ja ähm genau ja ich habe also tatsächlich ich habe komplett vergessen was wir machen wollten dieses replace me auf jeden Fall das musst du immer ersetzen da musst du dann sagen hier du willst was auch immer du machen willst an der Stelle ja und dann musst du das aber bei einer loop letzendes immer wieder hier hinführen damit das ein Kreislauf ist ne und hier geht er dann mit ein Danners also das macht er in jeder Iteration und hier ist dann was er macht wenn er fertig ist so in der Stelle irgendeine Idee was wir damit machen können also wir haben die ganzen Daten Einzel wir haben jetzt die Reihen Einzel die Leute ach genau ich weiß jetzt weiß ich wieder was wir machen wollten genau ich wollte nämlich zeigen um sicher zugehen dass er ne wenn die E-Mail wenn die als Template haben und die verfügbar ist dann ist das immer fix also die E-Mail des Templat ist immer gleich und das einzige was hier eine Fehlerquelle sein könnte ist dass irgendwelche Daten falsch sind so und was wir jetzt machen könnten natürlich bevor wir so eine E-Mail rausschicken an der Stelle ist wir könnten hier nämlich dann hingehen und könnten beispielsweise eine ifne benutzen also ist einfach if els Z und wenn wir jetzt hier die Brand die Items haben ich mache da mal kurz das raus an der Stelle Speicher mal wenn du das mal testest genau er geht hier rein und dann siehst du hier die Felder und in unserem Daten in unserer Datenbank haben wir hier ja jetzt hier die Felder drin stehen wer hatten ja gesagt wenn wir in das Schema gehen ich weiß gar nicht ob wir uns das hier angucken können hier genau hier ist das Schema hier steht natürlich jetzt Text aber ich weiß gar nicht das bearbeiten wir hten irgendwo gesagt dass das Null sein kann ja hier ob kannst du edit colum ah ja genau default value ist n das heißt wenn tatsächlich irgendwie wir wollen beispielsweise unser Use Case ist wir haben diese ganzen Benutzer jetzt die was gekauft haben über unsere App oder was auch immer haben wir in der Datenbank drin stehen und wir wollen den jetzt all eine Rechnung schicken wenn das der Fall wäre genau dann ist das mit unserem templateformat funktioniert das gut aber wir wollen vielleicht noch sicherstellen trotzdem dass ja die Felder auch wirklich alle da sind dass du keine Rechnung rausschickst wo kein Feld da ist und was du jetzt hier halt machen könntest dann um da aufmer sicher zu gehen du könntest halt hier im Workflow gehen könntest beim flszeug Beispiel Weise sagen ne du nimmst hier irgendwie if created oder warte if invoiceen oder sagen wir einfach mal den Name erstmal ifjason.name und hier kannst du nämlich auswählen was sein soll ihr könnteest du sagen ne sagst du erstmal was das für ein Datentyp ist ne das ist ein String in dem Fall und dann kannst du sagen exists exists prüft ob das da ist ne wenn es nicht existiert dann wä wä halt kein kein Dings da und so könnte man beispielsweise prüfen hier ob der existiert und jetzt wenn teststep machst ne dann sieht man auch hier in dem Fall das existiert an der Stelle das ist ja in den grünen Bereich er geht hier durch und wenn es fals ist würdest du einfach nicht weitergehen oder du würdest dir vielleicht selber noch in eine Tabelle oder so irgendwie du hast deine eigene Tabelle wo dir reinschreibst ey das ist ein Fehler passiert ja aber so könntest du dann sicherstellen beispielsweise dass das dass diese ganzen Leute existieren jetzt wäre es natürlich du könntest hingehen und könntest jetzt Stück für Stück sagen ja du machst hier immer wieder eine ifne und prüfst für jedes einzelne f das ist aber an der Stelle dann so ein bisschen wo man auch sagen muss ja muss das unbedingt sein dass wir jetzt jedes einzelne Feld prüfen alternativ könntest Du natürlich auch hingehen und könntest sagen du nimmst hier wieder ein Code und das wäre dann eher so ein Feld wo du dann hier sagst irgendwie du hast hier machst hier if und dann guckst du hier invoice number der prüft ja das da ist oder nicht ne das tatsächlich in der Fall für die Leute wenn das wenn das da ist dann dann returnt true in dem Fall wir können hier aber dann das chain einauen du könntest ja hier dein un machen könnst sagen wenn das existiert und das existiert sagst du hier return to ansonsten return false return ist falsch geschrieben ne nein ist richtig geschrieben ja das ist weil er das als Jason Format nicht erkennt in dem Fall aber es kein Problem können wir auch ändern ja kannst ja auch testen was er sagt wenn er hier ne wenn er hier sagt wird uns jetzt wahrscheinlich Fehler geben er sagt Code das doesn't return items properly das liegt da dran weil ein Jason kommuniziert muss jetzt mal bei mir kurz reinucken dass ich dir das einmal zeige wie das normalerweise aufgebaut [Musik] ist habe ich irgendwo ein [Musik] Beispiel Person [Musik] hier rein habe ich hier Code ja ich such verzweifelt gerade irgende Code Note bei mir scraper ist do bestimmt Note ja hier hab wir der Code Note genau der will dass wir das als Jason in gewissen Weise return ich habe jetzt irgendwann was kopiert so könntest das hier so machen in der Stelle muss es jetzt selber gerade an der Stelle nicht nicht auswendig wir könnten hier sagen proceed also für ob er weitermachen soll oder nicht und könnten jetzt hier dann an der Stelle sagen ja ist true oder false und du siehst gleich ich zeig dir gleich was dann dabei rauskommt weil also der will auf jeden Fall immer dass wir ein Jason return an der Stelle bzw ein Objekt der wandelt es dann in Jason um das ist ja kein Jason was wir drin haben jetzt hier auf Test drückst ja sieh sagt hier so und darauf könntest du dein letzten Endes jetzt ifne beispielsweise machen und könntest hier an der Stelle einfach sagen proceed dann wirst du hier aus bullan und sagst ist true dann siehst du das ist schon alles was wir brauchen genau und dann könntest du so könntest du Beispiels alle Sachen gleichzeitig prüfen also es gibt viele Wege die ans Ziel führen an der Stelle genau und hier könntest du dann dein Gmail Ding machen dann könnest jetzt hier dann send a message oder so schreiben und könntest jetzt das Verbinden und könntest jetzt hier dann die E-Mail dann wirklich rausschicken beispielsweise okay okay ja gut wir sind eine Stunde 30 dabei zumindestens mehr als bei mir steht mehr als eine Stunde 30 ich weiß gar nicht er läuft gerade nicht weiter ich hoffe dass das ich bin glaube ich habe noch nie länger als eine Stunde 30 mit Lumen aufgenommen nicht dass der mir das hier blockiert und sagt es geht nicht länger als 1 Stunde 30 das wäre ziemlich blöd gewesen do deswegen würde ich sagen es reicht auch für die Stunde ich beende das Video es hat mir sehr viel Spaß gemacht Steven und ich hoffe du konntest was lernen auf jeden Fall genau das war sehr hilfreich ja cool und dann alle die noch dabei sind die noch zuschauen vielen Dank dass ihr bis hier durchgehalten habt abonniert gerne den Kanal gibt dem Video ein Like und wir sehen uns beim nächsten Mal bis dahin viel Spaß