n8n ⇄ Pulse
Deux workflows prêts à importer sont livrés dans le repo (examples/n8n-pulse-bridge/), couvrant les deux directions. Pas de connecteur spécifique n8n, pas de code — du HTTP simple.
Direction A — Pulse comme step dans n8n (le cas courant)
n8n orchestre ; Pulse est le nœud de traitement de flux au milieu :
1 · Déployez le step Pulse
Le pulse-scoring.yaml de l'exemple est une app à un stage qui ne garde que les commandes de valeur :
name: order-scoring
stages:
- name: score
engine: streaming
operators:
- type: filter
condition: "amount >= 1000"
pulse server start --dev
mkdir app && cp pulse-scoring.yaml app/pulse.yaml && (cd app && pulse deploy .)
2 · Importez le workflow, réglez deux choses
Importez workflow-n8n-calls-pulse.json dans n8n. Ses deux nœuds HTTP Request sont toute l'intégration — configurez l'URL de base Pulse et une credential Header Auth (Authorization: Bearer <jwt pulse> — le token est dans ~/.pulse/credentials.json après login) :
- Send —
POST /api/pulse/x/order-scoring/in, corps = l'événement - Read —
GET /api/pulse/events/order-scoring.score.out
3 · Ce qui se passe (validé en live dans le repo)
POST amount=2500 -> 202 {"topic":"order-scoring.in","published":true}
POST amount=300 -> 202
POST amount=1800 -> 202
GET order-scoring.score.out -> 2 événements scorés (le 300 a été filtré)
Le gain : remplacez les opérateurs du stage score par des fenêtres, des joins, du dedup, un stage llm ou mcp — les deux nœuds n8n ne changent pas. Le workflow reçoit une intelligence plus riche sans une seule retouche n8n.
Direction B — Pulse déclenche n8n
L'inverse : Pulse suit un flux, filtre les incidents, et POSTe chacun vers un trigger Webhook n8n via le sink webhook intégré :
sink:
kind: webhook
url: ${secret:N8N_WEBHOOK}
Importez workflow-pulse-triggers-n8n.json, copiez son URL de webhook dans le secret, et chaque incident démarre un run n8n.
Passer à l'échelle ensuite
Vous avez déjà un workflow n8n qui se noie sous les événements ? Le parcours de migration — isoler le chemin chaud, le pulse deploy ., câbler deux nœuds HTTP, puis pulse dataplane remote quand un nœud ne suffit plus — est documenté pas à pas dans le repo : docs/N8N-REALTIME-SCALING-JOURNEY.md. Votre workflow n'est réécrit à aucune étape.
Ensuite
- Appeler votre app de n'importe où — toute la surface API derrière ces deux nœuds
- Guide LangGraph · Guide Temporal