Integrazioni & nodi pronti all'uso
86 nodi pronti — connetti email, AI, database, fatturazione italiana, Odoo, WooCommerce, e molto altro.
Manual
trigger_manualEsegue il workflow manualmente cliccando "Esegui" nell'editor.
Schedule (Cron)
trigger_cronEsegue il workflow su una pianificazione (cron). Usa il builder visuale: scegli la frequenza, regola ora/minuto, e vedi l'anteprima umana del cron generato.
Webhook
trigger_webhookAvvia il workflow quando una richiesta HTTP arriva all'URL del webhook. L'URL viene generato automaticamente e mostrato nel pannello "Webhook URL" qui sotto una volta selezionato il nodo. Supporta auth multipla, CORS, raw body, e percorsi custom. Per restituire una response personalizzata (HTML, JSON, redirect, file binario, ecc.) aggiungi un nodo "Webhook: Respond" alla fine del workflow.
Form Submission
trigger_formGenera automaticamente un form HTML pubblico. Le submission attivano il workflow.
File Watch
trigger_file_watchEsegue il workflow quando un file viene creato, modificato o cancellato in una directory monitorata.
Email (IMAP)
trigger_imapVerifica periodicamente una inbox IMAP; si attiva su nuove email che corrispondono ai filtri. Seleziona un Account Email di Sistema oppure compila i campi inline.
Database Change
trigger_db_changeEsegue il workflow quando righe di una tabella FlowForge DB vengono inserite, aggiornate o cancellate.
HTTP Request
action_httpEsegue una richiesta HTTP a un'API esterna. Supporta auth (Basic/Bearer/API Key/Custom), body strutturato (JSON/Form/Multipart/Raw/Binary), query parameters dedicati, pagination automatica (page/offset/cursor/link-header), retry con backoff, response format selezionabile (auto/json/text/binary), follow redirects, e timeout.
Read File
action_file_readLegge un file dal filesystem locale all'interno di una directory in allowlist.
Write File
action_file_writeScrive contenuto in un file all'interno di una directory in allowlist.
Excel: Parse (xlsx → array)
action_xlsx_parseLegge un file Excel (.xlsx) e restituisce le righe come array di oggetti, usando la prima riga come header. Supporta input da disco (path) o da base64 (es. allegato email IMAP).
Excel: Build (array → xlsx)
action_xlsx_buildGenera un file Excel (.xlsx) da un array di oggetti. Pipe da DB Query / Loop output, oppure passa una lista esplicita. Restituisce base64 (pronto per allegato email) o salva su disco.
PDF: Parse (text extraction)
action_pdf_parseEstrae il testo da un PDF. Prima prova con pdf-parse (gratis, veloce); se il risultato è di bassa qualità (PDF scannerizzato, OCR malfatto), fa fallback a Claude Sonnet vision (richiede una API key Anthropic in Settings → AI Providers).
Webhook: Respond
action_webhook_respondRisponde alla richiesta HTTP del Webhook trigger con body/status/headers personalizzati. Da usare ALLA FINE del workflow quando il chiamante aspetta la response. Modalità: JSON, Testo, HTML, Redirect, File binario, 204 No Content, o Custom.
Send Email (SMTP)
action_send_emailInvia un'email via SMTP. Compatibile con Gmail, SendGrid, Mailgun, Postmark, IONOS, Aruba SMTP. Seleziona un account preconfigurato da Settings → Email Accounts, oppure compila i campi SMTP qui sotto. Supporta CC, BCC, reply-to, threading (In-Reply-To), priorità, header custom, e immagini inline (CID).
Testo: Componi da template
action_text_templateComponi una stringa da un template con segnaposti {{var}}. Tipico: subject/body email personalizzati, messaggi notifica, prompt LLM. Sostituzioni con path nested ({{cliente.indirizzo.città}}) e fallback ({{nome|default Anonimo}}).
JSON: Estrai valore (JSONPath)
action_json_extractEstrai un valore o lista di valori da un oggetto JSON usando espressioni JSONPath. Sintassi standard: $.path.to.field, $.items[0].name, $..price (wildcard), $.items[?(@.qty>0)] (filter).
Data: Formatta
action_date_formatFormatta una data come stringa italiana (o altro locale). Input: timestamp ISO ("2026-05-23T..."), Date object, stringa "23/05/2026". Output: stringa formattata + componenti separati (giorno, mese, anno, weekday).
Righe: Arricchisci sotto-descrizione
action_lines_enrichAggiunge a ogni riga ordine la "sotto-descrizione" (la seconda riga sotto al codice articolo nel PDF) SOLO quando il codice matcha una regola configurata. Esclude note generiche tipo "A saldo Vs. ordine". Output: stesse lines con product_description arricchita.
Web: Fetch URL → testo
action_fetch_urlScarica una pagina web e ne estrae SOLO il testo leggibile (rimuove script, style, nav, footer). Output ottimizzato per LLM prompt o storage. Max 100KB, timeout 10s, SSRF-guarded (blocca localhost/LAN).
Web: Cerca sul web
action_web_searchRicerca sul web via Brave Search API (preferito, free tier 2k/mese — richiede env BRAVE_SEARCH_API_KEY) o DuckDuckGo HTML scraping come fallback gratuito always-on. Cache 5min per query identiche. Output: array unificato {title, url, snippet}.
Email: Estrai da HTML (5 strategie)
action_email_harvestEstrae tutte le email da una pagina web HTML usando 5 strategie parallele: mailto links, Cloudflare anti-spam decoder, HTML entities (@), regex plain, obfuscation testuale ([at]/[dot]). Filtra noise (noreply, example.com). Output: email primaria + lista completa con confidence score.
Email: Verifica MX + disposable
action_email_validate_mxVerifica la deliverability di un'email via DNS MX lookup (RFC 5321 fallback A record incluso). Detect domini disposable (mailinator, tempmail, ecc. — 250+ blacklist). Detect role-based vs person email (info@ vs nome.cognome@). Output: confidence 0-100. Cache LRU 5min × 5000 domini → trascurabile in batch.
Lead: Qualifica score deterministico
action_lead_scoreCalcola score 0-100 deterministico (no LLM) per qualificare un lead. Profili pre-set per industry vertical (marine-thrusters default per Arifin/HYSY). Pesa keyword positivi + penalizza keyword negativi off-topic (pizzeria, hotel) + bonus country tier EU. Stesso input → SEMPRE stesso score (audit-friendly, no LLM drift).
Email: Personalizza con AI (1-2 frasi)
action_email_personalizeGenera 1-2 frasi personalizzate da iniettare in cold outreach email. LLM cita una caratteristica REALE del cantiere (estratta dal content del loro sito) — anti-hallucination check: l'evidence_quote DEVE essere substring del content. Multi-lingua (14 supportate). Cache 1h per content_hash. Fallback gracioso se LLM fail.
Contatti: Crawler intelligente (14 lingue)
action_contact_discoveryMini-agente di crawling: parte da un URL homepage e NAVIGA il sito (homepage → /contatti → /about → /team → /impressum → sitemap.xml → DDG fallback) finché trova un'email business valida. Vocabolario in 14 lingue (IT/EN/DE/FR/ES/PT/NL/EL + scandi SE/NO/DK/FI/IS + HR). Rispetta robots.txt, rate-limit 2 req/s per host, cache LRU 7 giorni. Zero LLM dependency. Output: email primaria + tutte le email + pagina dove trovata + path tentati.
Aziende: Ricerca avanzata (LLM + multi-source)
action_company_searchTrova URL di AZIENDE REALI (non directory né blog) per cold outreach B2B. Pipeline: LLM query expansion → multi-source search (Exa/Tavily/Brave/DDG) → anti-directory blocklist → HEAD validation → de-dup. Output: array di {url, domain, title, boost_factors}. LLM-agnostic: gira con Liara, Anthropic, OpenAI, Gemini.
Salute dati: pulisci tabella
action_janitor_cleanupEsegue una regola del sistema Salute Dati (Janitor) come step del workflow. Funziona su QUALUNQUE database del sistema (SQLite/Postgres/MySQL/MSSQL/DuckDB). Modalità singola per applicare una regola specifica, modalità ciclo per eseguire tutte le regole abilitate.
If / Condition
logic_ifEsegue il ramo "true" se la condizione è vera, altrimenti "false". Usa il builder visuale (multi-regola con AND/OR e operatori per tipo) oppure un'espressione JavaScript libera (back-compat).
Switch
logic_switchIndirizza il workflow su uno tra molti rami in base al valore di un'espressione. Supporta un ramo di fallback quando nessun caso matcha.
Loop
logic_loopIterate a collection through the "body" branch. Choose serial / batched / bulk / queued / aggregated strategy per workload size.
Merge: Unisci branch paralleli
logic_mergeCombina gli output di N nodi paralleli upstream in 1 unico output. 4 strategie + opzione concat-arrays per pattern multi-search.
Delay
logic_delaySospende l'esecuzione del workflow per una durata configurabile.
Error Handler
logic_error_handlerIntercetta errori dai nodi a monte e li indirizza a un ramo di recovery.
Subworkflow
logic_subworkflowInvoca un altro workflow come step. Passa l'output dello step corrente come input.
Convert (JSON ↔ CSV ↔ Text)
logic_convertConverte il dato di input tra formati: JSON, CSV, plain text. XML e YAML in arrivo (v2).
Wait
logic_waitSospende l'esecuzione del workflow. Riprende tramite timer OPPURE callback webhook esterno.
Transform (JSONata)
logic_transformRistruttura il JSON in input usando un'espressione JSONata.
Paginate (auto-aggregate)
logic_paginateChiama una REST API paginata e aggrega tutte le pagine in un singolo array.
Group By
logic_group_byRaggruppa un array per un campo. Output: { gruppi: { [valore]: [item...] }, conteggio: N }.
Aggregate
logic_aggregateRiduce un array a un singolo valore: somma / conteggio / media / min / max / concatenazione. Group-by opzionale per riduzione per gruppo.
Distinct
logic_distinctRimuove duplicati da un array. Con il campo opzionale: item con stesso valore del campo restano solo il primo.
Window
logic_windowRaggruppa item in finestre temporali fisse (es. ogni ora, ogni giorno). Utile per analytics di serie temporali.
Wait For Signal
logic_wait_signalSospende il workflow fino all'arrivo di un segnale esterno (POST /signals/:name). Sopravvive ai restart — la pausa puo` durare settimane. Ideale per approvazioni e flussi long-running.
DB: Query
db_queryQuery rows from a FlowForge-managed database with filters, sort, limit.
DB: Insert
db_insertInsert a row into a table. Pass row data via config or pipe from previous step.
DB: Insert Batch (header + figli, atomico)
db_insert_batchInserisce in modo ATOMICO un header (es. ordine) + N righe figlie (es. order_lines), tutto in una transazione singola. Se l'inserzione delle righe fallisce, anche l'header viene rollbackato — niente ordini fantasma in DB. Tipico per: orders+order_lines, invoices+invoice_lines, deliveries+delivery_items.
DB: Update
db_updateUpdate rows in a table matching a where clause.
DB: Delete
db_deleteDelete rows matching a where clause. Destructive — confirmation required.
DB: Subscribe (changes)
db_subscribeRun the workflow whenever a row is inserted/updated/deleted in a table.
DB: SQL Query (custom SELECT)
db_sql_queryEsegue una SELECT custom (con JOIN, GROUP BY, CTE) e ritorna le righe. Solo lettura — usa db_insert/db_update per mutazioni.
PEC: Send (Aruba)
italia_pec_aruba_sendInvia un messaggio PEC tramite casella Aruba. Default: SMTP standard (smtps.pec.aruba.it:465) con supporto allegati. Modalità SOAP legacy disponibile per workflow esistenti.
PEC: Receive (Aruba)
italia_pec_aruba_receiveTrigger workflow alla ricezione di una nuova PEC su account Aruba (polling IMAP imaps.pec.aruba.it).
Fatture in Cloud: Create Invoice
italia_fatture_in_cloud_invoiceCrea una nuova fattura su Fatture in Cloud.
Fatture in Cloud: Lookup/Create Client
italia_fatture_in_cloud_clientCerca un cliente per partita IVA o codice fiscale; lo crea se non esiste.
SDI: Send FatturaPA
italia_sdi_send_invoiceTrasmette una fattura elettronica al Sistema di Interscambio (SDI) dell'Agenzia delle Entrate.
SDI: Check Invoice Status
italia_sdi_check_statusRecupera lo stato di una fattura inviata al SDI (RC = ricevuta committente, NS = notifica scarto, MC = mancata consegna, NE = notifica esito, DT = decorrenza termini).
Zucchetti: Payroll Trigger
italia_zucchetti_payrollAvvia un job di elaborazione cedolini su Zucchetti HR Go.
Register.it: DNS Update
italia_register_it_domainAggiorna record DNS su un dominio Register.it.
Odoo ERP
italia_odooCRUD universale su qualsiasi modello Odoo (res.partner, sale.order, account.move, ...) + esecuzione metodi custom del modulo proprietario. JSON-RPC su /jsonrpc (Odoo 12+). Domain syntax polish notation. Authenticate cached 30min per connection. UI con progressive disclosure: vedi solo i campi che servono per l'action scelta.
WordPress
italia_wordpressCRUD universale su WordPress REST API v2. Posts, pages, media, users, categories, tags, comments. Auth via Application Password (Users → Profile → Application Passwords, WordPress 5.6+). 43% del web gira WP — ideale per cliente con sito vetrina, blog, magazine, landing pages.
WooCommerce
italia_woocommerceCRUD universale su WooCommerce REST API v3. Products, orders, customers, coupons, refunds, taxes, shipping zones, batch endpoint (100 ops/req). 30% e-commerce market share — cliente con shop online ne ha probabilmente uno. Auth: consumer_key + consumer_secret da WooCommerce → Settings → Advanced → REST API.
AI: Anthropic Claude
ai_anthropicChiama AI: Anthropic Claude con la tua API key. Opus = potenza massima (costoso). Sonnet = bilanciato (default). Haiku = economico, veloce.
AI: OpenAI GPT
ai_openaiChiama AI: OpenAI GPT con la tua API key. gpt-4o = top quality. gpt-4o-mini = veloce/economico (default). gpt-3.5-turbo = legacy.
AI: Google Gemini
ai_geminiChiama AI: Google Gemini con la tua API key. gemini-2.0-flash = nuovo, veloce (default). 1.5-pro = qualità più alta.
AI: OpenRouter (100+ models)
ai_openrouterChiama AI: OpenRouter (100+ models) con la tua API key. OpenRouter dà accesso a 100+ modelli con una sola key. Formato: vendor/model.
AI: Ollama (local)
ai_ollamaChiama AI: Ollama (local) con la tua API key. Modelli devi averli pull-ati localmente con `ollama pull <nome>` prima.
Agent: Security Audit
agent_security_auditOWASP-grade security audit of code or config. Returns vulnerabilities + remediation.
Agent: Code Reviewer
agent_code_reviewerSenior code review: bugs, smells, perf, idiomatic style. JSON output with file:line refs.
Agent: Data Analyst
agent_data_analystAnalyze tabular data (JSON/CSV) and extract patterns, anomalies, summary stats.
Agent: Summarizer
agent_summarizerProduce a faithful, structured summary preserving named entities.
Agent: Translator
agent_translatorFaithful translation between languages, preserving formatting + entities.
Agent: Classifier
agent_classifierClassify input text into user-defined labels with confidence scores.
Agent: Entity Extractor
agent_extractorExtract structured entities from unstructured text. Output JSON object schema-driven.
Agent: Intent Router
agent_intent_routerClassify user intent and route to a downstream branch. Outputs branch name.
AI Agent (Tool-Calling Loop)
ai_agent_tool_loopAgente con tool-calling nativo Anthropic Claude. Cicla finché il modello non risponde senza richiedere altri tool. Tool disponibili: http_request, flowforge_invoke, get_time, rag_search.
Gmail
integration_gmailLeggi e invia email via Gmail con OAuth 2.0. Filtra per query Gmail (label, sender, unread), supporta allegati fino a 25MB, MIME parsing automatico, auto-refresh dei token entro 5 minuti dalla scadenza.
WhatsApp Business
integration_whatsappInvia messaggi via WhatsApp Business Cloud API (Meta Graph v19+). Template approvati per outbound, free-form solo entro la finestra 24h dalla risposta utente. Media supportati (image, document, audio, video).
Stripe
integration_stripeCrea checkout sessions, fatture, retrieve payment intent, lista subscriptions via Stripe API. Idempotency keys derivate da runId:nodeId:action per safe retry. Listener webhook eventi separato (in arrivo).
Google Drive
integration_google_driveUpload, download, list file con OAuth Google. Scope drive.file (solo file creati dall'app — privacy-friendly). Crea cartelle, condividi file, multipart upload fino a 5MB. Resumable upload per file più grandi in arrivo.
OCR (Tesseract)
integration_ocrEstrae testo da immagini e PDF scansionati usando Tesseract.js (pure JS, no native binary, no API key). Lingue: italiano + inglese di default, configurabile. Output con bounding boxes, confidence score per blocco, threshold filter.
Manca un'integrazione che ti serve?
Sviluppiamo nodi custom su richiesta. Tipicamente 3-5 giorni lavorativi per integrazione REST/SaaS standard, prezzo a preventivo.
Richiedi integrazione custom