Intégrations

Envoyer les réponses de formulaire à Google Sheets

YeetForm n'a pas de synchronisation native avec Google Sheets aujourd'hui, mais vous pouvez obtenir le même résultat - une ligne de feuille de calcul par réponse, ajoutée automatiquement - avec un petit Google Apps Script et un webhook. Cette page détaille le script exact (environ 15 lignes), comment le déployer comme application web, et comment pointer un webhook YeetForm vers l'URL obtenue. Cela prend quelques minutes et ne nécessite aucun serveur personnel.

Mise en place

1

Ajouter une intégration webhook

Google Sheets n'a pas de connecteur YeetForm natif, le pont est donc un webhook : ajoutez dans l'onglet Intégrations du formulaire un point de terminaison Webhooks pointant vers l'URL d'une application web Google Apps Script.

2

Créer l'Apps Script

Dans votre feuille cible, ouvrez Extensions → Apps Script, collez le script ci-dessous et déployez-le comme application web (Exécuter en tant que : Moi, Accès : Tous ceux qui ont le lien). Utilisez l'URL de déploiement comme point de terminaison de votre webhook.

function doPost(e) {
  var payload = JSON.parse(e.postData.contents);
  if (payload.event !== "response.created") return ContentService.createTextOutput("ignored");

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var labels = {};
  (payload.fields || []).forEach(function (f) { labels[f.id] = f.label; });

  var row = [payload.response_id, payload.submitted_at];
  Object.keys(payload.answers).forEach(function (id) {
    row.push(labels[id] || id, payload.answers[id]);
  });

  sheet.appendRow(row);
  return ContentService.createTextOutput("ok");
}
3

Déployer et récupérer l'URL

Le déploiement crée une URL du type https://script.google.com/macros/s/.../exec - collez-la dans le champ webhook YeetForm de l'étape 1.

4

Envoyer une réponse de test

Soumettez le formulaire (ou utilisez le bouton de test de l'intégration webhook) et vérifiez qu'une nouvelle ligne apparaît dans la feuille avec les réponses dans l'ordre.

5

Garder la feuille et le formulaire synchronisés

Si vous ajoutez ou retirez des champs plus tard, mettez à jour le mappage des colonnes du script - il lit les réponses par id de champ, pas par position, donc il ne décale pas silencieusement les colonnes existantes, mais un nouveau champ a besoin d'une nouvelle ligne dans le script.

Astuces

  • Utilisez le response_id de la réponse comme clé de déduplication dans la feuille (ne pas ajouter la ligne si une ligne avec cet id existe déjà), car un envoi de webhook réessayé renvoie la même réponse.
  • Mappez les colonnes à partir du tableau fields du payload (id vers label) plutôt que de coder en dur les id de champs, pour que le script survive à un renommage ou une réorganisation des champs.
  • C'est une recette basée sur un webhook, pas une intégration native - si le quota d'Apps Script ou votre compte pose problème, les lignes cessent d'apparaître silencieusement ; vérifiez le statut de livraison dans l'onglet Intégrations du formulaire plutôt que de ne surveiller que la feuille.

Créez votre formulaire par IA en quelques secondes

Commencer gratuitement

FAQ

Existe-t-il une intégration native avec Google Sheets ?+
Non - YeetForm ne synchronise pas directement avec Sheets. Cette page montre une recette webhook-Apps Script qui obtient le même résultat : une ligne par réponse, ajoutée automatiquement.
Cela fonctionne-t-il avec la fonctionnalité 'destination Sheets' de Google Forms ?+
Non, cette fonctionnalité est spécifique à Google Forms. Cette recette utilise une application web Google Apps Script comme point de terminaison propre, déclenchée par le webhook YeetForm, indépendamment de Google Forms.
Que se passe-t-il si j'ajoute un nouveau champ à mon formulaire plus tard ?+
Le script mappe les réponses par id et libellé de champ, donc il continue de fonctionner, mais un tout nouveau champ a besoin d'une ligne ajoutée au script (ou d'un petit ajustement) pour apparaître dans sa propre colonne - voir les astuces ci-dessus.
Est-ce réessayé si le script échoue ?+
Oui - c'est un envoi de webhook normal en coulisses, donc une réponse Apps Script échouée est réessayée jusqu'à 3 fois comme n'importe quel autre webhook.