Integromat - E-Mails aus Datenbank senden, mit Anhängen

N

Hallo Uwe,

vielen Dank für Deine Rückmeldung. Das klingt ja wirklich super! Vielen Dank für den Tip. Ich freue mich, wenn Du mich dort mit hinzufügen könnetst. Meine E-Mail ist niels.d@me.com . Vielen Dank und Gruß, Niels

U

Hallo Niels
Teameinladung ist an deine Mailadresse raus. Falls nicht im Posteingang, mal im Spam nachsehen.
Gruss
Uwe

N

Hallo Uwe,

herzlichen Dank. Den Zugang habe ich erhalten und konnte es nun auch perfekt in mein Projekt einarbeiten. Prima!

Ich habe noch ein Ziel, dass etwas darüber hinaus geht. Meine Frage dazu ist, ob mein Ansatz in die richtge Richtung geht:

1. Ich erstelle ein Angebot in Tabelle Angebote. Hier erstelle ich im Datensatz ein PDF, welches als Mail an den Kunden geschickt werden soll. Mit dem Button "Als Mail verschicken" übergebe ich die Daten in eine Mail Tabelle ->

2. In der Tabelle Mails kann ich nun den Text zur Mail verfassen. Der senden Button löst nun das Senden via Integormat an den Kunden aus. Dabei wird das PDF aus der Angebotstabelle mitgegeben.

soweit so gut...

Nun habe ich eine dritte Tabelle mit nur einem Datensatz, indem 4 weitere PDFs liegen (z.B. AGB oder andere immer gleiche PDFs). Diesen sollen nach Auswahl (Checkbox) - in der Mailtabelle - ebenfalls mitgeschickt werden.

Wie kann ich diese zusätzlichen nur ausgewählten PDFs mit übermitteln bzw. abrufen, die in einer dritten Tabelle liegen? Hast Du oder ventuel jemand anderes dazu auch eine Idee?

Viele Dank und viele Grüße,

Niels

U

Hallo Niels

Das Problem bei dieser Konstellation im Integromat, ist die Schwierigkeit, dass die zu versendenen Dokumente in verschiedenen Tabellen liegen.

Integromat kann diese nicht in einem Schlag abrufen um sie in nur einer Mail zu versenden.

Wenn du das Dokument aus einer Tabelle abrufst ist das eine Operation. Der Abruf aus einer anderen Tabelle ist eine neue Operation.
Damit hast du wieder das Problem, das für jede Operation eine Mail im Integromat erzeugt wird.
Die verschiedenen Operationen können im Integromat-Aggregator nicht zusammengeführt werden.
Deshalb wird, bei mehreren Anhängen, für das Holen der FileNamen auch nicht der Intgromat Ninox-Knoten benutzt sondern der HTTP-Knoten.

Sinnvoller ist es alle zu versendenen Dokumente in die Mail Tabelle zu packen.
Das muss nicht unbedingt als Anhang geschehen. Man könnte hier auch eine Untertabelle mit einem Bildfeld erstellen in denen die Dokumente zu dieser Mail liegen.

Du wirst zur Zeit nicht drum herum kommen, entweder mehrere Mails zu versenden, damit du die anderen Dokumente nur einmal in der Datenbank hast.
Oder alle Dokumente in einen Record zusammenführen und so die gleichen Dokumente mehrmals in der Datenbank zu haben, um nur eine Mail zu versenden.

Wie bereits in dieser Diskussion erwähnt, hat Bastian von der Firma Magic Networks solch eine Lösung für einen Kunden gebaut.
Er ist als Partner bei Ninox aufgeführt.

O

Hallo Niels,

also, wenn ich dich richtig verstanden habe, sehe ich da eigentlich kein Problem.


Es ist ja so, dass wenn du eine neue Mail verschickst dafür ein neuer Datensatz erzeugt wird.
Dieser Datensatz enthält ja den Text der Mail und vielleicht noch einen Anhang, z.B. die Rechnung.
Du möchtest doch dann an dieser Stelle entscheiden, (also kurz vorm Absenden) ob hier z.B. die AGB noch dazu kommen soll, oder!?

Wenn dem so ist, dann brauchst du dir in dem Moment nur die in einer anderen Tabelle gelagerten Dokumente in diesen Datensatz zu holen.

Dabei ist es aber so, dass die Dokumente natürlich dann jedem E-Mail-Datensatz  immer wieder anhängen.
Ich persönlich finde das nicht tragisch, im Gegenteil. Am Ende kannst du ja in jedem Kunden auch später noch sehen, welche E-Mails mit welchen Anhängen mal geschickt wurden.

Um Dokumente zu erstellen und oder in den neuen Datensatz zu holen, schau dir mal diese beiden Befehle in der Ninox Referenz im Webinar Team an:

importFile

printAndSaveRecord

 

Gruß

Oliver

 

N

Hallo Uwe, hallo Oliver,

danke für Eure Hilfe. Ok, das klingt logisch.

Das heisst, meine Lösung geht dahin, aus den anderen Tabellen die entsprechenden Anhänge in den Datensatz der Mailtabelle reinzukopieren, um dann aus einem Datensatz die Inhalte und Anhänge an den Integromaten als eine Operation senden/holen zu lassen.

Das habe ich soweit versucht, aber bin leider am kopieren der Anhänge gescheitert, so dass ich dann alle Anhänge nativ in der Mailtabelle habe. Ich habe es zwar geschafft eine Referenz auf die Dateien zu erzeugen und mir diese in Bildfeldern anzeigen zu lassen in der Mailtabelle. Die eigentlichen Dateien liegen aber ja noch in den anderen Tabellen, was der Integromat natürlch auch merkt und deswegen keine Dateien abrufen kann.

Ich habe folgende Scripte versucht:

importFile(this, (record('Mail Inhalte', 2)))

importFile(this, first(files('Mail Inhalte')))

importFile(this, first(files(record('Mail Inhalte', 2))))

Sollte das kpieren an sich nicht möglich sein, bleibt ja nur noch als letzte Chance, die 4 PDFs auf meine Internetseite zu packen (geheimer Link) und diese dann entsprechend beim klick in den Dtensatz per "http" zu laden. Das Angebot, könnte ich ja beim erstellen doppelt erstellen und einmal direkt in dem Maildatensatz speichern.

Habt Ihr dazu vielleicht noch einen Ansatz, bzw. einen Tip, wie das mit dem kopieren von Anhängen funktioniert?

Danke vielmals! Niels

U

Hallo Niels.
Meines Wissens funktioniert es noch nicht mit einfachen Ninox-Bordmitteln den Anhang aus Tabelle A in Tabelle B zu kopieren.
In der Cloudversion könnte man es ohne Drittprogramm mit der REST-API hinbekommen oder wieder den Integromat benutzen.
Es gibt im NX-API Team ein Beispiel wie Daten aus unterschiedlichen Datenbanken übertragen werden. 
Das kann man für Anhänge auch innerhalb einer Datenbank nutzen um von Tabelle A nach Tabelle B zu kopieren.

Die Datenbankbezeichnungen lauten:  'REST_Source Database' und' REST_Destination Database'.
Die dort verwendeten API-Keys, TeamID, DatabaseID,TableID und FieldID stimmen nicht und müssten angepasst werden.
Und zum kopieren von Anhängen muss das Script auch angepasst werden.
Aber man sieht die REST-API Syntax, wie sie aufgebaut ist und was dafür benötigt wird. Und man muß kein Geld für Drittanbieter ausgeben.

Es ist etwas Arbeit sich da hinein zu denken. Zum Verstehen kann man die deutsch/englische Ninox-Dokumentation zur REST-API lesen.
Es ist eigentlich der gleiche Aufbau wie der HTTP-Knoten im Integromat des Webhooks, der zum abfragen der Namen der Anhänge zuständig ist.
Nur, das du diesmal per POST-Befehl den Anhang an den Record in der Mailtabelle anhängst der gemailt werden soll.

In der Mailtabelle kannst du dann einen Button für jedes Dokument bauen, der dieses als Anhang hineinkopiert und nicht mehr sichtbar ist, wenn der Anhang da ist.

Alternativ legst du alle Dokumente in einen Ordner der Festplatte ab und kopierst sie dir händisch in den Record wenn benötigt.

U

Hallo Niels

Ich habe da mal eine kleine Integromat-Sache gebaut, die ein Dokument von einer anderen Tabelle in die MailVersende Tabelle zu dem Record kopiert.
Das Scenario sieht wie folgt aus:
Bildschirmfoto Attachments kopieren

Das zugehörige Formular hat 2 Zustände: Attachment noch nicht vorhanden / Attachment vorhanden
Bildschirmfoto Attachment nicht vorhanden

Bildschirmfoto Attachment vorhanden

Wie gesagt, man kann es auch mit der Ninox REST-API bauen und so auf den Integromat verzichten.

N

Hallo Uwe, hallo Oliver,

 

Uwe, jetzt bist Du mir zuvor gekommen. Habe gestern noch den ganzen Tag gebastelt und es schließlich hin bekommen. Ich freue mich, dass ich einen Weg finden konnte, den ich gern einmal aufzeigen möchte:

 


1. In der Angebotstabelle habe ich einen Button erstellt, der neben dem PDF, welches in dem eigenen Datensatz gespeichert wird, auch zwei weitere Datensätze in zwei weitere Tabellen erstellt (Tabelle "Mail" und Tabelle "Mail senden"). Die Tabelle Mail soll als Historie gelten, in der an sich keine Anhänge gespeichert werden, sondern nur per Referenz angezeigt werden sollen. Somit kann ich in Zukunft immer sehen, wann ich was in welcher Form an den Kunden geschickt habe.

2. In der Mail Tabelle habe ich nun die Möglichkeit die E-Mail zu verfassen und ebenfalls die Möglichkeit pro Button einen Anhang hinzuzufügen. Dieser Anhang wird aber nicht in dem Maildatensatz (in dem ich mich gerade befinde) geladen, sondern per 'Mail senden'.(Bildfeld := importFile(this, "http://pdf.domain.de/AGB.pdf") in die dritte Tabelle (Mail senden) geladen (Ich habe die 4 immer gleichen PDFs auf meinen Webserver geladen und per HTTP Abrufbar gemacht).

3. Die "Mail senden" Tabelle ist nun eine inhaltliche Kopie der "Mail" Tabelle, mit dem Unterschied, dass diese die Anhänge besitzt. Die "Mail senden" Tabelle bleibt aber für den Nutzer verborgen und dient nicht zur Bearbeitung. Sie ist nur dafür da, um nach dem Versand wieder gelöscht zu werden, damit ich mir die Datenbank nicht mit den immer gleichen PDFs voll mache (habe aktuell nur 2GB frei.)

4. Den Webhook löse ich durch einen Button in der Mail Tabelle aus.

 

Und weil ich echt Spass an der ganzen Nummer habe, habe ich über Integromat noch ein Update Record eingebaut, das mir bei erfolgreichem Versand eine Sendebestätigung anzeigt. Und zusätzlich werden die relevanten Anhänge (das Angebot) auf den FTP Server hochgeladen.

 


Ich bin aber sehr gespannt auf die REST Api Lösung. Das werde ich auch nochmal ausprobieren.
Vielen Dank Uwe, für Deine Mühe! Ich finde das wirklich prima und schätze jetzt schon dieses Forum sehr.

 


Du sprichst hier noch von dem NX-API Team. Ist das eine andere Datenbank, zu der man auch einen Zugang benötigt? Das würde ich mir gern mal ansehen.

 

Vielen Dank soweit! Dank Eurer Hilfe klappt es :-)

U

Hallo Niels

Super, das du eine für dich praktikable Lösung gefunden hast.
Die Einladung zum NX-Api Team ist raus.
Leider habe ich dich nur als Editor eingeladen. 
Wenn du dem Team beigetreten bist, ändere ich es in Admin um.

Reply