Intégration Zulip n8nAutomatiser Zulip avec n8n.
Les messages Zulip que quelqu'un recopie encore à la main peuvent partir tout seuls. L'intégration Zulip n8n réunit 16 opérations sur 3 ressources : messages, streams et utilisateurs. Aucun trigger Zulip n'existe, donc le workflow démarre ailleurs. Pour les équipes qui hébergent leur Zulip.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
À quoi sert vraiment l'intégration Zulip n8n ?
Le nœud Zulip est livré avec n8n et dialogue avec l'API de Zulip à partir de trois informations : l'adresse de ton organisation, un email de connexion et une clé API. Il couvre trois ressources, les messages, les streams et les utilisateurs. Tout ce qu'un workflow publie, lit, modifie ou supprime dans Zulip passe par l'une de ses 16 opérations, et le credential, cette fiche de connexion enregistrée une fois dans n8n, ressert partout.
Le premier usage, c'est le message d'astreinte. Un workflow de supervision détecte un incident, met en forme une ligne, et message.sendStream la publie dans le bon stream sous le bon sujet. Même mécanique pour le récapitulatif de la veille construit à partir d'un Google Sheets, ou pour une alerte doublée sur mobile avec Pushover quand personne ne lit le stream à 3 h du matin.
Deuxième usage : la gestion des comptes. L'arrivée d'un salarié déclenche user.create avec son email, son nom complet et un mot de passe, puis stream.create l'abonne aux streams de son équipe et user.update fixe son rôle. Le jour du départ, user.deactivate ferme l'accès depuis le même workflow, sans passer par le panneau d'administration.
Troisième usage : tenir les streams propres. stream.getAll sort la liste, stream.update renomme et referme ce qui n'a plus lieu d'être ouvert, message.update corrige un chiffre publié trop vite. Les équipes qui annoncent la même chose ailleurs enchaînent sur Slack juste après le nœud Zulip.
Le nœud s'arrête à ces 16 opérations. Tout ce qui sort de ces trois ressources passe par le nœud HTTP Request, qui appelle n'importe quel endpoint de l'API Zulip en réutilisant le même credential grâce à l'authentification prédéfinie.
Deux limites à connaître avant de construire. Il n'existe pas de nœud trigger Zulip, donc rien ne réagit tout seul à l'arrivée d'un message : c'est un Schedule Trigger, qui se réveille à intervalle fixe, ou un Webhook n8n, c'est-à-dire une URL qu'un autre service appelle, qui lance le workflow. Et les opérations qui visent un stream, un message ou un compte existant attendent un identifiant, pas un nom, d'où une étape de recherche placée avant. Le positionnement de l'outil est détaillé dans l'Avis n8n, et la prise en main des expressions dans la Formation n8n.
Comment connecter Zulip à n8n ?
- 01
Récupérer la clé API dans Zulip
Dans ton organisation Zulip, va dans la roue crantée (Gear cog), puis Personal Settings, puis Account & privacy, puis API Key. La clé appartient au compte connecté. Décide donc dès maintenant si l'automatisation doit publier sous le nom d'une personne ou sous un compte dédié : ce choix apparaît sur chaque message envoyé et détermine ce que le workflow a le droit de faire.
- 02
Créer le credential dans n8n
Côté n8n, ouvre le menu Credentials et ajoute un credential Zulip. Trois champs sont demandés : URL, l'adresse de ton domaine Zulip, Email, l'adresse utilisée pour te connecter à Zulip, et API Key, la valeur copiée à l'étape précédente. Un seul enregistrement suffit : le credential devient disponible dans tous les workflows de l'instance.
- 03
Choisir le credential et tester
Pose un nœud Zulip dans le workflow et sélectionne le credential dans sa liste déroulante. Il n'y a pas de sélecteur d'authentification à régler : tu passes directement à la ressource, Message, Stream ou User, puis à l'opération. Get subscribed streams fait un bon premier essai, elle ne demande aucun paramètre et renvoie une liste, ce qui valide l'URL, l'email et la clé d'un coup.
Les 16 opérations du nœud Zulip , une par une
Le nœud Zulip expose 16 opérations sur 3 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.
| Ressource | Create | Get | Get Many | Update | Delete | Deactivate | Get Subscribed | Send Private | Send to Stream | Upload a File |
|---|---|---|---|---|---|---|---|---|---|---|
| Message | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| Stream | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| User | ✓ | ✓ | ✓ | ✓ | ✓ |
Sommaire des opérations
Message
6 opérationsDelete a message
message.deleteCe que tu vois dans n8n
Notes & cas d'usage
Supprime définitivement un message de Zulip, dans un stream comme dans une conversation privée. Zulip travaille sur l'identifiant numérique du message, jamais sur son texte.
Paramètres clés
- Message ID : l'identifiant unique du message, récupéré d'une étape Get a message ou du nœud qui l'avait publié, via une expression du type
{{ $json.id }}.
Get a message
message.getCe que tu vois dans n8n
Notes & cas d'usage
Ramène un message précis dans le workflow, contenu compris, pour que la suite du traitement travaille sur le texte réel.
Paramètres clés
- Message ID : l'identifiant unique du message, transmis depuis une colonne de tableur, un champ de formulaire ou un nœud précédent avec
{{ $json.messageId }}.
Send a private message
message.sendPrivateCe que tu vois dans n8n
Notes & cas d'usage
Envoie un message direct à une personne ou à un petit groupe, sans rien publier dans un stream.
Paramètres clés
- To : les destinataires, choisis dans la liste du nœud ou passés sous forme de liste d'identifiants (emails) séparés par des virgules ; une expression fait l'affaire quand l'adresse vient d'une étape précédente.
- Content : le corps du message, écrit tel qu'il doit apparaître dans Zulip.
Send a message to a stream
message.sendStreamCe que tu vois dans n8n
Notes & cas d'usage
Publie un message dans un stream, sous un sujet. C'est l'opération sur laquelle se termine la plupart des workflows Zulip.
Paramètres clés
- Stream Name or ID : le stream de destination, sélectionné dans la liste du nœud ou fourni comme identifiant via une expression.
- Topic Name or ID : le sujet sous lequel le message se range, utilisé par Zulip uniquement pour les messages de stream.
- Content : le texte, souvent assemblé dans un nœud Set juste avant.
Update a message
message.updateCe que tu vois dans n8n
Notes & cas d'usage
Modifie un message déjà publié : son texte, son sujet, ou les deux, sans le supprimer ni le republier.
Paramètres clés
- Message ID : le message à modifier.
- Content : le texte de remplacement, renseigné dans Update Fields.
- Topic : le nouveau sujet, que Zulip n'accepte que sur les messages de stream.
- Propagate Mode :
changeOnene touche que ce message,changeLaterdéplace aussi ceux envoyés après lui dans le même sujet,changeAllprend tout le sujet.
Upload a file
message.updateFileCe que tu vois dans n8n
Notes & cas d'usage
Envoie vers Zulip un fichier porté par le workflow. Il arrive sous forme binaire depuis le nœud précédent : un téléchargement, un export ou un document généré.
Paramètres clés
- Put Output File in Field : le nom du champ binaire qui porte le fichier, à faire correspondre à celui utilisé par le nœud précédent pour sa sortie binaire.
Stream
5 opérationsCreate a stream
stream.createCe que tu vois dans n8n
Notes & cas d'usage
Ouvre un ou plusieurs streams et y abonne des comptes en un seul appel. D'où un champ qui attend une liste et non un simple nom.
Paramètres clés
- Subscriptions : les streams auxquels s'abonner, chacun avec un Name et une Description ; un stream qui n'existe pas encore est créé.
- Invite Only : rend le stream privé, tandis que History Public to Subscribers décide si les nouveaux abonnés peuvent lire ce qui s'est dit avant eux.
- Principals : les adresses email à abonner ; laissé vide, seul le compte du credential est abonné.
Delete a stream
stream.deleteCe que tu vois dans n8n
Notes & cas d'usage
Retire un stream de l'organisation, avec les sujets qu'il contenait.
Paramètres clés
- Stream ID : l'identifiant du stream à supprimer, un nombre et non son nom, fourni par une étape Get many streams via une expression.
Get many streams
stream.getAllCe que tu vois dans n8n
Notes & cas d'usage
Liste les streams de l'organisation. Ce sont les Additional Fields qui fixent l'étendue de cette liste, si bien que la même opération répond à deux questions très différentes.
Paramètres clés
- Include Public : ajoute tous les streams publics de l'organisation.
- Include Subscribed : ajoute les streams suivis par le compte.
- Include Default : ajoute les streams par défaut de l'organisation ; Include All Active ajoute tous les streams actifs et demande des droits d'administration.
- Include Owner Subscribed : pour un compte bot, ajoute les streams suivis par son propriétaire.
Get subscribed streams
stream.getSubscribedCe que tu vois dans n8n
Notes & cas d'usage
Ne renvoie que les streams suivis par le compte connecté. Liste plus courte, et celle dont la plupart des workflows ont réellement besoin.
Paramètres clés
- Include Subscribers : ajoute à chaque stream un champ subscribers contenant les identifiants des utilisateurs abonnés.
Update a stream
stream.updateCe que tu vois dans n8n
Notes & cas d'usage
Change les réglages d'un stream existant : son nom, sa description, sa confidentialité et le droit d'y publier.
Paramètres clés
- Stream ID : le stream à modifier.
- New Name et Description : le nouveau libellé et la ligne affichée en dessous.
- Is Private et History Public to Subscribers : referment le stream et décident de ce que ses nouveaux abonnés peuvent lire.
- Stream Post Policy :
1laisse publier tout le monde,2les seuls administrateurs,3les seuls nouveaux membres. Announcement Only limite le stream aux annonces.
User
5 opérationsCreate a user
user.createCe que tu vois dans n8n
Notes & cas d'usage
Ouvre un compte dans l'organisation Zulip. Les quatre champs sont obligatoires, le workflow doit donc les avoir sous la main avant d'exécuter le nœud.
Paramètres clés
- Email : l'adresse du nouvel utilisateur, au format
name@email.com. - Full Name : le nom affiché au reste de l'organisation.
- Short Name : un nom court, invisible pour les autres utilisateurs.
- Password : le mot de passe du nouveau compte, à faire passer par une expression plutôt qu'à taper dans le nœud.
Deactivate a user
user.deactivateCe que tu vois dans n8n
Notes & cas d'usage
Désactive un compte : la personne ne peut plus se connecter à l'organisation.
Paramètres clés
- User ID : l'identifiant de l'utilisateur à désactiver, un nombre que transmet une étape Get many users via une expression.
Get a user
user.getCe que tu vois dans n8n
Notes & cas d'usage
Lit un compte et renvoie son profil. C'est la façon de transformer un identifiant en nom ou en email exploitable dans la suite du workflow.
Paramètres clés
- User ID : l'identifiant du compte à lire.
- Custom Profile Fields : inclut dans la réponse les champs de profil personnalisés, par exemple l'équipe ou la fonction ajoutées par l'administrateur.
- Client Gravatar : activé, l'URL d'avatar n'est renvoyée que pour un vrai avatar Zulip et reste nulle pour les comptes qui utilisent gravatar.
Get many users
user.getAllCe que tu vois dans n8n
Notes & cas d'usage
Rapporte en un passage la liste des membres de l'organisation, chaque compte avec son profil.
Paramètres clés
- Custom Profile Fields : ajoute les champs de profil personnalisés à chaque compte renvoyé, utile quand l'équipe ou le service y sont stockés.
- Client Gravatar : même règle que sur la lecture unitaire, l'URL d'avatar n'arrive que pour les avatars Zulip.
Update a user
user.updateCe que tu vois dans n8n
Notes & cas d'usage
Modifie un compte déjà créé : son nom, ses permissions ou les champs personnalisés de son profil.
Paramètres clés
- User ID : le compte à modifier.
- Full Name : le nom affiché dans Zulip.
- Role :
100propriétaire,200administrateur de l'organisation,300modérateur,400membre,600invité. - Is Admin et Is Guest : les deux interrupteurs qui marquent le compte comme administrateur ou comme invité.
- Profile Data : les champs de profil personnalisés à mettre à jour.
Besoin d'aide pour automatiser Zulip avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.


