Connecter TimeTonic à des services externes
Le déclencheur Webhook entrant permet d’activer une automatisation dans TimeTonic lorsqu’un service externe (comme n8n, Make, Zapier, ou un script personnalisé) envoie une requête HTTP à une URL dédiée.
⬇️ Indispensable pour permettre la réalisation des cas d'usages comme :
-
Créer automatiquement une ligne dans TimeTonic à partir d’un formulaire rempli sur un site web externe.
-
Recevoir des données depuis une application tierce (CRM, outil de prospection…) pour les centraliser dans un tableau TimeTonic.
-
Mettre à jour une ligne existante dans TimeTonic lorsqu’un statut change dans un autre système.
-
Déclencher une automatisation TimeTonic à chaque fois qu’un événement se produit dans une autre plateforme (ex : nouvelle vente, nouveau contact, nouveau ticket…).
-
Synchroniser partiellement des données entre un outil métier et TimeTonic (ex : n’envoyer que certaines informations utiles à une équipe spécifique).
➡️ Introduction du fonctionnement webhook
Lorsqu’un appel est effectué vers l’URL Webhook générée par TimeTonic, l’automatisation est déclenchée automatiquement.
Le contenu de l’appel (au format JSON) peut être exploité comme variable.
➡️ Fenêtre de configuration "Déclencheur Webhook"
|
|
1️⃣ Mot de passe du Webhook
Lorsque vous configurez un webhook entrant dans TimeTonic, vous pouvez choisir de sécuriser les appels grâce à un mot de passe personnalisé.
Si un mot de passe est défini, alors seuls les appels contenant la bonne signature seront acceptés.
Dans le cas contraire, tous les appels seront autorisés sans vérification.
🔓 Méthode sans authentification
Cette méthode permet d’appeler un webhook TimeTonic sans mot de passe. Aucune authentification n’est requise.
📥 Appel Webhook ouvert (sans mot de passe)
Si aucun mot de passe n’est défini dans le webhook TimeTonic, la requête HTTP peut être envoyée librement, sans en-tête supplémentaire.
Configuration côté outil d’appel :
| 🔧 Paramètre | ✅ Valeur |
|---|---|
| Méthode | POST |
| URL cible | https://automationsv2.timetonic.com/api/automation/trigger/XXXXXXXXX |
| Authentification | Aucune |
✅ Cette configuration fonctionne si aucun mot de passe n’est défini dans le déclencheur webhook TimeTonic.
🔐 Méthode avec mot de passe (authentification personnalisée)
Cette méthode permet de sécuriser un appel webhook grâce à un mot de passe défini dans TimeTonic.
🔐 Appel Webhook sécurisé avec mot de passe
Lorsqu’un mot de passe est défini dans le webhook TimeTonic, l’appel HTTP externe doit inclure un hachage SHA-256 du contenu body concaténé avec le mot de passe, inséré dans l’en-tête X-PayloadSeal.
Il doit contenir au moins 8 caractères, un chiffre, une minuscule, une majuscule et ne doit pas contenir d'espace.
Configuration côté outil d'appel :
| 🔧 Paramètre | ✅ Valeur |
|---|---|
| Méthode | POST |
| URL cible | https://automationsv2.timetonic.com/api/automation/trigger/XXXXXXXXX |
| Encodage du mot de passe | SHA-256 de {body} + mot de passeÀ insérer dans l’en-tête X-PayloadSeal
|
| Header de la requête | { "X-PayloadSeal": "résultat_hash_ici" } |
| Body de la requête | { "id": "123" } |
Exemple de calcul :SHA256('{ "id": "123" }TTisbeautiful3+') ⇒1615f4baef74d03b8447c378a309fb2ff03ec7b57595753b111b55d7c3a79d19
2️⃣ Structure des données
La structure des données permet de récupérer des éléments du JSON reçu via le webhook et de les transformer en variables locales utilisables dans vos actions d'automatisation TimeTonic.
ObjectifDéfinir quels éléments du JSON doivent être extraits et sous quel nom ils seront référencés dans TimeTonic. Dans les champs de la structure :
Ou dans un JSON dans l'éditeur : {
✅ Résultat : TimeTonic va lire le contenu du JSON et créer automatiquement les variables locales avec la même dénomination que les propriétés du json "cle1" et "cle2"… |
|||||||||
|
|
4️⃣ Identification de la ligne
Choisissez parmi les 3 options suivantes dans la dernière étape de votre fenêtre de configuration, pour définir comment TimeTonic doit gérer les lignes lors de la réception d’un appel :
-
➡️ Création de ligne unique : crée une nouvelle ligne.
-
➡️ Identifier via l’ID de la ligne : recherche une ligne à partir de son ID TimeTonic.
-
➡️ Identifier via la valeur d’un champ : compare la variable reçue au champ de la table.
➡️ Création de ligne unique
À utiliser quand :
Chaque appel du webhook doit générer une ligne distincte, sans vérification d'existence préalable.
Idéal pour les systèmes de soumission, d’enregistrement ou de log continu.
➡️ Configuration dans l'outil extérieur :→ Insérer dans le body de la requête les propriétés contenant les informations provenant de votre outil. Paramètres extérieurs :
|
➡️ Configuration dans TimeTonic :
Note : après le déclencheur webhook entrant - création de ligne (et éventuellement des blocs de contrôles) l'action permettant d'écrire dans la ligne créée peut être Création de ligne ou Ecrire dans un champ. La valeur importée du webhook (ici dans la variable locale"age") se retrouve en bas de la liste déroulante. |
➡️ Identifier une ligne via son ID
À utiliser quand :
Vous disposez de l’ID unique d’une ligne à mettre à jour. Ce mode permet de cibler cette ligne précisément.
Utile lorsque vous avez déjà récupéré l’ID dans une étape précédente ou depuis un autre système.
|
➡️ Dans l'outil extérieur : Passer des paramètres dans votre appel webhook : → Insérer dans le body les propriétés contenant les informations provenant de votre outil Paramètres :
|
||||||||||||||
➡️ Configuration dans TimeTonic :
Note : après le déclencheur webhook entrant - identifier une ligne via son ID (et éventuellement des blocs de contrôles) l'action permettant d'écrire dans la ligne identifiée est Ecrire dans un champ. La valeur importée du webhook (ici dans la variable locale"age") se retrouve en bas de la liste déroulante.
|
➡️ Identification via valeur d’un champ
À utiliser quand :
Vous souhaitez mettre à jour une ligne sur la base d’un champ unique (ex. e-mail, code client…).
Le webhook compare la valeur reçue à celle d’un champ de la table pour déterminer s’il doit mettre à jour la ligne correspondante définie dans l'action de votre scénario.
Si aucune correspondance n'est trouvée : le scénario s'arrête.
|
➡️ Dans l'outil extérieur : Passer des paramètres dans votre appel webhook : → Insérer dans le body de la requête les propriétés contenant les informations provenant de votre outil Paramètres extérieurs :
Possibilité d'insérer d'autres paires pour les champs à mettre à jour |
➡️ Configuration dans TimeTonic :Cocher la case ☑️ Identifier via la valeur d’un champ
TimeTonic va récupérer dans les données envoyées la valeur du champ désigné comme champ d'identification et va tenter de trouver la première ligne dont le champ TimeTonic associé correspond.
Note : après le déclencheur webhook entrant - identifier une ligne via son ID (et éventuellement des blocs de contrôles) l'action permettant d'écrire dans la ligne identifiée est Ecrire dans un champ. La valeur importée du webhook (ici dans la variable locale"age") se retrouve en bas de la liste déroulante. |
➡️ Génération de l'URL Webhook
- Valider les paramétrages du webhook entrant
- Créer une action ou plusieurs actions (voir 🔗 Consultez les articles associés)
- Ajouter un titre à votre automatisation
- Appuyer sur le bouton Créer
- Ré-ouvrez votre déclencheur webhook entrant (votre URL est générée, vous pouvez la copier pour l'insérer dans vos services externes.)
Poursuivez l’édition de vos conditions et actions dans ce scénario d’automatisation.