Collaboration: Send to tenant

action_tenant_collab · action · SaaS Integrations · Available · v1.0.0

Description

CROSS-TENANT collaboration: securely send data to another tenant's FlowForge workspace — the official bridge for two companies to cooperate without sharing databases or credentials (each tenant stays in its own isolated container, GDPR by design). It works as an API contract between workflows: the RECIPIENT tenant exposes a Webhook trigger and hands you the collaboration URL + connection token (the token IS the consent — rotate it and the collaboration stops). The node POSTs the JSON payload with an HMAC-SHA256 signature (x-ff-collab-signature header over "timestamp.body", ±5 min anti-replay) that the recipient verifies by setting authMode "hmac-signature" on its Webhook trigger. Enterprise security: allowed URLs are ONLY FlowForge webhooks (*.app.automazionezeli.com/api/v1/webhooks/…) — this is NOT a generic HTTP node; the signature is computed once and reused across retries, so the recipient never processes the same delivery twice (at-most-once). Reliability: exponential-backoff retries on transient errors only (5xx/network, never 4xx), configurable timeout, Idempotency-Key and correlation-id propagated for recipient-side dedup. Compliance: EVERY delivery is a cross-tenant data transfer recorded in the immutable audit log (hash-chain) with recipient, correlation-id and the payload's sha256 fingerprint — NEVER the content (GDPR data minimization). Output: { delivered, status, response, correlationId, idempotencyKey, attempts, signed, targetHost, durationMs }. Use case: a supplier notifies its customer about a shipment; a holding collects daily KPIs from subsidiaries; an accounting firm receives invoices from clients; two partners exchange qualified leads; supply-chain reorders triggered across companies.

⚙️ Configuration parameters

Fields shown in the editor when configuring the node. Generated directly from the NodeDefconfigFields.

FieldTypeRequiredDefaultDescription
collaborationUrl
URL di collaborazione
stringyes
https://acme.app.automazionezeli.com/api/v1/webhooks/<workflowId>/<token>
L'URL del trigger Webhook del tenant destinatario (te lo fornisce lui, dal suo editor → nodo Webhook → "URL webhook"). Sono ammessi SOLO webhook FlowForge — altri host vengono rifiutati.
connectionToken
Token di connessione
string (encrypted)noSegreto concordato col destinatario: firma ogni invio (HMAC-SHA256) ed è il suo CONSENSO alla collaborazione. Il destinatario lo imposta come hmacSecret sul suo trigger Webhook (authMode "hmac-signature"). Obbligatorio se "Firma il payload" è attivo.
payloadJson
Payload (JSON)
expressionno
{{$node.db_query_1.json}}
Il JSON da inviare al tenant destinatario. Vuoto = inoltra l'input del nodo. Supporta {{espressioni}}. Massimo 1 MB — per i file usa un link, non il contenuto.
signPayload
Firma il payload (HMAC)
booleannotrueConsigliato SEMPRE attivo: il destinatario può verificare integrità e provenienza, con protezione anti-replay. Disattivalo solo se il suo webhook non usa authMode "hmac-signature".
waitForResponse
Attendi la risposta
booleannotrueAttivo: l'output include la risposta del destinatario (utile se il suo workflow risponde con Webhook: Respond). Disattivo: fire-and-forget — conta solo la consegna (status 2xx).
timeoutMs
Timeout (ms)
numberno15000Tempo massimo per ogni tentativo di invio (1000–120000 ms). Default 15 secondi.
maxRetries
Retry massimi
numberno3Ritenta con backoff esponenziale SOLO su errori transitori (5xx, rete). 0–5. La firma resta la stessa su ogni retry: il destinatario non processa mai un invio due volte.
idempotencyKey
Idempotency key (opzionale)
expressionno
{{$node.trigger.json.orderId}}
Chiave di deduplica propagata nell'header Idempotency-Key. Vuota = generata automaticamente da run + nodo (stabile sui retry). Usa un ID di business (es. numero ordine) se il destinatario deve dedupare tra run diverse.

⬆️ Node output

Fields available to downstream nodes via $node.<alias>.json.<field>:

  • delivered
  • status
  • response
  • correlationId
  • idempotencyKey
  • attempts
  • signed
  • targetHost
  • durationMs

💡 Configuration example

JSON snippet of the node as it appears in the workflow. Values are derived fromdefaultValue and from required parameters.

{
  "id": "node-action_tenant_collab-1",
  "defId": "action_tenant_collab",
  "label": "Collaboration: Send to tenant",
  "config": {
    "collaborationUrl": "https://acme.app.automazionezeli.com/api/v1/webhooks/<workflowId>/<token>",
    "signPayload": true,
    "waitForResponse": true,
    "timeoutMs": 15000,
    "maxRetries": 3
  }
}

🔗 Related nodes in the same category

Ready to use Collaboration: Send to tenant?

Available now on all FlowForge plans. Try it free without a credit card.

Start freeBrowse all nodes