Description
Extends SMTP send with GDPR-safe behavioural tracking: a per-message 1x1 open pixel served by the tenant (no cookies) and click-tracked link rewriting — feeding open/click analytics back into the workflow.
action_email_send_tracked · action · Email · Available · v1.0.0
Extends SMTP send with GDPR-safe behavioural tracking: a per-message 1x1 open pixel served by the tenant (no cookies) and click-tracked link rewriting — feeding open/click analytics back into the workflow.
Fields shown in the editor when configuring the node. Generated directly from the NodeDefconfigFields.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
systemAccountIdAccount email di sistema | email-account-picker | no | — | Scegli un account configurato in Settings → Email accounts (con Gmail OAuth o SMTP). Se lasciato vuoto puoi configurare host/porta/username/password qui sotto, ma e\` sconsigliato — gli account di sistema gestiscono refresh OAuth e cifratura password at-rest. |
hostSMTP host (override) | string | no | — smtp.gmail.com | Manuale: solo se non usi un account di sistema. Tipico: smtp.gmail.com / smtp.office365.com. |
portSMTP porta | number | no | 587 | 587 = STARTTLS (default moderno). 465 = TLS implicito. 25 = legacy non cifrato. |
securitySicurezza connessione | enumstarttlstlsnone | no | starttls | starttls = porta 587 (default). tls = porta 465. none = solo dev. |
usernameSMTP username | string | no | — | Per Gmail: l\'indirizzo email completo. Per Office365: idem. |
passwordSMTP password / app password | string (encrypted) | no | — | Per Gmail: usa una App Password (Account Google → Sicurezza). Per Office365: la password account. |
fromMittente (From) | string | no | — [email protected] | Indirizzo "From" mostrato al destinatario. Se vuoto e usi un account di sistema, eredita il fromAddress di quell\'account. |
toDestinatari (To) | string | yes | — [email protected], [email protected] | Uno o più indirizzi separati da virgola. Il pixel di apertura è UNICO per invio — non puoi distinguere chi ha aperto se metti 5 destinatari nello stesso To. Per tracking individuale: invia 1 mail per lead (vedi action_email_send_tracked_batch). |
ccCc | string | no | — | Copia conoscenza. Vede tutti i destinatari in chiaro. |
bccBcc | string | no | — | Copia nascosta. Tipicamente per archiviare la tua mail su un indirizzo aziendale. |
replyToReply-To | string | no | — [email protected] | Indirizzo dove arrivano le risposte se diverso dal From. Tipicamente lasciato vuoto. |
subjectOggetto | string | yes | — Redivivo Gin per la tua enoteca · Limited Edition Mutabilis | Massimo 998 caratteri (limite RFC). I caratteri non-ASCII vengono codificati automaticamente (MIME encoded-word). Supporta interpolazione `{{lead.name}}`. |
bodyTypeTipo corpo | enumhtmltext | no | html | HTML = formattazione + immagini + tracking pixel. Text = solo testo, pixel non iniettato (text/plain non supporta <img>). Per email commerciali usa SEMPRE html. |
bodyCorpo email | string (multiline) | yes | — <p>Gentile {{lead.name}}, ...</p> | HTML completo o frammento (senza <html>/<body> — vengono aggiunti automaticamente). Tutti i link <a href> vengono riscritti per tracking se trackClicks=on. Supporta {{interpolazione}} dalle variabili upstream e dai campi lead. |
leadIdLead ID | string | yes | — {{$json.lead.id}} | ID del lead nel database. Tipicamente arriva da un nodo db_query upstream. OBBLIGATORIO: senza lead id non si puo\` tracciare chi apre/clicca. |
campaignIdCampagna ID | string | yes | — redivivo-2026-w23-enoteche-lazio | Stringa libera che raggruppa tutti gli invii della stessa campagna. Usata per gli analytics "open-rate per campagna". Convenzione consigliata: <brand>-<anno>-<week>-<segmento>-<area>. |
sendIdSend ID (opzionale) | string | no | — lasciare vuoto = auto-generato | Identifica univocamente questo singolo invio. Se vuoto viene generato un uuid. Compilalo manualmente quando vuoi che un retry del workflow NON crei un secondo invio (es. usa `{{leadId}}-{{campaignId}}` per idempotenza forte). |
trackOpensTraccia aperture (pixel) | boolean | no | true | On: inietta un img 1x1 GIF trasparente che chiama il runtime quando il client carica l\'email. Spegni solo per mailing legali / molto formali o per evitare il bollo "contenuto bloccato" su client conservatori (Outlook desktop). |
trackClicksTraccia click (URL rewrite) | boolean | no | true | On: ogni <a href> viene riscritto in un redirect tracciato. Spegni quando il body contiene link sensibili (es. password reset) che NON vuoi loggare. |
trackingBaseUrlURL base tracking | string | no | — https://mio-tenant.app.automazionezeli.com | Dominio del tuo runtime FlowForge. Il pixel diventa <baseUrl>/api/track/open/<token> e i click <baseUrl>/api/track/click/<token>?u=<dest>. Se vuoto, eredita da FLOWFORGE_PUBLIC_BASE_URL nel container (preimpostato al provision). |
clickWhitelistDomini permessi nei link | chip-list | no | — example.com, mio-dominio.com | Lista di domini (suffix-match) per cui i link vengono riscritti col tracking. Tutti gli altri restano LINK DIRETTI (senza tracking). Difesa anti open-redirect: qualcuno che inietta un link nel template non puo\` usare il TUO dominio per redirigere a URL malevoli. Lascia vuoto per usare solo il dominio del trackingBaseUrl. Metti "*" (sconsigliato) per riscrivere QUALSIASI link. |
requireConsentRichiede consenso GDPR upstream | boolean | no | true | On (default): l\'invio fallisce se l\'input upstream non ha `consentVerified=true`. Spegni SOLO per email transazionali non commerciali (ricevute ordine, recupero password, notifiche operative): per quelle il consenso non e\` richiesto ex art.7 e-Privacy. |
sampleRateFrazione invio (0–1) | number | no | 1 | A/B test ratio. 1 = invia a tutti (default). 0.5 = al 50%. 0.1 = al 10% (test pilot). Implementato dal workflow chiamante. |
timeoutMsTimeout SMTP (ms) | number | no | 30000 | Quando il server SMTP non risponde entro N ms, il nodo fallisce. 30s di default coprono il 99esimo percentile dei mail server seri. |
JSON snippet of the node as it appears in the workflow. Values are derived fromdefaultValue and from required parameters.
{
"id": "node-action_email_send_tracked-1",
"defId": "action_email_send_tracked",
"label": "Email: send with tracking",
"config": {
"port": 587,
"security": "starttls",
"to": "[email protected], [email protected]",
"subject": "Redivivo Gin per la tua enoteca · Limited Edition Mutabilis",
"bodyType": "html",
"body": "<p>Gentile {{lead.name}}, ...</p>",
"leadId": "{{$json.lead.id}}",
"campaignId": "redivivo-2026-w23-enoteche-lazio",
"trackOpens": true,
"trackClicks": true,
"requireConsent": true,
"sampleRate": 1,
"timeoutMs": 30000
}
}Available now on all FlowForge plans. Try it free without a credit card.
Start freeBrowse all nodes