Skip to main content
Nous vous recommandons vivement d’utiliser Exécuter un script pour créer des automatisations, car cette action peut couvrir tous les comportements, y compris ceux qui devraient autrement être configurés manuellement. Décrivez simplement vos besoins à l’IA dans le chat.Remarque : si vous ajoutez des actions manuellement, l’IA ne pourra ni les reconnaître ni les modifier par la suite.
L’action Exécuter un script vous permet d’écrire du JavaScript personnalisé pour gérer une logique que les actions intégrées ne peuvent pas couvrir. Vous pouvez transformer des données, appeler des API externes, effectuer des calculs, mettre en œuvre des branches conditionnelles et bien plus encore, le tout dans un environnement de bac à sable sécurisé. Les scripts reçoivent les données des étapes précédentes via l’objet input et transmettent leurs résultats aux étapes suivantes via la fonction output.set().

Quand utiliser Exécuter un script plutôt que les actions intégrées

En général, utilisez les actions intégrées lorsqu’elles répondent à vos besoins. Utilisez Exécuter un script lorsque vous avez besoin d’une logique personnalisée, d’une transformation de données ou d’une interaction complexe avec une API.

Environnement

Configuration

  1. Ajoutez une action Exécuter un script à votre workflow.
  2. L’éditeur de script s’ouvre sur une zone vide. Écrivez-y votre code JavaScript.
  3. Votre script peut lire les données des étapes précédentes à l’aide de l’objet input (voir ci-dessous).
  4. Utilisez output.set(key, value) pour transmettre des résultats aux étapes suivantes.
  5. (Facultatif) Ajoutez des dépendances npm dans le panneau de configuration si votre script nécessite des bibliothèques externes.
  6. Cliquez sur Tester pour exécuter le script avec des données réelles provenant de la dernière exécution du déclencheur.
  7. Consultez le résultat du test et les journaux de la console afin de vérifier que votre script fonctionne correctement.
  8. Enregistrez l’action.

Lire les données d’entrée

L’objet input contient les données de toutes les étapes précédentes du workflow. Chaque étape est identifiée par son ID d’action.

Structure des données d’entrée

Obtenir les données du déclencheur (champs d’un enregistrement)

Obtenir les données d’une étape Obtenir des enregistrements

Obtenir les données des résultats d’autres actions

Utilisez console.log(JSON.stringify(input, null, 2)) pendant les tests afin d’afficher la structure exacte de vos données d’entrée. C’est le moyen le plus rapide de comprendre les données disponibles.

Écrire des données de sortie

Utilisez output.set(key, value) pour rendre des données accessibles aux étapes suivantes. Vous pouvez définir plusieurs clés.
Chaque clé définie devient une variable distincte que les étapes suivantes peuvent référencer avec le sélecteur de variables +. Par exemple, si vous appelez output.set("status", "success"), l’étape suivante peut référencer status dans le résultat de ce script.

Débogage avec console.log

Pendant le développement, utilisez console.log() pour inspecter les données et suivre le déroulement de l’exécution. La sortie du journal apparaît dans le panneau de test lorsque vous cliquez sur Tester.
Les journaux de la console ne sont visibles que pendant les tests : ils n’apparaissent pas dans l’historique des exécutions en production. N’hésitez pas à les utiliser lors de la création de votre script.

Gestion des paquets npm

Vous pouvez utiliser des paquets npm dans vos scripts. Déclarez les dépendances dans le panneau de configuration :
Utilisez-les ensuite dans votre script avec require() :
Privilégiez les fonctionnalités JavaScript intégrées aux paquets npm lorsque c’est possible. Le JavaScript moderne propose de nombreux utilitaires natifs : Array.map(), Array.filter(), Object.entries(), littéraux de gabarit, déstructuration, etc. N’ajoutez des paquets npm que s’ils apportent une réelle valeur ajoutée.

Variables intégrées

Sécurité : portée d’AUTOMATION_TOKEN

Le jeton AUTOMATION_TOKEN est généré automatiquement pour chaque exécution d’automatisation. Il dispose des mêmes autorisations que le créateur de l’automatisation et sa portée est limitée à l’exécution actuelle. Points essentiels :
  • Il peut accéder à toutes les tables auxquelles le créateur de l’automatisation a accès.
  • Il n’est valide que pendant l’exécution du script (délai d’attente de 60 secondes).
  • N’exposez pas ce jeton à des systèmes externes : il est destiné aux appels de l’API Teable depuis votre script.

Appeler l’API Teable

Appeler l’IA depuis un script

POST /api/automation/runtime/ai envoie un prompt au modèle d’IA de votre base. La base est déterminée par le contexte de l’automatisation ; aucun ID de base n’est donc nécessaire. Le corps accepte prompt, ainsi que les paramètres facultatifs attachments, modelKey, temperature et outputType ; la réponse est { "message": ... }. Les pièces jointes sont des éléments { url, mimetype, name }, dans la limite de 10 par appel, chacun inférieur à 20 Mo et téléchargeable en moins de 30 secondes. Elles peuvent être des images, des PDF ou des documents Office. Le modèle de chat par défaut peut ne pas lire les images et pièces jointes similaires ; transmettez donc modelKey lorsque vous envoyez des fichiers. Chaque appel consomme des crédits.

Gestion des erreurs

Encadrez toujours les opérations risquées de blocs try/catch afin que votre workflow puisse gérer correctement les échecs :
Sans gestion des erreurs, un appel fetch échoué ou un format de données inattendu provoque l’arrêt du script, et les étapes suivantes ne reçoivent aucun résultat.

Exemple complet : traiter et acheminer des tickets d’assistance

Conseils

  • Commencez par console.log. Lorsque vous créez un script, journalisez d’abord l’objet input entier afin d’en comprendre la structure.
  • Gardez des scripts ciblés. Réalisez correctement une seule tâche plutôt que de regrouper de nombreuses opérations dans un même script. Enchaînez plusieurs actions Exécuter un script si nécessaire.
  • Tenez compte du délai d’attente de 60 secondes. Les opérations longues, comme le traitement de grandes quantités de données ou de nombreux appels d’API séquentiels, peuvent atteindre cette limite. Divisez les tâches volumineuses en blocs plus petits.
  • Testez avec des données réelles. Le panneau de test utilise les données réelles de la dernière exécution du déclencheur afin de produire des résultats réalistes.
  • Gérez les données manquantes. Utilisez des valeurs par défaut (opérateur ||) pour les champs susceptibles d’être vides ou non définis.

Pages connexes

  • Générer avec l’IA — pour les tâches d’IA fondées sur des prompts qui ne nécessitent pas de code personnalisé
  • Requête HTTP — pour les appels d’API simples qui ne nécessitent pas de script
Dernière modification le 4 septembre 2026