Email (IMAP)

trigger_imap · trigger · Triggers · Disponibile · v2.0.0

Descrizione

Innesco enterprise IMAP che monitora periodicamente una inbox email e attiva il workflow alla ricezione di nuovi messaggi che corrispondono ai filtri configurati — il backbone di tutte le pipeline email-driven business critical: triage automatic email customer support, ingest PEC con allegato fattura per studio commercialista, parse ordini cliente legacy ricevuti via email, archiviazione legale a norma di messaggi contrattuali. Implementazione robusta su protocollo IMAP standard RFC 3501 + estensioni IMAP4 IDLE per push real-time (quando supportato dal server email — Gmail/Outlook/Exchange Online/iCloud) e fallback graceful su polling temporizzato (pattern per server IMAP legacy come Aruba, Register.it, Microsoft Exchange On-Premise di vecchia generazione che non supportano IDLE persistent connection). Due modalità di configurazione complementari per coprire i pattern enterprise: (1) selezione di un Account Email di Sistema dal vault centralizzato del tenant (Settings → Email Accounts), pattern preferito per multi-workflow share dello stesso account senza duplicare credentials in N nodi diversi — un singolo "Inbox Studio" config riusato da workflow PEC + workflow customer support; (2) compilazione inline diretta dei campi (IMAP host, port, username, password) per use case one-off senza vault touch — pattern dev/test o quando ogni workflow ha sua mailbox dedicata. Filtri rich: oggetto (substring o regex match — per workflow specifici dedicati a soggetti pattern come "FATTURA*" o "ORDINE*"), mittente (whitelist email/domain o blocklist per noise reduction), presenza allegato (boolean has_attachment + filter per MIME type ".pdf"/".xml"), etichetta IMAP/folder (filtra solo email in folder "INBOX/Importanti" o flagged \Seen=false per processing solo unread), header custom matching per identificare PEC ufficiali con X-Ricevuta. Polling configurable: 30s default per real-time-ish responsive, fino a 30min per inbox low-volume + cost-conscious — il trigger scheduler centrale del portal orchestra il polling senza tenere il container sveglio inutilmente. Dedup intelligent via Message-ID header persistito nel tenant DB — anche con IMAP IDLE + polling overlap, ogni email è processata esattamente UNA volta (exactly-once delivery semantics cruciale per workflow legali con effetto fiscale). Retry automatic su connection errors (network timeout, server down 5xx, auth expired) con exponential backoff + alert al tenant admin dopo 3 falli consecutivi. Use case: trigger automation alla ricezione PEC con allegato fattura per studio commercialista (filter has_attachment=true + sender_domain in PEC provider list — il workflow parsa il pdf con vision_extract, crea fattura in Odoo, archivia legale via action_pec_legal_archive); parsing automatico ordini email cliente B2B verso ERP (PMI italiani che ancora ricevono ordini via email tradizionale non EDI); reply-handling triage AI per support inbox (agent_email_triage classifica intent → routing al team competente); archiviazione legale automatic delle email contrattuali per compliance.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
systemAccountId
Account email (Settings → Email Accounts)
email-account-pickernoSe selezionato, l'engine usa IMAP host/port/credentials di quell'account.
host
IMAP host
stringno
imap.example.com
port
Port
numberno993
username
Username
stringno
password
Password
string (encrypted)no
mailbox
Cartella IMAP
stringnoINBOXINBOX = posta in arrivo. Altri esempi: Sent, Drafts, Spam, [Gmail]/All Mail.
pollIntervalSec
Intervallo polling (secondi)
numberno60Frequenza con cui controllare nuove email. 60s default. Più basso = più chiamate IMAP.
filterSubject
Filtro subject (regex, opzionale)
stringno
^(Fattura|Invoice).*2026
Regex case-sensitive sul subject. Esempi: ^Ordine = inizia con "Ordine" · \[ALERT\] = contiene [ALERT] · .*urgente.*/i = "urgente" qualsiasi case (aggiungi (?i) all'inizio).
filterFrom
Filtro mittente (regex, opzionale)
stringno
@example\.com$
Regex sul "from". Esempi: "@example\.com$" = da chiunque del dominio example.com · "^info@" = email che parte per info@. Combinato in AND con il filtro subject.
senderAllowlist
Allowlist mittenti (security — opzionale)
chip-listno
[email protected], [email protected]
Lista ESPLICITA di indirizzi email autorizzati a triggerare questo workflow. Più stringente del "filtro mittente" regex. Se popolato: solo le email da indirizzi in questa lista vengono accettate, tutto il resto viene scartato con audit log. Use case: la casella IMAP è pubblicamente conosciuta (es. [email protected]), ma vuoi accettare ordini SOLO da fornitori/dipendenti specifici — impedisce a estranei di triggerare workflow conoscendo l'indirizzo. Vuoto = solo il filterFrom regex viene applicato.
filterTo
Filtro destinatario (regex, opzionale)
stringno
^flowforge@
Regex sui destinatari (To + CC). Utile se la stessa casella riceve email diverse per destinatari diversi.
hasAttachment
Richiede allegato
booleannofalseSe ON, scarta le email senza allegati. Tipico per workflow di ingest PDF/Excel — evita di sprecare LLM call su email vuote.
onlyUnseen
Solo email NON LETTE (rispolvera UNREAD = re-trigger)
booleannofalseSe ON, il poll pesca solo email con flag \Seen=false (non lette). Pattern operativo: rimetti come "da leggere" un'email già processata su webmail (es. IONOS/Gmail) per far ripartire il workflow su quel messaggio senza dover mandare una nuova email. Combinata con markSeen=on-success diventa una catena retry idempotente perfetta: ordine fallisce → resta UNREAD → utente fixa la config → rimette UNREAD via webmail → workflow riparte automaticamente. ATTENZIONE: con questa opzione il cursor UID viene ignorato — il dedup è gestito SOLO da imap_processed_messages. Per ri-eseguire una mail già completata con successo, cancella la entry dedup (admin/CLI) o rinomina il Message-ID inoltrandola.
attachmentMime
Filtro MIME allegato (regex, opzionale)
stringno
application/(pdf|x-pdf)
Solo email che contengono almeno un allegato con questo MIME type. Tipici: application/pdf, image/.*, application/vnd.openxmlformats-.* (Office).
markSeen
Quando marcare l'email come letta
enum
on-successalwaysnever
noon-successon-success (raccomandato per produzione) = l'email resta UNREAD finché il workflow non completa con successo, così un ordine fallito viene ri-tentato al prossimo poll. always = marca sempre letta (rischio: ordine perso se il run fallisce). never = non marca mai, l'operatore gestisce i flag a mano.
tlsMode
Cifratura
enum
tlsstarttlsplain
notlstls = porta 993 (raccomandato). starttls = porta 143. plain = NESSUNA cifratura (usare solo in rete fidata).

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-trigger_imap-1",
  "defId": "trigger_imap",
  "label": "Email (IMAP)",
  "config": {
    "port": 993,
    "mailbox": "INBOX",
    "pollIntervalSec": 60,
    "hasAttachment": false,
    "onlyUnseen": false,
    "markSeen": "on-success",
    "tlsMode": "tls"
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Email (IMAP)?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi