Les flux de travail (ou workflows) sont le moteur d’automatisation de Kafinea. Ils permettent de déclencher automatiquement des actions lorsqu’un événement survient sur un enregistrement : envoi d’email, mise à jour de champs, création d’enregistrement, appel à un service externe, etc. Correctement configurés, ils éliminent les tâches répétitives, réduisent les erreurs humaines et garantissent l’application systématique de vos règles métier.
1. Accéder aux workflows #
Les workflows se gèrent depuis Paramètres > Automatisation et communication > Flux de travail. La liste affiche tous les workflows existants avec leur module cible, leur statut (actif/inactif) et leur description.
Depuis cette liste, vous pouvez :
- Créer un nouveau workflow
- Modifier un workflow existant
- Activer ou désactiver un workflow
- Supprimer un workflow
2. Créer un workflow #
La création d’un workflow se déroule en trois étapes : les informations de base, le déclencheur, puis les conditions et actions.
Étape 1 — Informations de base #
| Champ | Description |
|---|---|
| Nom | Un nom explicite pour identifier le workflow (ex : « Relance facture impayée ») |
| Description | Une description optionnelle du comportement attendu |
| Module cible | Le module sur lequel le workflow s’applique (Factures, Contacts, Tickets…) |
| Statut | Actif ou inactif — un workflow inactif ne se déclenche jamais |
Astuce : Adoptez une convention de nommage claire pour vos workflows. Par exemple : « [Module] — Action » (ex : « Facture — Envoi automatique après finalisation »). Cela facilite la maintenance lorsque le nombre de workflows augmente.
Étape 2 — Déclencheur #
Le déclencheur détermine quand le workflow s’exécute. Trois types de déclencheurs sont disponibles :
| Déclencheur | Comportement |
|---|---|
| À la création | Le workflow s’exécute uniquement lors de la création d’un nouvel enregistrement |
| À la modification | Le workflow s’exécute à chaque modification de l’enregistrement (y compris à la création) |
| Par intervalle de temps | Le workflow s’exécute selon une planification temporelle (voir section « Planification ») |
Récurrence (pour le déclencheur « À la modification ») :
Lorsque vous choisissez le déclencheur « À la modification », vous pouvez préciser la récurrence :
- La première fois que la condition est remplie : le workflow ne s’exécute qu’une seule fois par enregistrement, la première fois que les conditions sont satisfaites
- À chaque fois que la condition est remplie : le workflow s’exécute à chaque sauvegarde tant que les conditions sont satisfaites
Exemple : Un workflow « Envoyer un email de bienvenue » sur le module Contacts avec la récurrence « La première fois que la condition est remplie » garantit qu’un seul email de bienvenue est envoyé par contact, même si la fiche est modifiée plusieurs fois par la suite.
Planification (déclencheur par intervalle de temps) #
Lorsque le déclencheur est « Par intervalle de temps », vous configurez la fréquence d’exécution :
| Fréquence | Description |
|---|---|
| Toutes les heures | Exécution à chaque heure |
| Quotidien | Exécution une fois par jour à une heure précise |
| Hebdomadaire | Exécution certains jours de la semaine à une heure précise |
| Mensuel par date | Exécution certains jours du mois (ex : le 1er et le 15) |
| Date spécifique | Exécution unique à une date précise |
| Annuel | Exécution à des dates précises chaque année |
Pour toutes les fréquences sauf « Toutes les heures », vous définissez l’heure d’exécution.
Note : Les workflows planifiés sont exécutés par le planificateur de Kafinea. Ils s’appliquent à tous les enregistrements du module cible qui correspondent aux conditions définies, et non à un enregistrement unique. C’est ce qui les rend particulièrement puissants pour les traitements en masse (relances, mises à jour périodiques, notifications…).
Important : Le nombre de workflows planifiés est limité. Si la limite est atteinte, l’option « Par intervalle de temps » est désactivée. Contactez votre administrateur si vous avez besoin d’augmenter cette limite.
Étape 3 — Conditions et actions #
Après avoir défini le déclencheur, vous configurez les conditions de filtrage et les actions à exécuter.
3. Les conditions #
Les conditions déterminent quels enregistrements sont concernés par le workflow. Elles fonctionnent comme un filtre avancé.
Construire une condition #
Chaque condition se compose de :
- Un champ du module cible (ou d’un module lié)
- Un opérateur de comparaison
- Une valeur de référence
Opérateurs disponibles :
| Opérateur | Description |
|---|---|
| est égal à | Valeur exacte |
| n’est pas égal à | Différent de la valeur |
| commence par | Le champ commence par la valeur |
| se termine par | Le champ se termine par la valeur |
| contient | Le champ contient la valeur |
| ne contient pas | Le champ ne contient pas la valeur |
| est inférieur à | Valeur numérique ou date inférieure |
| est supérieur à | Valeur numérique ou date supérieure |
| est inférieur ou égal à | Valeur numérique ou date inférieure ou égale |
| est supérieur ou égal à | Valeur numérique ou date supérieure ou égale |
| est vide | Le champ n’a pas de valeur |
| n’est pas vide | Le champ a une valeur |
| a changé | Le champ a été modifié (utile avec le déclencheur « À la modification ») |
| a changé pour | Le champ a été modifié et sa nouvelle valeur correspond |
Groupes de conditions #
Les conditions peuvent être combinées avec les opérateurs logiques ET et OU :
- Toutes les conditions (ET) : toutes les conditions du groupe doivent être vraies
- Au moins une condition (OU) : au moins une condition du groupe doit être vraie
Vous pouvez créer plusieurs groupes de conditions pour construire des règles complexes.
Exemple : Pour un workflow de relance de factures impayées, vous pourriez définir :
- Groupe 1 (ET) : Statut est égal à « Envoyée » ET Date d’échéance est inférieur à « aujourd’hui »
Ce workflow ciblera toutes les factures envoyées dont la date d’échéance est dépassée.
Expressions dans les conditions #
En plus des valeurs fixes, vous pouvez utiliser des expressions dynamiques dans les conditions :
- Aujourd’hui : la date du jour
- Demain : la date du lendemain
- Hier : la date de la veille
- Valeur d’un autre champ : comparer un champ avec la valeur d’un autre champ du même enregistrement
4. Les actions (tâches) #
Les actions définissent ce que fait le workflow lorsque les conditions sont remplies. Vous pouvez ajouter plusieurs actions à un même workflow, qui s’exécuteront dans l’ordre.
Envoyer un email #
Envoie un email à un ou plusieurs destinataires.
| Paramètre | Description |
|---|---|
| Destinataire | Adresse email d’un champ de l’enregistrement, d’un utilisateur, d’un groupe, ou une adresse fixe |
| Objet | L’objet de l’email (peut contenir des variables de l’enregistrement) |
| Corps | Le contenu de l’email au format texte enrichi (peut contenir des variables de l’enregistrement) |
| Pièces jointes | Documents liés à l’enregistrement |
Note : Les emails ne sont pas envoyés instantanément. Ils sont placés dans une file d’attente et envoyés par le planificateur. Un léger délai est donc normal entre le déclenchement du workflow et la réception de l’email.
Astuce : Utilisez les variables (ex :
$contacts-lastname$,$invoice-invoice_no$) pour personnaliser le contenu de l’email avec les données de l’enregistrement. La liste des variables disponibles est affichée dans l’éditeur.
Mettre à jour des champs #
Modifie automatiquement la valeur d’un ou plusieurs champs de l’enregistrement.
| Paramètre | Description |
|---|---|
| Champ | Le champ à modifier |
| Valeur | La nouvelle valeur (fixe, expression, ou valeur d’un autre champ) |
Exemple : Lorsqu’un ticket passe au statut « Résolu », mettre automatiquement le champ « Date de résolution » à la date du jour.
Créer une tâche (todo) #
Crée automatiquement une tâche dans le calendrier.
| Paramètre | Description |
|---|---|
| Titre | Le titre de la tâche |
| Statut | Le statut initial de la tâche |
| Priorité | La priorité de la tâche |
| Date d’échéance | La date limite (peut être calculée, ex : « 3 jours après aujourd’hui ») |
| Assigné à | L’utilisateur ou le groupe responsable |
Créer un événement #
Crée automatiquement un événement dans le calendrier (réunion, appel…).
| Paramètre | Description |
|---|---|
| Titre | Le titre de l’événement |
| Type | Appel, réunion, etc. |
| Date et heure | Le début et la fin de l’événement |
| Assigné à | L’utilisateur ou le groupe responsable |
Créer un enregistrement #
Crée automatiquement un nouvel enregistrement dans un autre module.
| Paramètre | Description |
|---|---|
| Module cible | Le module dans lequel créer l’enregistrement |
| Correspondance des champs | L’association entre les champs de l’enregistrement source et ceux du nouvel enregistrement |
Exemple : À la création d’un devis accepté, créer automatiquement une commande client avec les mêmes lignes de produits.
Appeler une fonction personnalisée #
Exécute une fonction métier spécifique développée pour votre instance Kafinea. Ces fonctions permettent d’automatiser des traitements complexes qui ne sont pas réalisables avec les actions standard.
Note : Les fonctions personnalisées disponibles dépendent de votre configuration. Consultez votre intégrateur pour connaître les fonctions disponibles et en créer de nouvelles.
Webhook #
Envoie une requête HTTP vers un service externe lorsque le workflow se déclenche. C’est l’outil idéal pour connecter Kafinea à d’autres applications.
| Paramètre | Description |
|---|---|
| URL | L’adresse du service externe à appeler |
| Méthode HTTP | POST, GET, PUT, PATCH ou DELETE |
| Format | Le format des données envoyées (JSON) |
| Authentification | Aucune, Basic Auth, Bearer Token ou en-tête personnalisé |
Les données de l’enregistrement sont automatiquement incluses dans la requête au format JSON, avec le type d’enregistrement et l’ensemble de ses champs.
Exemple : Lorsqu’une facture est finalisée, envoyer un webhook vers votre logiciel de comptabilité pour synchroniser automatiquement les écritures.
Astuce : Les webhooks permettent d’intégrer Kafinea avec des plateformes d’automatisation comme Zapier, Make (ex-Integromat) ou n8n, ouvrant ainsi des possibilités d’intégration quasi illimitées.
Prompt IA #
Envoie les données de l’enregistrement à un service d’intelligence artificielle avec un prompt personnalisé, puis met à jour automatiquement des champs avec la réponse générée.
| Paramètre | Description |
|---|---|
| Prompt | Les instructions envoyées à l’IA (ce que vous lui demandez de faire) |
| Champs à mettre à jour | Les champs de l’enregistrement qui recevront la réponse de l’IA |
L’IA reçoit automatiquement le contexte complet de l’enregistrement : ses champs, les enregistrements parents liés, les documents attachés, les images, les lignes de produits et les informations de l’organisation.
Exemple : À la création d’un ticket de support, utiliser l’IA pour analyser la description du problème et remplir automatiquement le champ « Catégorie » et le champ « Priorité suggérée ».
Exemple : À la réception d’une facture fournisseur numérisée, utiliser l’IA pour extraire automatiquement le montant, la date et le numéro de facture depuis le document attaché.
Envoyer un SMS #
Envoie un SMS à un numéro de téléphone issu de l’enregistrement.
Note : Cette action nécessite la configuration préalable d’un fournisseur SMS dans les paramètres de Kafinea.
5. Cas d’usage courants #
Automatisation commerciale #
- Relance de factures impayées : workflow planifié quotidien qui envoie un email de relance pour les factures dont la date d’échéance est dépassée
- Notification de nouveau devis : à la création d’un devis, envoyer un email au responsable commercial
- Suivi des opportunités : créer une tâche de rappel lorsqu’une opportunité n’a pas été mise à jour depuis 7 jours
Gestion de projet #
- Notification d’affectation : envoyer un email à une personne lorsqu’elle est affectée à une tâche de projet
- Mise à jour de statut : mettre à jour automatiquement le statut d’un projet lorsque toutes ses tâches sont terminées
Support client #
- Accusé de réception : envoyer un email de confirmation au client lors de la création d’un ticket
- Escalade automatique : si un ticket n’est pas traité dans les 48 heures, envoyer une notification au responsable d’équipe
- Notification de résolution : envoyer un email au client lorsque le ticket passe au statut « Résolu »
Ressources humaines #
- Email de bienvenue : envoyer un email de bienvenue lors de la création d’une nouvelle fiche personne
- Rappel de fin de contrat : workflow planifié qui notifie le service RH 30 jours avant la fin d’un contrat de travail
Intégrations externes #
- Synchronisation comptable : envoyer un webhook vers le logiciel de comptabilité à chaque facture finalisée
- Notification Slack/Teams : envoyer un webhook vers un canal de messagerie lors d’événements importants
- Enrichissement par IA : analyser automatiquement les documents entrants et remplir les champs pertinents
6. Bonnes pratiques #
- Un workflow = une responsabilité : évitez de surcharger un workflow avec trop d’actions. Préférez plusieurs workflows simples à un workflow complexe
- Nommez clairement : un bon nom de workflow décrit son déclencheur et son action (ex : « Facture — Relance J+30 »)
- Testez avant d’activer : créez le workflow en statut inactif, vérifiez les conditions sur quelques enregistrements, puis activez-le
- Utilisez la récurrence « une seule fois » pour les notifications ponctuelles (bienvenue, confirmation) afin d’éviter les envois multiples
- Documentez vos workflows : utilisez le champ description pour expliquer le contexte métier et les règles appliquées
- Surveillez les workflows planifiés : vérifiez régulièrement dans le planificateur que les exécutions se déroulent correctement
7. Questions fréquentes #
Puis-je avoir plusieurs actions dans un même workflow ?
Oui, vous pouvez ajouter autant d’actions que nécessaire. Elles s’exécutent dans l’ordre dans lequel elles apparaissent.
Mon email de workflow n’est pas envoyé immédiatement, est-ce normal ?
Oui, les emails sont placés dans une file d’attente et envoyés par le planificateur. Le délai dépend de la fréquence d’exécution du planificateur (généralement quelques minutes).
Comment savoir si un workflow s’est bien exécuté ?
Consultez le journal d’événements pour vérifier les exécutions et identifier d’éventuelles erreurs.
Puis-je utiliser un workflow pour modifier un enregistrement lié (parent ou enfant) ?
Oui, l’action « Mettre à jour des champs » permet de modifier directement les champs d’un enregistrement parent lié via un champ de référence. Dans l’interface de configuration, les champs des modules liés apparaissent sous la forme « (Champ de référence : (Module) Champ cible) ». Par exemple, vous pouvez mettre à jour le téléphone d’un compte depuis un workflow sur les contacts. En revanche, pour modifier des enregistrements enfants (qui référencent l’enregistrement courant), utilisez l’action « Appeler une fonction personnalisée » ou créez un workflow séparé sur le module enfant.
Quelle est la différence entre un workflow planifié et le planificateur ?
Le planificateur est le moteur technique qui exécute les tâches en arrière-plan (dont les workflows planifiés). Un workflow planifié est une règle métier que vous configurez et qui sera exécutée par le planificateur selon la fréquence définie.
Puis-je dupliquer un workflow existant ?
Il n’existe pas de fonction de duplication directe. Vous devez créer un nouveau workflow et reconfigurer les paramètres manuellement.
Les workflows fonctionnent-ils lors d’un import CSV ?
Non, les workflows ne se déclenchent pas lors d’un import CSV. L’import utilise un traitement par lot optimisé pour les performances qui ne passe pas par le mécanisme de déclenchement des workflows. Si vous avez besoin d’appliquer des traitements automatiques après un import, vous pouvez utiliser un workflow planifié qui vérifiera périodiquement les enregistrements récemment créés ou modifiés.