Zurück zur Anleitungen / HowTos
Siehe auch Einstellungen - Eigenen SMTP Server
Siehe auch Synchronisierungen und Hooks
Siehe auch PDF Power User Variablen/Funktionen
Siehe auch Dokument Vorlagen für Textblöcke und Emails
Mit den sog. “Zeitaktionen” können automatisiert Erinnerungen hinterlegt werden, um bei Erreichen eines bestimmten Zeitpunktes eine Erinnerungs-Mail zu versenden.
Diese Email kann an eine fixe Email Adresse gerichtet sein oder an einen Benutzer des Systems (z.B. letzter Bearbeiter oder Versender eines Angebots) oder aber auch an einen Kunden bzw. Lieferanten.
Zusätzlich zu Emails lassen sich auch Hooks für Synchronisierungen auslösen, um z.B. mehrere Emails zu versenden oder Webservice Aufrufe durchzuführen (Slack Message, Teams Message, etc.)
Um eine Email zu versenden, muss vorher eine Email Vorlage angelegt werden.
Unter Einstellungen –> Dokument Vorlagen wird eine neue Mail Vorlage angelegt.
Im entsprechenden Textblock wird ebenfalls mit PDF Power User Variablen und Funktionen gearbeitet.
<p>Hallo [[$obj.modified_user__firstname]] [[$obj.modified_user__lastname]],</p> <p>dias Angebot <strong>[[$obj._objref]]</strong> [[if $obj.summary != ""]]mit dem Titel "<strong>[[$obj.summary|escape]]</strong>" [[/if]]wurde am <strong>[[$obj.status_sent|ut2humandate:1]]</strong> versendet.</p> <p>Das Datum für die Wiedervorlage [[$obj.reviewdate|ut2humandate:1]] <font color="#FF0000"><strong>wurde erreicht</strong></font>.</p> <p>Bitte kümmere Dich darum.</p> <p>Link zum Angebot: <a id="" href="[[myurl absolute=true noGetParams=true script='b']]#/detail/offer/[[$payload.id]]">[[myurl absolute=true noGetParams=true script='b']]#/detail/offer/[[$payload.id]]</a></p> <p>Weitere Daten:</p> <p>Angebot: <strong>[[$payload._objref]]<em> [[$obj.summary|escape]]</em></strong><br />[[if $obj.status_sent != 0]]Gesendet am: <strong>[[$obj.status_sent|ut2humandate:1]]</strong><br />[[/if]] [[if $obj.reviewdate != 0]]Wiedervorlage am: <strong>[[$obj.reviewdate|ut2humandate:1]]</strong><br />[[/if]] [[if $payload.site_company != ""]]Kunde-Firma: <strong>[[$payload.site_company|escape]]</strong><br />[[/if]] [[if $payload.site_name != ""]]Kunde-Name: <strong>[[$payload.site_name|escape]]</strong><br />[[/if]] [[if $payload.site_email != ""]]Email: <strong>[[$payload.site_email|escape]]</strong><br />[[/if]] [[if $obj.site_phone != ""]]Telefon: <strong>[[$obj.site_phone|escape]]</strong><br />[[/if]] [[if $obj.site_mobile != ""]]Mobil: <strong>[[$obj.site_mobile|escape]]</strong><br />[[/if]] [[if $obj.customer != 0]]Kunde: <strong>[[$obj.customer___objref]] [[$obj.customer__comboname|escape]]</strong><br />Link zum Kunden: <a id="" href="[[myurl absolute=true noGetParams=true script='b']]#/detail/customer/[[$obj.customer]]">[[myurl absolute=true noGetParams=true script='b']]#/detail/customer/[[$obj.customer]]</a><br />[[/if]] <br />[[if $payload.annotation != ""]]Notiz: <br /><em>[[$payload.annotation|escape|nl2br]]</em>[[/if]]</p> <p> </p> <p>Mit freundlichen Grüßen<br />[[$CONFIGURATION.ownCompany|escape]]</p> <div class="footer" style="color: #8c8c8c; font-size: 0.8em;">[[$CONFIGURATION.ownCompany|escape|nl2br]] <br />[[$CONFIGURATION.ownOfferContact|escape|nl2br]]</div>
Unter Einstellungen –> Zeitaktionen wird eine neue Zeitaktion angelegt.
Dieses Event löst die Zeitaktion aus.
Hierbei wird unterschieden zwischen der Durchführung eines Vorgangs (z.B. “Wiedervorlage Datum gesetzt”) und einem eventuell befüllten Datumsfeld (z.B. der tatsächliche Inhalt des Wiedervorlage Datums mit Event “Wiedervorlage Datum gesetzt und verwenden”).
Beispiel 1 “gesetzt”:
Event “Wiedervorlage Datum gesetzt” und Verzögerung +1 Tag –> Es wird 1 Tag nach dem Setzen des Datums (also der Zeitpunkt des Speicherns) die Email versendet.
Der Versand erfolgt völlig unabhängig des ausgefüllten Datums.
Beispiel 2 “gesetzt und verwenden”:
Event “Wiedervorlage Datum gesetzt und verwenden” und Verzögerung +1 Tag –> Es wird 1 Tag nach dem eingegebenen Datum (also Wiedervorlagedatum + 1 Tag) die Email versendet.
Der Versand hängt nur vom ausgefüllten Datum ab.
Ist diese Option aktiv, so wird die Aktion nur 1 einziges Mal ausgeführt.
Beispiel:
Das Event “Wiedervorlage Datum gesetzt und verwenden” wurde gewählt und das Datum ist erreicht und die Benachrichtigung mit der Erinnerung wird an den Mitarbeiter versendet.
Nun öffnet der Mitarbeiter das Angebot, ruft den Kunden an und wählt ein neues Wiedervorlagedatum aus.
Ist die Option “Nur 1 mal pro Objekt ausführen” aktiviert, so wird die Erinnerung kein weiteres Mal versendet.
Ist die Option nicht aktiv, so wird erneut eine Erinnerungsmail basierend auf dem eingetragenen Wiedervorlagedatum versendet.
Hiermit kann die Verzögerung für die Erinnerung eingestellt werden.
Beispiel:
Das Event “Wiedervorlage Datum gesetzt und verwenden” wurde gewählt und als Wiedervorlagedatum wurde der 21.11.2023 eingetragen.
Ist nun + 2 Tage als Verzögerung ausgewählt, so wird die Erinnerung am 23.11.2023 (also 21.11. + 2 Tage) versendet.
Ist nun - 1 Tag als Verzögerung ausgewählt, so wird die Erinnerung am 20.11.2023 (also 20.11. - 1 Tag, also 1 Tag vor dem eingetragenen Datum) versendet.
Mit Auswahl der Option “Hook aufrufen” wird der frei wählbare Hook-Code im Feld “Auszuführender Hook-Code” zum entsprechenden Zeitpunkt ausgelöst.
Hierzu muss eine entsprechende Synchronisierung für diesen Hook-Code angelegt sein.
Dort könnte dann ebenfalls eine Email versendet werden (z.B. über einen anderen SMTP-Server) oder per Webservice Aufruf ein Post in einen MS-Teams oder Slack-Channel ausgeführt werden.
Mit Auswahl der Option “Email senden” wird direkt die vorher angelegte Email Vorlage an die im Feld “Alternative Empfänger Email” hinterlegte Adresse versendet.
Mit Auswahl der Option “Hook aufrufen” wird der frei wählbare Hook-Code im Feld “Auszuführender Hook-Code” zum entsprechenden Zeitpunkt ausgelöst.
Mit Auswahl der Option “Email senden” wird direkt die vorher angelegte Email Vorlage an die im Feld “Alternative Empfänger Email” hinterlegte Adresse versendet.
Als Email Adresse kann auch eine PDF Power User Variable oder Funktion verwendet werden:
Variable | Bedeutung |
---|---|
[[$obj.modified_user__username]] | UserID (=Email) des letzten Bearbeiter des Objekts |
[[$obj.created_user__username]] | UserID (=Email) des Users, der das Objekt angelegt hat |
[[$obj.site_email]] | Angebot, Auftrag, Rechnung eingetragene Email Adresse des Kunden |
[[$obj.customer__email]] | Angebot, Auftrag, Rechnung Email Adresse des Kunden-Stammdatensatzes |
Eine interne Beschreibung z.b. zwecks Dokumentation für diese Zeitaktion.
Ein optionales Script, das die PDF Power User Variablen und Funktionen verwendet, um zum Zeitpunkt der Ausführung weitere Bedingungen zu prüfen.
Beispiel:
Es kann geprüft werden ob ein Datumsfeld gesetzt ist (gt = greater than = größer als 0).
[[if $obj.deliverypln_dt gt 0]] LIEFERTERMIN GESETZT [[setskip]] [[/if]]
Dieser Code prüft ob in den Lieferantenbestellungen das Feld Liefertermin “deliverypln_dt” gesetzt ist.
Falls dies zutrifft, wird mittels “[[setskip]]” die weitere Abarbeitung unterbrochen - das bedeutet, die Aktion (Versand einer Email) wird nicht ausgeführt.
Der zusätzliche Text (LIEFERTERMIN GESETZT) innerhalb der [[if]] Anweisung wird ignoriert und dient dem eigenen Verständnis.
Es kommt nur darauf an, ob die “[[setskip]]” Anweisung ausgeführt wird (Aktion z.B. Email Versand wird dann abgebrochen) oder nicht (Aktion z.B. Email Versand wird durchgeführt).
Um eine TODO Erinnerung (z.B. 30 Minuten vor dem Erledigen bis Datum) zu versenden, muss folgende Zeitaktion eingerichtet werden:
Zeitaktion:
Aufgetretenes Event: | Todo Erledigen bis Datum gesetzt und verwenden |
Auszuführende Aktion: | Hook aufrufen |
Maximale Ausführungen pro Objekt: | Beliebig oft |
Auszuführender Hook-Code: | syscron-remind-todo |
Zeitraum | - 30 Minuten |
Der Hook-Code (in diesem Beispiel “syscron-remind-todo” kann frei gewählt werden.
Er muss exakt mit dem eigegebenen Hook-Code in der Synchronisierung Hook übereinstimmen.
Name der Email Vorlage z.B. Email Todo Erinnerung an User (muss dann im nächsten Schritt in der Synchronisierung ausgewählt werden).
Textblock:
<p>Hallo [[if $obj.user_assigned != 0]][[$obj.user_assigned__firstname|escape]] [[$obj.user_assigned__lastname|escape]][[else]][[$obj.modified_user__firstname|escape]] [[$obj.modified_user__lastname|escape]][[/if]],</p> <p>das Todo [[$obj._objref]] mit dem Betreff "<strong>[[$obj.name|escape]]</strong>" ist heute ([[$obj.enddate|ut2humandate:1:1:0]]) fällig!</p> <p>Link zum Todo: <a href="[[myurl absolute=true noGetParams=true script='b']]#/detail/todo/[[$obj.id]]">[[myurl absolute=true noGetParams=true script='b']]#/detail/todo/[[$obj.id]]</a><br /><br /> [[if $obj.customer != 0]]Kunde: [[$obj.customer___objref]] [[$obj.customer__comboname|escape]]<br />Link zum Kunden: [[myurl absolute=true noGetParams=true script='b']]#/detail/customer/[[$obj.customer]]<br />[[/if]] [[if $obj._type == "customer"]]Kunde: [[$obj._objref]] [[$obj.comboname|escape]]<br />Link zum Kunden: [[myurl absolute=true noGetParams=true script='b']]#/detail/customer/[[$obj.id]]<br />[[/if]] [[if $obj.offer != 0]]Angebot: [[$obj.offer___objref]] [[if $obj.offer__summary != ""]][[$obj.offer__summary|escape]][[/if]]<br />Link zum Angebot: [[myurl absolute=true noGetParams=true script='b']]#/detail/offer/[[$obj.offer]]<br />[[/if]] [[if $obj.order != 0]]Auftrag: [[$obj.order___objref]] [[if $obj.order__summary != ""]][[$obj.order__summary|escape]][[/if]]<br />Link zum Auftrag: [[myurl absolute=true noGetParams=true script='b']]#/detail/order/[[$obj.order]]<br />[[/if]] [[if $obj.invoice != 0]]Rechnung: [[$obj.invoice___objref]] [[if $obj.invoice__summary != ""]][[$obj.invoice__summary|escape]][[/if]]<br />Link zur Rechnung: [[myurl absolute=true noGetParams=true script='b']]#/detail/invoice/[[$obj.invoice]]<br />[[/if]] [[if $obj.ticket != 0]]Ticket: [[$obj.ticket___objref]] [[if $obj.ticket__summary != ""]][[$obj.ticket__summary|escape]][[/if]]<br />Link zum Ticket: [[myurl absolute=true noGetParams=true script='b']]#/detail/ticket/[[$obj.ticket]]<br />[[/if]] <p>[[if strlen($obj.description) GT 0]]<br><strong>Beschreibung:</strong><br /><em>[[$obj.description|escape|nl2br]]</em><br>[[/if]]</p> <p>Mit freundlichen Grüßen<br />Ihr [[$CONFIGURATION.ownCompany|escape]] Team</p> <div class="footer" style="color: #8c8c8c; font-size: 0.8em;">[[$CONFIGURATION.ownCompany|escape|nl2br]] <br />[[$CONFIGURATION.ownOfferContact|escape|nl2br]]</div>
Nun eine Synchronisierung mit Typ "Hook" anlegen.
Als “Hook-Code” den in der Zeitaktion hinterlegten Hook-Code (in unserem Beispiel syscron-remind-todo) exakt identisch geschrieben eintragen.
Synchronisierung:
Bezeichnung: | Email Todo Erinnerung an User |
Typ: | Hook |
Hook-Code: | syscron-remind-todo |
Methodenname | |
Dokument Vorlage | Email Todo Erinnerung an User (die vorher angelegte Mailvorlage auswählen) |
Alternative Empfänger Email: | [[$obj.user_assigned__username]] |
Die Variable [[$obj.user_assigned__username]] wird dann durch die Email Adresse des zum Todo zugeordneten Benutzers ersetzt.