Sélectionner une page
person running on road street cliff during golden hour
Consultant Airtable, je vous aide à créer, améliorer et automatiser vos bases. Développeur de formation, j'accompagne mes clients sur des missions techniques, à la frontière entre le No-Code et le code.

Vous avez dû vous en rendre compte avant d’arriver sur cet article; à l’heure où je vous écris, les Webhooks ne sont pas supportés nativement dans Airtable.

Néanmoins, nous avons une solution à base de scripts qui devrait vous plaire.

Il s’agit simplement de configurer et d’envoyer nos webhooks nous même. On vous détaille les étapes ci-dessous.

Etape 1 Créer un trigger

Définissez la condition qui doit déclencher le Webhook.

Il peut s’agir d’une modification sur un champ, d’un record qui correspond à une condition, etc.

Etape 2 Créer une action

C’est ici que l’on va définir ce qui va se produire lorsqu’un record est “détecté” à l’étape 1.

On va exécuter un script.

Paramètres REQUIS :

  • WEBHOOK_URL : il s’agit de l’URL à laquelle nous devons envoyer les informations.

Optionnel mais fortement recommandé :

  • RECORD_ID : il s’agit de l’identifiant unique du record qui a été détecté. Il pourra être utile dans le logiciel qui recevra l’info, par principe, incluez le toujours. (sauf si vous savez précisément pourquoi vous ne voulez pas l’inclure 😉)

Au choix :

  • Tous les champs qui suivent; incluez les informations que vous souhaitez passer au logiciel qui recevra votre Webhook.
  • Le script se chargera de l’inclure automatiquement dans la requête.

Etape 3 Script

Le script est prêt à l’emploi (pour peu que vous ayez spécifié le WEBHOOK_URL comme paramètre.

Il existe deux manière d’envoyer la requête :

  • en GET
  • en POST

A nouveau, si vous ne savez pas ce que cela veut dire, je vous conseille d’utiliser la méthode POST (comme le script est configuré actuellement.

const REQUEST_METHOD = "POST";

var scriptConfig = input.config();

var webhookUrl = scriptConfig.WEBHOOK_URL;
var requestConfig = {
   "method" : REQUEST_METHOD,
}

if (REQUEST_METHOD == "POST") {
   
   // Adds scriptConfig content as JSON body of request
   requestConfig.body = JSON.stringify(scriptConfig);

   fetch(
   webhookUrl,
      requestConfig
   ).then(function(response) {
      output.set("status", 'ok')
   })

} else if (REQUEST_METHOD == "GET") {
   
   // Adds scriptConfig content as query params of request
   const qs = Object.keys(scriptConfig)
    .map(key => `${key}=${scriptConfig[key]}`)
    .join('&');
    
    // Appends queryString parameters to URL
    webhookUrl += '?' + qs

    fetch(
   webhookUrl,
      requestConfig
   ).then(function(response) {
      output.set("status", 'ok')
   })
} else {
}

Besoin d’aide sur Airtable ?

Notre équipe d’experts est prête à vous accompagner.
Réservez votre appel gratuit de 20 minutes maintenant.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *