Guides

Guides18 min de lecture

Dépasser les formulaires de votre créateur de sites

Quand les formulaires de Webflow, Netlify, Carrd ou Framer atteignent un plafond ou manquent d'une fonctionnalité, gardez le formulaire que vous avez conçu et faites-le pointer vers un backend de formulaires.

Preet SutharFondateur, Ikiform

Gardez le formulaire que dessine votre créateur de sites et changez seulement sa destination : une action personnalisée sur Webflow, Send to URL sur Carrd, une destination webhook sur Framer, ou une simple action sur une page hébergée par Netlify. L'envoi part alors vers un backend de formulaires qui valide, filtre, stocke et transmet chaque soumission, donc les plafonds de soumissions et les restrictions d'offre du créateur de sites ne s'y appliquent plus. Vérifiez d'abord ce que vous perdez, comme l'envoi de fichiers et la boîte de réception du créateur de sites.

Les créateurs de sites proposent des formulaires parce que chaque site en a besoin. Ils sont conçus pour le premier formulaire de contact, pas pour le dixième formulaire ni la millième soumission. Tôt ou tard, vous butez sur une limite : un plafond de soumissions, une fonctionnalité qui exige une offre dont vous n'avez pas besoin par ailleurs, un formulaire qui ne fonctionne que tant que le site reste chez un hébergeur, ou une boîte de réception qui est votre seule trace de qui vous a écrit.

Vous n'avez pas à reconstruire le formulaire pour dépasser cette limite. Chaque grand créateur de sites peut envoyer un formulaire ailleurs. Ce guide explique ce qui change dans ce cas, comment le faire dans chaque créateur de sites sans perdre de soumission, et quand il vaut mieux rester sur les formulaires du créateur de sites.

Ce qui change quand le formulaire quitte le créateur de sites

Un formulaire de créateur de sites a deux moitiés : la partie visible, que dessine le créateur de sites, et la partie qui reçoit l'envoi. Passer à un backend de formulaires ne remplace que la seconde moitié. Votre mise en page, vos polices et vos styles restent en place.

Un formulaire de créateur de sites avant et après son envoi vers un backend de formulairesAvant : le créateur de sites traite l'envoiAprès : le créateur de sites ne fait que dessiner le formulairevotreformulaireconçu dans lecréateur de sitesgestionnaire deformulaires ducréateurdécompté du plafondde l'offreboîte ducréateur oue-mailexport à la mainle mêmeformulairemêmes mise en pageet stylesIkiformvalide, filtre lespam, stockee-mail,webhooks, CSVvotre équipe et vosoutilsenvoiadresse d'envoiUn formulaire de créateur de sites avant et après son envoi vers un backend de formulairesAvant : le créateur de sites traite l'envoiAprès : le créateur de sites ne fait que dessiner le formulairevotre formulaireconçu dans le créateur de sitesgestionnaire deformulaires du créateurdécompté du plafond de l'offreboîte du créateur oue-mailexport à la mainle même formulairemêmes mise en page et stylesIkiformvalide, filtre le spam, stockee-mail, webhooks, CSVvotre équipe et vos outilsenvoiadresse d'envoi
  1. Avant : un visiteur envoie le formulaire, et le gestionnaire de formulaires du créateur de sites reçoit l'envoi.
  2. Le créateur de sites le décompte du plafond de soumissions de l'offre et le garde dans sa boîte de réception ou l'envoie par e-mail.
  3. Après : le même formulaire, avec le même design, envoie plutôt vers l'endpoint Ikiform.
  4. Ikiform valide les champs, attribue un score de spam à l'envoi et le stocke.
  5. Ikiform envoie un e-mail à votre équipe, envoie des webhooks signés et garde chaque soumission consultable et exportable en CSV.
Seule la destination change. Le créateur de sites ne voit jamais l'envoi, donc son compteur de soumissions et ses fonctionnalités de formulaire ne s'appliquent plus à ce formulaire.

Les limites que l'on atteint

Chaque créateur de sites place la limite à un endroit différent. Le tableau résume ce que chacun indique sur ses propres pages de tarifs et d'aide en octobre 2026. Les offres changent, donc consultez la page de variante liée pour le détail et le site du créateur de sites avant de décider.

Créateur de sitesCe que font ses formulairesOù l'on bute sur la limiteLa solution
WebflowStocke les soumissions, envoie des notifications par e-mail et exporte en CSVL'offre gratuite Starter autorise 50 soumissions de formulaire par site au total, et le compteur ne se réinitialise pas. Les sites exportés n'ont aucune gestion de formulairesUne action personnalisée dans les paramètres du Form Block. Cela fonctionne aussi avec Starter
NetlifyDétecte les formulaires data-netlify au déploiement et stocke les envoisLes anciennes offres comptent les soumissions par site et par mois et font passer le site à un niveau Forms payant quand il dépasse la limite. Les formulaires ne fonctionnent que sur les sites compilés par NetlifyRetirez les attributs Netlify et définissez l'action du formulaire
CarrdLes formulaires de contact vous envoient un e-mail ; les formulaires d'inscription ajoutent les personnes à un outil d'e-mailingTout formulaire nécessite Pro Standard. Les formulaires personnalisés, y compris Send to URL, nécessitent Pro PlusSend to URL sur Pro Plus, ou un Embed sur Pro Standard
FramerEnvoie chaque soumission par e-mail, vers Google Sheets ou vers un webhookPas vraiment de plafond. Les équipes veulent un enregistrement stocké avec statut de spam, validation, notifications et plus d'une destinationAjoutez l'endpoint comme destination webhook, ou utilisez un code component

Remarquez la ligne Framer. Framer a déjà des webhooks, donc quitter ses formulaires est un choix sur ce qui se passe après l'envoi, pas un contournement de plafond. La page Framer dit franchement quand vous n'avez pas du tout besoin d'Ikiform.

Quatre façons de dépasser la limite

Un backend de formulaires n'est pas la seule réponse, et ce n'est parfois pas la meilleure.

ApprochePoints fortsCompromis
Passer à une offre supérieure du créateur de sitesAucune migration. Les offres de site payantes de Webflow affichent des soumissions illimitées ; les offres à crédits de Netlify rendent les formulaires gratuitsVous payez toute l'offre pour lever une seule limite. Le formulaire reste lié à ce créateur de sites et à cet hébergeur
Intégrer un outil de création de formulaires, comme Tally ou TypeformTypes de questions riches, logique et envoi de fichiers sans codeUne iframe avec son propre style et ses propres scripts. Le design construit dans le créateur de sites disparaît, et les limites passent aux offres de ce produit
Écrire votre propre gestionnaire, comme une fonction serverlessContrôle total, avec la logique de votre choixLe filtrage du spam, les limites de débit, le stockage, les notifications et les nouvelles tentatives sont désormais à votre charge, sur un site pour lequel vous avez choisi un créateur de sites justement pour ne pas exécuter de code
Faire pointer le formulaire vers un backend de formulaires, comme IkiformGarde votre design. Filtrage du spam, stockage, e-mails à l'équipe, webhooks signés et export CSV, identiques sur chaque créateur de sitesPas encore d'envoi de fichiers, pas de boîte de réception du créateur de sites, et pas d'intégrations assemblées en quelques clics dans le créateur de sites. Certains créateurs de sites exigent une offre payante pour envoyer ailleurs

Passez à une offre supérieure quand les formulaires du créateur de sites font déjà tout ce dont vous avez besoin et que l'offre vaut le coup pour d'autres raisons aussi. Passez à un backend de formulaires quand la limite concerne le formulaire lui-même : vous voulez un seul endroit pour les soumissions de plusieurs sites, vous pourriez changer de créateur de sites, ou les soumissions doivent atteindre d'autres outils de façon fiable. La comparaison avec Netlify Forms détaille ce compromis pour un hébergeur.

Ce que vous perdez

Quand un formulaire envoie ailleurs, le créateur de sites le traite comme un formulaire HTML classique. Ses fonctionnalités de formulaire ne s'appliquent plus à ce formulaire. Connaissez la liste avant de changer :

  • La boîte de réception du créateur de sites. Les nouvelles soumissions apparaissent dans le tableau de bord d'Ikiform, pas dans celui du créateur de sites. Les anciennes restent où elles étaient.
  • Le message de succès du créateur de sites, parfois. Les blocs de succès et d'erreur de Webflow ne fonctionnent que lorsque Webflow traite l'envoi. Le mode AJAX de Carrd et la destination webhook de Framer gardent les leurs.
  • L'envoi de fichiers. L'envoi de fichiers n'est pas encore pris en charge. Un envoi avec un fichier reçoit 422 files_not_supported. Les formulaires personnalisés de Webflow, Netlify et Carrd acceptent tous des fichiers, donc vérifiez ce point en premier.
  • Les intégrations en quelques clics. Il n'y a pas d'intégrations en un clic. Chaque outil est atteint via un webhook signé, directement ou via un outil d'automatisation comme Zapier ou n8n.
  • Le filtre anti-spam du créateur de sites. Le honeypot, le score de spam, les limites de débit et la vérification humaine facultative d'Ikiform prennent le relais. Un élément reCAPTCHA ajouté dans le créateur de sites ne sert à rien avec une destination personnalisée ; retirez-le.
Si un formulaire a besoin de l'envoi de fichiers, gardez ce formulaire-là sur le créateur de sites et déplacez les autres. Rien n'oblige tous les formulaires d'un site à utiliser le même backend.

Faire pointer chaque créateur de sites vers Ikiform

Créez un formulaire dans le tableau de bord Ikiform et copiez son endpoint. Utilisez ensuite le paramètre propre au créateur de sites pour une destination externe. Les guides de la documentation pour Webflow, Carrd et Framer donnent le parcours complet ; voici ce qu'il faut changer et le point que la plupart des gens oublient.

Webflow

  1. Sélectionnez le formulaire dans le Form Block et ouvrez Settings.
  2. Sous Send to, choisissez une action personnalisée, collez l'endpoint dans Action et réglez Method sur POST.
  3. Renommez le Name de chaque input en identifiant en minuscules comme email. Webflow remplit les noms à partir des libellés, sinon vous obtiendriez Email et Field 2.
  4. Publiez et envoyez depuis le domaine webflow.io. Les actions personnalisées ne fonctionnent pas dans le Designer.

Facile à manquer : le bloc de succès de Webflow ne s'affiche plus, car Webflow ne voit plus le résultat. Définissez Redirect after submit dans Ikiform, ou ajoutez le script de la documentation Webflow. Le détail et le plafond Starter se trouvent sur la page sur la limite Webflow.

Netlify

  1. Retirez data-netlify ou netlify, netlify-honeypot et tout input masqué form-name.
  2. Définissez l'action du formulaire sur l'endpoint et method sur post.
  3. Déplacez l'ancien chemin de remerciement dans Redirect after submit, sous forme d'URL https: complète.
  4. Pour les formulaires JavaScript, supprimez la copie statique masquée que vous gardiez pour le build Netlify, et envoyez vers l'endpoint au lieu de votre propre site.

Facile à manquer : les deploy previews vivent sur leurs propres sous-domaines netlify.app, donc votre domaine de production dans Allowed domains ne les couvre pas. La page Netlify contient le code pour chaque framework.

Carrd

  1. Sur Pro Plus, ajoutez un Form, réglez Type sur Custom, puis Send to URL, et collez l'endpoint.
  2. Réglez Method sur AJAX et Format sur Default, pour que Carrd garde son comportement On Success et On Failure.
  3. Donnez à chaque champ un ID ou un Submitted ID : name, email, message.
  4. Sur Pro Standard, collez plutôt un formulaire HTML dans un élément Embed.

Facile à manquer : le format XML échoue avec 415, et un champ File échoue avec 422 files_not_supported. Consultez la page Carrd.

Framer

  1. Donnez à chaque input un nom en minuscules. Framer envoie les noms comme clés JSON.
  2. Sélectionnez le formulaire et, à côté de Send To, choisissez Add… > Webhook, puis collez l'endpoint.
  3. Dans Ikiform, laissez Allowed domains vide et le Spam check désactivé, et choisissez la limite de débit Relaxed.

Facile à manquer : Framer envoie depuis ses serveurs, pas depuis le navigateur du visiteur, donc les vérifications d'origine et les limites de débit par visiteur ne fonctionnent pas comme d'habitude. La page Framer explique ce compromis et un relais signé qui le résout.

Squarespace, Wix, WordPress et les autres

Les créateurs de sites sans paramètre de destination externe acceptent généralement un embed HTML. Collez un formulaire comme celui ci-dessous dans un bloc de code ou d'intégration. Il envoie avec fetch pour que les visiteurs restent sur la page, affiche la première erreur de champ renvoyée par Ikiform et se rabat sur un envoi normal si le script ne s'exécute pas.

Bloc d'intégration ou de code
<form id="enquiry" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post" target="_top">
  <label>Name <input name="name" autocomplete="name" required maxlength="120"></label>
  <label>Email <input name="email" type="email" autocomplete="email" required></label>
  <label>Budget
    <select name="budget">
      <option value="">Not sure yet</option>
      <option value="under_5k">Under $5k</option>
      <option value="5k_20k">$5k to $20k</option>
      <option value="over_20k">Over $20k</option>
    </select>
  </label>
  <label>What are you planning? <textarea name="message" rows="5" required minlength="20"></textarea></label>
  <input type="hidden" name="source" value="builder-embed">
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
  <p id="enquiry-status" role="status" hidden></p>
  <button type="submit">Send enquiry</button>
</form>
<script>
  document.getElementById("enquiry").addEventListener("submit", async (event) => {
    event.preventDefault();
    const form = event.currentTarget;
    const status = document.getElementById("enquiry-status");
    const button = form.querySelector("button");
    button.disabled = true;
    try {
      const response = await fetch(form.action, {
        method: "POST",
        headers: { Accept: "application/json" },
        body: new FormData(form),
      });
      const result = await response.json();
      if (result.ok) {
        form.replaceChildren(Object.assign(document.createElement("p"), {
          textContent: "Thanks. We reply within two working days.",
        }));
        return;
      }
      const fields = result.error.fields ?? {};
      const first = Object.keys(fields)[0];
      status.textContent = first ? `${first}: ${fields[first][0]}` : result.error.message;
    } catch {
      status.textContent = "Couldn't send. Check your connection and try again.";
    }
    status.hidden = false;
    button.disabled = false;
  });
</script>
  • target="_top" compte quand le créateur de sites enveloppe les intégrations dans une iframe. Sans lui, un envoi classique chargerait la page de remerciement dans le cadre.
  • L'input masqué _gotcha est le honeypot. Les personnes ne le voient pas ; les bots qui remplissent chaque input se signalent eux-mêmes comme spam.
  • L'input masqué source enregistre de quel créateur de sites ou de quelle page vient la demande, ce qui aide quand plusieurs sites envoient vers un même formulaire.
  • Le script envoie avec fetch, donc laissez le Spam check désactivé pour ce formulaire, ou retirez le script et laissez le navigateur envoyer normalement, ce qui exécute la vérification sans code supplémentaire.

Les guides Squarespace, Wix et WordPress indiquent où chaque créateur de sites vous laisse coller du code, et l'intégration pour créateurs de sites propose une version stylée.

Qui envoie la requête pour chaque créateur de sites, et ce que cela implique pour les domaines autorisésWebflowactionpersonnaliséenavigateurdu visiteurlistez vosdomainesCarrdSend to URLou Embednavigateurdu visiteurlistez vosdomainesNetlifyactionsimplenavigateurdu visiteurdomaines etpreviewsFramerdestinationwebhookserveurs deFramerlaisser videcréateur de sitesparamètrequi envoiedomaines autorisésQui envoie la requête pour chaque créateur de sites, et ce que cela implique pour les domaines autorisésWebflowactionpersonnaliséenavigateurduvisiteurlistezvosdomainesCarrdSendtoURLouEmbednavigateurduvisiteurlistezvosdomainesNetlifyactionsimplenavigateurduvisiteurdomainesetpreviewsFramerdestinationwebhookserveursdeFramerlaisservidecréateurde sitesparamètrequienvoiedomainesautorisés
  1. L'action personnalisée de Webflow fait envoyer le navigateur du visiteur vers Ikiform, donc listez vos domaines dans Allowed domains.
  2. Send to URL et Embed de Carrd envoient aussi depuis le navigateur, donc les domaines autorisés fonctionnent comme d'habitude.
  3. Un formulaire hébergé par Netlify avec une action simple envoie depuis le navigateur. Listez le domaine de production et tous les domaines de preview sur lesquels vous testez.
  4. La destination webhook de Framer envoie depuis les serveurs de Framer sans en-tête Origin, donc laissez Allowed domains vide, sinon chaque envoi est traité comme venant du mauvais site.
Trois créateurs de sites font partir l'envoi du navigateur du visiteur. Le webhook de Framer l'envoie depuis Framer, ce qui change la façon dont les vérifications anti-spam et les limites de débit le voient.

La vraie migration, ce sont les noms de champs

L'essentiel du travail pour migrer un formulaire de créateur de sites, c'est le nommage. Ikiform stocke les noms que le formulaire envoie, quels qu'ils soient, et chaque créateur de sites génère les noms à sa façon :

Créateur de sitesD'où vient le nomCe que vous obtenez si vous ne le définissez pas
WebflowLe paramètre Name de chaque inputLe libellé, comme Name, Email ou Field 2
CarrdSubmitted ID, puis IDUn identifiant généré à partir du libellé
FramerLe nom de chaque inputLe nom qu'avait l'input quand vous l'avez ajouté
NetlifyL'attribut name de votre HTMLVos propres noms, généralement déjà corrects

Renommez-les en identifiants courts en minuscules avant la mise en ligne : name, email, budget, message. Les e-mails de notification et les colonnes CSV se lisent mieux, et un champ email devient l'adresse de réponse de chaque notification. Une fois une vraie soumission reçue, ajoutez des champs au formulaire Ikiform pour que le serveur impose les types et les longueurs. Essayez le formulaire de demande ci-dessus avec sa définition :

Aperçu

Exécute le validateur d'Ikiform dans votre navigateur. Rien n'est envoyé.

Les mêmes champs que l'intégration ci-dessus. Collez la définition dans l'onglet Fields du formulaire et Ikiform vérifie chaque envoi par rapport à elle, quelle que soit la façon dont le créateur de sites l'a envoyé.
Définissez les champs après avoir vu une vraie soumission, pas avant. Les créateurs de sites ajoutent des champs que vous n'avez pas demandés, comme les champs UTM de Carrd, et une définition qui ne les liste pas transforme chaque envoi en 422 avec une erreur de champ inconnu.

Domaines de staging et domaines autorisés

Les créateurs de sites publient sur une adresse de staging avant votre propre domaine. Les envois depuis un domaine absent des Allowed domains du formulaire sont stockés comme spam, ou refusés avec Reject. Listez chaque adresse depuis laquelle vous testerez :

Créateur de sitesAdresse de stagingÀ ajouter
Webflowyour-site.webflow.ioCet hôte, plus votre domaine
Carrdyour-site.carrd.co, ou crd.co sur ProCet hôte, plus votre domaine
Netlifyyour-site.netlify.app, et les previews comme deploy-preview-42--your-site.netlify.appChaque hôte sur lequel vous testez. Une preview n'est pas un sous-domaine de your-site.netlify.app
Framer, webhookSans objetRien. Laissez la liste vide

N'ajoutez pas un hôte partagé entier comme webflow.io ou netlify.app. Cela permettrait à tous les sites de cet hôte d'envoyer vers votre formulaire. Les sous-domaines d'un domaine listé sont déjà autorisés, donc example.com couvre www.example.com.

Emporter vos anciennes soumissions

Ikiform n'a pas d'import, donc les soumissions passées restent où elles étaient. Exportez-les avant de changer, et avant qu'un changement d'offre puisse les supprimer :

  • Webflow : téléchargez les soumissions de chaque formulaire en CSV depuis les paramètres Forms du site.
  • Netlify : téléchargez les soumissions de chaque formulaire en CSV depuis la section Forms du site.
  • Carrd : les formulaires de contact et les formulaires e-mail personnalisés livrent chaque message par e-mail, donc votre boîte de réception fait office d'historique.
  • Framer : la boîte e-mail ou la Google Sheet vers laquelle vous envoyiez les soumissions fait office d'historique.

Pour garder un seul historique, placez l'ancien export et un export CSV d'Ikiform sur deux onglets d'une même Google Sheet et empilez-les. Cette formule prend les colonnes date, nom, e-mail et message de chacun, des plus récentes aux plus anciennes. Adaptez les lettres de colonnes à vos fichiers :

Google Sheets
=SORT({
  Webflow!A2:A, Webflow!C2:C, Webflow!D2:D, Webflow!E2:E;
  Ikiform!B2:B, Ikiform!F2:F, Ikiform!G2:G, Ikiform!H2:H
}, 1, FALSE)

Un export Ikiform commence par id, created_at, form et status, puis une colonne par champ, et contient jusqu'à 100 000 lignes par fichier.

Changer sans perdre de soumission

  1. Créez le formulaire Ikiform, ajoutez vos destinataires de notifications, et ajoutez vos domaines de staging et de production sous Allowed domains.
  2. Changez la destination sur le site de staging et envoyez un vrai test depuis un téléphone et un ordinateur portable.
  3. Vérifiez les noms de champs de la soumission dans le tableau de bord. Renommez tout nom généré, republiez le staging, retestez.
  4. Publiez sur votre domaine de production à une heure creuse et envoyez un test de plus.
  5. Gardez la notification du créateur de sites active pendant une semaine si elle reçoit encore quelque chose, comme un second formulaire que vous n'avez pas déplacé, puis désactivez-la.
  6. Exportez les anciennes soumissions du créateur de sites et gardez le fichier avec le nouvel historique.

Pendant la première semaine, consultez le filtre Spam du tableau de bord Ikiform tous les jours ou tous les deux jours. Une vraie demande stockée comme spam reçoit la même réponse de succès qu'une vraie, donc le visiteur ne le sait jamais. Marquez-la comme non-spam et son e-mail et ses webhooks partent à ce moment-là. Les e-mails de notification vont à 10 destinataires confirmés au maximum.

Choisissez votre cas

Chaque créateur de sites a sa propre limite, son propre paramètre de destination externe et ses propres pièges. Ces pages traitent un créateur de sites à la fois.

Vérifiez que tout fonctionne

Faites ces vérifications d'abord sur le staging, puis une fois sur le site en production. Ikiform n'a pas d'offre gratuite. Les tests sont gratuits : un espace de travail sans offre accepte 50 soumissions de test par mois depuis localhost. Pour passer en production, choisissez Pro à partir de 6 $/mois pour 500 soumissions, ou payez une seule fois : 10 000 soumissions pour 49 $ ou 50 000 soumissions pour 149 $, avec des crédits qui n'expirent jamais. Voir les tarifs.

  1. Dans Allowed domains du formulaire, ajoutez le domaine de votre site, plus localhost pendant le développement. Laissez vide pour accepter les envois de partout.
  2. Publiez sur le domaine de staging du créateur de sites. Les destinations personnalisées ne fonctionnent pas dans l'éditeur ou le designer.
  3. Remplissez le formulaire sur votre page et envoyez-le. Vous arrivez sur votre page de remerciement, ou sur celle hébergée par Ikiform.
  4. Ouvrez Submissions dans le tableau de bord. La nouvelle soumission y est, avec tous les champs envoyés.
  5. Lisez les noms de champs de cette soumission. Ce doivent être vos identifiants en minuscules, pas des libellés ni des noms générés.
  6. Vérifiez la boîte de réception de chaque destinataire des notifications. Chacun reçoit un e-mail avec les champs, et Reply répond à l'expéditeur quand le formulaire a un champ email.
  7. Envoyez avec le honeypot rempli, _gotcha=bot. L'envoi reçoit quand même une réponse de succès, mais la soumission est stockée comme spam et n'envoie ni e-mail ni webhook.
  8. Rien n'est arrivé ? Passez le filtre de statut du tableau de bord sur Spam. Le spam reçoit la même réponse de succès qu'une vraie soumission.
  9. Envoyez une fois de plus depuis votre domaine de production après y avoir publié.

Dépannage

ProblèmeQue faire
Une réponse 404 not_found après l'envoi d'un formulaire WebflowMethod est sur GET, donc le navigateur a ouvert l'endpoint comme un lien. Réglez-le sur POST et republiez.
Carrd affiche On Failure à chaque envoiFormat est sur XML (415), un champ File est présent (422), ou les ID de champs ne correspondent pas à une définition de champ. Utilisez Default, retirez le champ de fichier et faites correspondre les ID.
Framer signale des livraisons de webhook échouéesIkiform a refusé l'envoi. Videz Allowed domains, désactivez le Spam check pour ce formulaire et faites correspondre les noms des inputs à vos champs.
Netlify affiche toujours le formulaire dans son onglet FormsUn ancien déploiement ou une copie statique du formulaire contient encore data-netlify. Retirez-le partout et redéployez.
403 origin_not_allowed, ou tous les envois finissent en spamLe domaine de la page n'est pas dans les Allowed domains du formulaire. Ajoutez-le, plus localhost pour les tests en local. Les sous-domaines d'un domaine listé sont autorisés.
422 validation_failedL'envoi ne correspond pas à la définition des champs du formulaire. error.fields nomme chaque champ et la raison. Faites correspondre le name de l'input à l'id du champ.
422 files_not_supportedLe formulaire a un <input type="file"> avec un fichier choisi. L'envoi de fichiers n'est pas encore pris en charge ; retirez l'input ou demandez plutôt un lien.
La soumission est dans le tableau de bord mais aucun e-mail ni webhook n'est arrivéElle a été stockée comme spam. Le spam n'envoie rien. Ouvrez-la sous le filtre Spam pour voir les raisons, et marquez-la comme non-spam pour envoyer son e-mail et ses webhooks.

Questions

Une étape vous bloque, ou vous voulez un guide pour votre cas ? Écrivez à hello@ikiform.com.