Aller au contenu
FormFlow

Pointez n'importe quel formulaire vers une seule URL.

Gardez votre propre formulaire HTML et remplacez son action par une URL FormFlow. Chaque soumission est filtrée contre le spam, stockée dans une seule boîte de réception et livrée par webhook signé ou par e-mail — instantané ou en résumé — et les vrais prospects que vos propres règles refusent sont retenus pour que vous les récupériez, pas perdus.

action https://formflow.digital/api/v1/f/ab12x9
Déclaration de soumission FF-1 · exemple illustré
1 Expéditeur
jane@acme.dev
2 Destination
https://formflow.digital/api/v1/f/ab12x9
3 Contenu
name · email · message
4 Fichiers joints
2 images · 4.1 MB
5 Filtrage
0,02 · pas du spam

Changez un attribut. Publiez.

un attribut · sans SDK · sans serveur

Pointez l'attribut action de votre formulaire vers une URL FormFlow et c'est tout — pas de SDK, pas de bibliothèque cliente, pas de serveur à monter. Ça marche depuis un site statique, un serveur, ou un curl ponctuel.

FormFlow reçoit les soumissions envoyées par vos propres formulaires HTML vers une URL FormFlow, filtre le spam, les stocke et les transmet aux destinations que vous configurez (comme votre boîte de réception ou un endpoint webhook). FormFlow n’héberge pas votre frontend intégré et ne décide pas quelles données vos formulaires recueillent ; les forfaits payants peuvent aussi utiliser une page hébergée par FormFlow.

<!-- Votre formulaire existant. Sans JS, sans SDK. -->
<form method="POST"
      action="https://formflow.digital/api/v1/f/ab12x9">
  <input  name="email"   type="email" required>
  <textarea name="message"></textarea>
  <button>Send</button>
</form>

Ou laissez FormFlow écrire les champs

  • Décrivez votre formulaire — Disponible sur les forfaits payants lorsqu’il est activé. Décrivez ce que ce formulaire recueille, ou le test que vous voulez proposer. Vous pourrez vérifier les champs avant de le créer.
  • Importer un schéma de formulaire — Feuille de calcul des questions · Vérifier les champs importés

N'écrivez pas non plus les champs à la main. FormFlow déduit le schéma de votre formulaire de son propre trafic et génère le balisage accessible — HTML, Blade, Vue ou React — prêt à coller. 20 types de champs — text, email, tel, url, number, textarea, select, country, checkbox, radio, multiselect, date, file, scale, rating, time, duration, grid, checkbox_grid, hidden — toutes prises en charge par le schéma. Le constructeur dessine le formulaire à côté de la liste des champs pendant que vous éditez, à partir de réglages pas encore enregistrés. Un formulaire long peut se diviser en étapes, qui retombent en une page plate sans JavaScript. Sur les extraits HTML et Blade, activez le rendu live au moment de copier et le formulaire suivra votre liste de champs dès lors — le balisage collé reste le repli. Sur une page hébergée ou dans un formulaire intégré avec rendu en direct, un formulaire qui active cette option peut enregistrer les réponses entre les étapes : un expéditeur qui s'arrête en cours de route revient sur le même appareil et termine là où il s'était arrêté, et vous voyez qui a commencé sans finir. Les composants React et Vue, et tout formulaire copié sans rendu en direct, n'enregistrent rien.

Il arrive stylé. Sept feuilles de style autonomes voyagent avec le balisage — rien à installer, rien à lier — et un class-map Bootstrap pour un site qui la charge déjà. Chacune respecte le même budget : libellés liés aux champs, cibles de 44px, anneau de focus visible, et contraste vérifié par style avant publication.

Sachez quelle campagne a amené le contact. Sur un formulaire intégré, un champ masqué nommé utm_source est rempli à partir de la chaîne de requête de la page où il se trouve — les quatre autres clés UTM et toute clé que vous nommez fonctionnent de même — et un clic dans le constructeur les ajoute toutes les cinq. Elles arrivent comme des réponses ordinaires, partout où vos réponses vont déjà.

Exemple illustré : les champs actuels d'une déclaration passent par un rail d'enregistrement sombre tandis que le code collé reste en dessous.

Rendu en direct Activez l'option quand vous copiez le HTML natif ou le composant Blade : la liste de champs à jour peut suivre le formulaire, le balisage collé reste le repli natif et le style reste celui que vous avez copié.

Le même formulaire, dans chaque style que publie FormFlow

Le même formulaire, dans chaque style que publie FormFlow /form-styles/minimal

Rendu par le même générateur qui écrit votre extrait — pas de copie marketing séparée.

Le spécimen est chargé en direct depuis /form-styles/minimal. S'il reste vide, cette route n'est pas joignable d'ici — la feuille de style voyage quand même avec l'extrait.

Prenez les téléversements de fichiers. Épargnez-vous le stockage.

Déclarez un champ file et votre formulaire accepte des images par multipart ordinaire — rien à configurer. Un seul champ prend jusqu'à vingt fichiers d'un coup, et vous choisissez les formats qu'il accepte. FormFlow les stocke sur un disque privé et remet à la boîte un lien signé qui expire, pour qu'aucune pièce jointe ne traîne sur une URL publique.

  • JPEG, PNG, WebP et GIF — le SVG est refusé, et chaque fichier est vérifié par magic bytes, sans se fier à l'extension.
  • Plafond de taille par forfait, appliqué à l'entrée — 2 MB sur Starter Lite, 5 MB sur Starter, 25 MB sur Pro.
  • Stockés en privé ; la boîte affiche un lien signé qui expire, jamais d'image <img> en ligne.
Fichiers joints contact-form · 2 déclarés
roof-damage.jpg
image/jpeg · 3.2 MB · vérifié
accepté
meter-reading.png
image/png · 0.9 MB · vérifié
accepté
logo.svg refusé · SVG non autorisé

Un filtre qui apprend chaque formulaire.

robots · signalés, jamais livrés, jamais comptés

Chaque formulaire a son propre modèle. Chaque soumission est notée dès son arrivée — et chaque fois que vous corrigez un verdict, ce formulaire gagne en précision. La note, le motif, l'action suivante : tout énoncé clairement, avec un rapport par formulaire sur la performance réelle du modèle. Essayez →

Apprenez à ce formulaire : Modèle mis à jour pour ce formulaire.
boîte de réception contact-form · ab12x9
Jane Okafor
Loved the demo — can we talk pricing this week?
0,02 · livré
promo-reply@bulk-seo.link
CHEAP backlinks + guaranteed SEO boost!!!
0,61 · incertain
buy-now-bot
🔥 crypto doubler, act now, limited spots
0,98 · spam
  1. 1

    Pot de miel

    Un champ hors écran que les robots remplissent et que personne ne voit. Il ne coûte rien, donc il passe en premier.

  2. 2

    Modèle par formulaire

    Un modèle naïf de Bayes par formulaire, entraîné par vos corrections. Un formulaire froid emprunte un prior d'équipe, si bien qu'il signale dès la première soumission.

  3. 3

    CAPTCHA

    Optionnel, par formulaire : Turnstile, reCAPTCHA v3 avec un score minimal, ou hCaptcha. Une vérification échouée marque la soumission comme spam sans jamais la refuser ; en cas de panne elle s'ouvre, donc une vraie soumission ne meurt jamais avec la vérification.

  4. 4

    Schéma strict

    Activez-le et les champs que votre formulaire n'a jamais déclarés sont refusés à la porte. Désactivé par défaut.

Une boîte de réception, diffusée partout où vous en avez besoin.

reçu · filtré · stocké · livré

Lisez-les à un seul endroit — et poussez la même soumission vers chaque destination que vous avez câblée.

acme · submissions 3,000 inclus · Starter
Non lu Spam Reçues du 1 au 31 août Exporter CSV · XLSX · JSON
Jane Okafor
Loved the demo — can we talk pricing this week?
0.02
dana@meridian.co
Devis pour 40 unités — récupérée d'un refus
récupérée
  • webhookhttps://acme.dev/hooks/formflowlivrée · tentative 2
  • webhookhttps://crm.acme.dev/intake502 Bad Gateway · nouvelle tentative dans 5 min
  • digesthebdomadaire · 3 destinatairesen file
buy-now-bot
🔥 crypto doubler, act now, limited spots
0.98

Webhooks signés

Chaque soumission part en POST vers votre endpoint avec une signature HMAC que vous vérifiez. Six tentatives, en back-off de dix secondes à deux heures, chacune consignée contre la soumission. Un endpoint qui ne réussit jamais une seule fois est désactivé et ses propriétaires reçoivent par e-mail la dernière erreur — une URL morte cesse d'être retentée pour toujours, et vous êtes prévenu.

Choisissez ce que dit le corps : le JSON signé de FormFlow, ou un message écrit pour être lu par un canal Slack. Le format décide du corps et de rien d'autre — signature, relances et back-off sont identiques dans les deux cas, et une URL qui est elle-même un identifiant n'est jamais montrée à nouveau une fois enregistrée.

Résumé des soumissions

Choisissez la fréquence à laquelle un formulaire écrit à votre équipe : instantanée — chaque soumission en moins d'une minute, une rafale fusionnée en un seul e-mail, au plus un e-mail par adresse toutes les cinq minutes, retardé et jamais abandonné — ou un résumé quotidien, hebdomadaire ou mensuel, un seul e-mail couvrant chaque formulaire. Ou désactivé, si la boîte de réception et votre webhook suffisent. Les bots n'y apparaissent jamais.

Acheminez chaque réponse vers la bonne boîte. Lorsqu'une question de type select ou radio est égale à une option, l'e-mail de cette soumission va aux adresses que vous avez choisies pour elle plutôt qu'à la liste du formulaire — jusqu'à 20 règles de 10 adresses, quelle que soit la fréquence. Une règle dont vous avez depuis supprimé la question ou l'option est ignorée : la liste du formulaire reçoit donc toujours le prospect.

CSV · XLSX · JSON export

Exportez toute la boîte depuis le panneau. FormFlow construit le fichier via une file d'attente et vous envoie un lien signé qui expire dans l'heure — les tableurs sont protégés contre l'injection de formules.

Chaque soumission porte aussi le pays d'où elle vient, déterminé à son arrivée — l'adresse IP elle-même n'est jamais stockée. Il apparaît dans la boîte de réception, dans chaque export et dans l'API, mais pas dans la charge utile du webhook.

Reçu de l'expéditeur

Une réponse automatique à la personne qui a rempli le formulaire, envoyée vers un champ e-mail déclaré sur celui-ci. Objet et corps sont à vous ; leurs réponses n'apparaissent que là où vous posez un marqueur, échappées en texte, et la charge utile n'est jamais copiée dans le mail. Qui se désabonne reste dehors, et un plafond par équipe encadre un formulaire qui deviendrait soudain populaire. Forfaits payants.

Google Sheets

Connectez un compte Google une fois et chaque soumission acceptée arrive comme une ligne dans l'onglet de votre choix. FormFlow possède la ligne d'en-tête, ajoute les nouvelles colonnes à droite, écrit chaque cellule en texte brut et peut envoyer ce qui est arrivé avant la connexion. Forfaits payants.

Tout ce qui précède atterrit à un endroit où l'on peut travailler.

Configurer l'endpoint prend deux minutes de votre vie ; voici la partie que vous ouvrez un lundi. Il répond d'abord à une question — qu'est-ce qui me demande mon attention maintenant — avec une ligne par condition réellement vraie, sa raison, et l'unique lien qui agit dessus. Pas de compteurs à comparer : un nombre n'est pas une réponse. En dessous, la boîte est une table, pas un tableau de bord : filtrez les non-lus, écartez les bots, choisissez une plage de dates, exportez exactement ce que vous avez filtré, et ouvrez toute soumission avec son historique complet de livraison.

acme · dashboard 4 choses vous demandent
  • Approche du quota 2,540 sur 3,000 soumissions utilisées cette période. Vérifier la facturation
  • contact-form Des soumissions sont refusées. Ouvrir le formulaire
  • contact-form — webhook en échec 3 livraisons échouées d'affilée, la plus récente il y a 4 minutes. Ouvrir le formulaire
  • 23 soumissions non lues Ouvrir la boîte de réception

La même table se trouve derrière le registre des retenues, avec la raison, les champs fautifs et les mots exacts dits à l'expéditeur — récupérer un prospect, c'est lire pourquoi il a été refusé puis cliquer Récupérer.

Et relisez-les toutes.

Les mêmes soumissions, via HTTP, avec un jeton frappé dans le panneau : la boîte, une soumission par id, vos formulaires et le registre des refus. Pagination par curseur et filtrable, pour qu'une synchro nocturne vers votre entrepôt ou CRM demande ce qui a changé plutôt que tout, et n'ait jamais besoin d'un navigateur.

Écrivez aussi en retour. Un script peut marquer une soumission comme traitée ou comme spam, relancer ses livraisons échouées et abonner un hook REST qui envoie chaque nouvelle soumission à votre URL. Chacune est une capacité distincte du jeton : un script qui ne fait que lire ne peut jamais écrire.

  • Un jeton ne lit que ce que vous cochez : submissions:read, refusals:read et forms:read pour l'API, assistant:read pour un assistant IA. L'écriture est distincte : submissions:write et hooks:write sur l'API. Un assistant IA n'écrit que des brouillons qu'une personne relit : un formulaire fermé avec forms:write, un microsite non publié avec microsites:write.
  • Connectez Claude Desktop ou Claude Code via MCP avec un jeton : l'assistant répond à partir de décomptes et ne voit jamais ce qu'un expéditeur a saisi. Configurer l'assistant IA
  • Montré une fois à la frappe et stocké sous forme de hachage, avec expiration facultative. FormFlow ne peut plus vous le montrer, et personne qui atteint la base de données non plus.
  • Son propre budget à la minute, croissant avec votre forfait et tenu séparé du débit auquel vos formulaires acceptent des soumissions — une synchro chargée ne peut jamais dépenser la place dont un vrai prospect a besoin.
  • Offres payantes. Un jeton sur une équipe Free obtient en réponse management_api_unavailable plutôt qu'une liste vide, ainsi la raison n'est jamais un mystère.
GET /api/v1/manage/submissions exemple illustré
# Plus récentes d'abord, pagination par curseur.
curl https://formflow.digital/api/v1/manage/submissions \
  -H "Authorization: Bearer ff_…"

{
  "data": [
    {
      "uuid": "9f1c8a2e…",
      "form_uuid": "3b7ed004…",
      "payload": {
        "email": "jane@acme.dev",
        "message": "Loved the demo"
      },
      "is_spam": false,
      "spam_score": 0.02,
      "created_at": "2026-08-15T09:14:22+00:00"
    }
  ],
  "meta": { "has_more": true, "next_cursor": "eyJpZCI6…" }
}

Du formulaire au résultat.

Le produit, c'est le chemin. Pointez un formulaire HTML existant vers une seule URL ; FormFlow garde lisibles la passation, le jugement, la récupération et la livraison.

Exemple illustré : trois déclarations de formulaires différentes convergent vers une même entrée verte et continuent comme un seul chemin enregistré.

Une seule écriture publique Le jeton du formulaire est le point public d'écriture. FormFlow reçoit la requête, la juge, stocke la soumission ou le refus, et garde la prochaine décision de livraison dans le même chemin enregistré.

Gardez le frontend que vous avez déjà. Puis laissez FormFlow montrer ce qui se passe après Send : les champs peuvent suivre le formulaire à jour, un refus causé par le client peut rester récupérable, et chaque destinataire garde sa propre obligation de livraison.

  • Les pages hébergées sont disponibles sur les forfaits Starter Lite, Starter et Pro.
  • Les listes sont disponibles sur les forfaits Starter Lite, Starter et Pro, avec des pages hébergées.

Et l'horloge est à nous, pas au navigateur.

Une séance démarre quand les questions sont affichées, et son échéance est tamponnée sur le siège selon la durée en vigueur à cet instant. L'ingestion compare l'arrivée à cette échéance plus une tolérance fixe jamais divulguée — la page compte jusqu'à zéro.

  • Le départ est écrit une fois. Se reconnecter, vider les cookies, recharger, une fenêtre privée — rien ne le relance. Il court au temps mural, comme dans une salle surveillée.
  • Raccourcir la durée pendant que trente personnes passent leur séance ne raccourcit la copie de personne ; la nouvelle régit les séances qui débutent après elle.
  • La copie survit à la sonnerie. Un formulaire chronométré cesse d'imposer les champs requis, donc la question quarante restée blanche part quand même — tandis que les champs non déclarés restent refusés, gardant le schéma comme contrat dans le sens qui vous protège.
  • L'échéance dépense le siège que quelque chose arrive ou non, si bien qu'on ne bat pas l'horloge en lisant les questions pour revenir demain.

Pas de site pour accueillir le formulaire ? Composez un Microsite.

Un Microsite est une page publique que vous composez à partir de blocs — en-tête, fonctionnalités, tarifs, FAQ, un formulaire — et publiez sur l'origine hébergée de FormFlow dans l'un de 8 thèmes. Un formulaire placé dessus arrive exactement comme s'il était envoyé depuis sa page hébergée : filtré, stocké, livré.

  • Créez un Microsite gratuitement ; la publication nécessite une offre payante.
  • Décrivez la page en une phrase et obtenez un brouillon de blocs à modifier — disponible sur les offres payantes lorsqu'il est activé.
  • Chaque Microsite est dans une seule langue, et une équipe peut en publier autant qu'il lui en faut.
  • Si l'offre expire, il s'éteint avec les pages hébergées de l'équipe, plutôt que de servir une page que personne ne paie.

Un prospect disparaît à quatre endroits. Un seul, c'est le spam.

retenu · motivé · récupérable

Les trois autres arrivent de votre côté du câble, où rien n'échoue assez fort pour que quelqu'un le remarque — celui qui envoyait croit avoir envoyé, et aucune erreur n'atteint jamais FormFlow. Alors chacun est surveillé séparément, dans l'ordre où les rencontre celui qui envoie.

  1. Avant l'envoi Une règle invisible pour eux les refuse, et ils abandonnent. Contrôle en amont

    Demandez au point de terminaison ce qu'il répondrait.

    Avant de risquer le prospect : activez le mode strict et le formulaire que FormFlow génère pour vous soumet chaque champ au vrai jugement avant que quiconque appuie sur Envoyer — mêmes règles, mêmes mots, sans conséquence. Cela comble une faille que générer ne peut pas : le navigateur impose required et type="email", mais pas la règle de validation posée dans le constructeur — un formulaire qui passe la vérification du navigateur peut donc être refusé par le serveur. Désormais il le dit pendant que la personne peut encore corriger. Ce qui les a arrêtés est compté aussi.

    • Sans effet de bord, par contrat — ni ligne, ni quota, ni livraison, ni notation de spam.
    • Sur ce qu'il demande — la forme du corps, l'origine, le schéma — il n'est jamais en désaccord avec le point de terminaison qu'il prédit ; un test poste le même corps aux deux et compare.
    • Les seules autres choses qu'il demande sont quels domaines d'e-mail vous bloquez et, sur un formulaire doté d'une règle de pays, s'il refuse le pays de l'expéditeur. Spam, CAPTCHA, réponses répétées et champs de fichier restent au POST réel, si bien qu'un contrôle en amont accepté signifie cette configuration accepte ceci, jamais que la soumission sera stockée.
    • Puise dans la même limite de taux que le POST, avec une réserve qu'une vraie soumission seule peut dépenser.
    POST /api/v1/f/ab12x9/preflight exemple illustré

    Quittez le champ pour voir ce que répondrait le point de terminaison.

    règle de formulaire · min:20 sur message · mode strict actif

  2. En transit La requête même du navigateur meurt avant d'arriver. Boîte d'envoi du navigateur

    Une soumission jamais arrivée peut encore arriver.

    Avant même de nous atteindre : une connexion coupée, un onglet fermé trop tôt — et personne n'en entend parler, car celui qui envoyait croit avoir envoyé et il n'y a aucun échec pour FormFlow à consigner. Activez la boîte d'envoi du navigateur et la tentative est gardée puis renvoyée au chargement de page suivant, arrivant comme une soumission ordinaire — comptée, livrée et marquée récupérée sur votre tableau de bord. Elle voyage avec les extraits natifs HTML et Blade copiés rendu live activé.

    • À activer par formulaire, et jamais sur un formulaire avec champ de fichier — un téléversement ne se reconstruit pas depuis un stockage local.
    • Gardée sur l'appareil même de l'expéditeur pendant 24 heures, cinq en attente au plus, et jamais restaurée dans un formulaire qu'il puisse voir.
    • La nouvelle tentative porte un Idempotency-Key sur lequel le point de terminaison prend reçu, si bien qu'un prospect récupéré est stocké, compté et livré exactement une fois. Cet en-tête est publié dans le contrat d'ingestion, pour que votre propre client puisse l'envoyer aussi.
    • Un échec réseau ou un 5xx reste en file pour le prochain chargement de page ; tout ce que le point de terminaison a réellement répondu est abandonné.
  3. À la porte Vos propres réglages renvoient une vraie soumission. Comptoir de rétention

    Réviser et récupérer

    Une soumission refusée n'est pas jetée — elle est retenue, avec son motif et son champ fautif. FormFlow lit ensuite les deux côtés de votre trafic, l'accepté et le refusé, et déduit le changement de réglage unique qui en récupère le plus. Un changement qui coûterait ne serait-ce qu'une soumission déjà acceptée est écarté, jamais montré. Cela comprend une adresse d'un domaine que vous avez bloqué, un expéditeur d'un pays que votre règle de pays refuse et une seconde réponse dans un champ que vous avez fait accepter une seule fois par un formulaire : vous avez choisi de les refuser, ils sont donc retenus avec leur motif et restent à vous de les récupérer.

    Retenus · soumissions refusées contact-form · 7 derniers jours
    dana@meridian.co
    Quote for 40 units — my number is 0161 496 0000
    refusée · phone
    t.okonkwo@brightside.dev
    Can you invoice us? Reachable on 020 7946 0102
    refusée · phone
    hello@fieldnotes.studio
    Interested in the annual plan — call 0117 496 0999
    refusée · phone

    on leur a dit Ce formulaire n'accepte pas le champ téléphone.

    312 refusées cette semaine · 40 accepté

    Déduit de votre propre trafic proposition

    Accepter phone — un champ que votre formulaire envoie et que votre schéma n'a jamais déclaré.

    Récupère
    312 refusées
    Coûte
    0 acceptées

    Répété sur le trafic récent de ce formulaire — les quelques centaines les plus récentes qu'il a acceptées, et celles qu'il a renvoyées.

    Quand FormFlow effectue le changement lui-même

    Un assouplissement déjà éprouvé sur le trafic que vous avez accepté peut passer en production sans attendre que quelqu'un se connecte, pour que le formulaire cesse de refuser des prospects quand personne ne regarde. Il reste désactivé tant que vous ne l'activez pas, et tout changement que FormFlow fait d'elle-même revient aux réglages que vous avez choisis sauf confirmation du trafic. Le silence ramène — une file bloquée, une panne, personne qui regarde — parce que le chemin du retour est consigné au même souffle que le changement.

    Quand quelque chose change vraiment, un e-mail dit ce qui a changé et ce qu'il récupère, et renvoie vers une page qui restaure vos anciens réglages. Les prospects récupérés sont jugés de nouveau selon les réglages vivants, comptés et livrés comme les autres. Rien n'est antidaté.

    Exemple illustré : un refus ocre passe par la porte de politique en vigueur avant d'atteindre le bac vert des admis.

    Récupération La récupération n'est ni un contournement ni une relance de webhook. FormFlow réévalue le refus stocké face aux réglages en vigueur du formulaire ; ce n'est qu'alors qu'il devient une vraie soumission, consomme votre quota actuel et entre dans le même chemin de livraison.

  4. Avec le temps Le formulaire casse sur votre site sans rien dire. Santé du formulaire

    Et quand le formulaire lui-même tourne mal, rien ne vous le dit non plus.

    Bien après sa mise en ligne, votre HTML vit toujours sur votre site — alors un formulaire cassé ou modifié échoue en silence, et aucune erreur n'atteint jamais FormFlow. La santé n'est pas une information donnée à FormFlow ; elle est calculée depuis le trafic et vous est envoyée dès la première panne apparue.

    • Refus — renvoyant une vraie part de son propre trafic. Signalé plutôt qu'une sécheresse, jamais à ses côtés.
    • Sécheresse — les soumissions s'effondrent face à la référence propre du formulaire.
    • Dérive — un champ déclaré que le trafic a discrètement cessé d'envoyer.
    • Arrêt prématuré — le champ où ceux qui envoient échouent sans cesse, compté pendant qu'ils sont encore sur la page.

Payez ce qui arrive. Pas ce qu'envoient les robots.

facturé sur ce qui arrive · pas sur ce qu'envoient les robots

Le spam est filtré avant de compter. Free comprend 100 soumissions avec plafond ferme ; les forfaits payants continuent en dépassement transparent jusqu'à un plafond de dépense ou de sécurité. Vous recevez un e-mail à la moitié, aux quatre cinquièmes et à la totalité de votre quota inclus, si bien qu'un mois chargé vous est annoncé au lieu d'être découvert sur une facture.

Free

$0 pour toujours

Votre premier formulaire, branché en deux minutes.

100 soumissions incluses

Ce que comprend chaque forfait
Dépassement pour 1,000
Plafond ferme
Plafond quotidien
20
Plafond de période
100
Soumissions / minute
60
reCAPTCHA, hCaptcha ou Turnstile
Inclus
Refuser les soumissions répétées
Inclus
Bloquer les domaines d’e-mail jetables
Inclus
Autoriser ou bloquer des pays
Inclus
Fichiers stockés
Non inclus
Envoi d'image maximum
Non inclus
Page de formulaire hébergée
Non inclus
Publication de Microsites
Non inclus
Domaines personnalisés
Non inclus
Formulaires multi-étapes
Non inclus
Enregistrer et reprendre
Non inclus
Formulaires notés (quiz)
Non inclus
Reçus du demandeur
Non inclus
Alertes e-mail instantanées
Inclus
Acheminer les alertes selon la réponse
Inclus
Capture des UTM sur les formulaires intégrés
Inclus
Pays de l'expéditeur
Inclus
Google Sheets
Non inclus
Lectures d'API / minute
Non inclus
API de gestion : lecture et écriture
Non inclus
Hooks REST
Non inclus
Créateur de formulaires et de pages par IA
Non inclus
Assistant du panneau
Non inclus
Connexion Claude et ChatGPT (MCP)
Non inclus
Commencer gratuitement

Starter Lite

$5.99 USD par mois

Un vrai forfait pour un formulaire petit et régulier.

1,100 soumissions incluses

Ce que comprend chaque forfait
Dépassement pour 1,000
$7
Plafond quotidien
550
Plafond de période
16,500
Soumissions / minute
150
reCAPTCHA, hCaptcha ou Turnstile
Inclus
Refuser les soumissions répétées
Inclus
Bloquer les domaines d’e-mail jetables
Inclus
Autoriser ou bloquer des pays
Inclus
Fichiers stockés
256 MB
Envoi d'image maximum
2 MB
Page de formulaire hébergée
Inclus
Publication de Microsites
Inclus
Domaines personnalisés
Non inclus
Formulaires multi-étapes
Inclus
Enregistrer et reprendre
Inclus
Formulaires notés (quiz)
Inclus
Reçus du demandeur
Inclus
Alertes e-mail instantanées
Inclus
Acheminer les alertes selon la réponse
Inclus
Capture des UTM sur les formulaires intégrés
Inclus
Pays de l'expéditeur
Inclus
Google Sheets
Inclus
Lectures d'API / minute
60
API de gestion : lecture et écriture
Inclus
Hooks REST
Inclus
Créateur de formulaires et de pages par IA
Inclus
Assistant du panneau
Inclus
Connexion Claude et ChatGPT (MCP)
Inclus
Choisir Starter Lite

Pro

$29.99 USD par mois

Volume élevé, fichiers plus lourds.

10,000 soumissions incluses

Ce que comprend chaque forfait
Dépassement pour 1,000
$3
Plafond quotidien
5,000
Plafond de période
150,000
Soumissions / minute
1,200
reCAPTCHA, hCaptcha ou Turnstile
Inclus
Refuser les soumissions répétées
Inclus
Bloquer les domaines d’e-mail jetables
Inclus
Autoriser ou bloquer des pays
Inclus
Fichiers stockés
10 GB
Envoi d'image maximum
25 MB
Page de formulaire hébergée
Inclus
Publication de Microsites
Inclus
Domaines personnalisés
5
Formulaires multi-étapes
Inclus
Enregistrer et reprendre
Inclus
Formulaires notés (quiz)
Inclus
Reçus du demandeur
Inclus
Alertes e-mail instantanées
Inclus
Acheminer les alertes selon la réponse
Inclus
Capture des UTM sur les formulaires intégrés
Inclus
Pays de l'expéditeur
Inclus
Google Sheets
Inclus
Lectures d'API / minute
300
API de gestion : lecture et écriture
Inclus
Hooks REST
Inclus
Créateur de formulaires et de pages par IA
Inclus
Assistant du panneau
Inclus
Connexion Claude et ChatGPT (MCP)
Inclus
Choisir Pro
Ce que comprend chaque forfait
Free Starter Lite Starter Pro
Soumissions incluses 100 1,100 3,000 10,000
Dépassement pour 1,000 Plafond ferme $7 $5 $3
Plafond quotidien 20 550 1,500 5,000
Plafond de période 100 16,500 45,000 150,000
Soumissions / minute 60 150 300 1,200
reCAPTCHA, hCaptcha ou Turnstile Inclus Inclus Inclus Inclus
Refuser les soumissions répétées Inclus Inclus Inclus Inclus
Bloquer les domaines d’e-mail jetables Inclus Inclus Inclus Inclus
Autoriser ou bloquer des pays Inclus Inclus Inclus Inclus
Fichiers stockés Non inclus 256 MB 1 GB 10 GB
Envoi d'image maximum Non inclus 2 MB 5 MB 25 MB
Page de formulaire hébergée Non inclus Inclus Inclus Inclus
Publication de Microsites Non inclus Inclus Inclus Inclus
Domaines personnalisés Non inclus Non inclus 1 5
Formulaires multi-étapes Non inclus Inclus Inclus Inclus
Enregistrer et reprendre Non inclus Inclus Inclus Inclus
Formulaires notés (quiz) Non inclus Inclus Inclus Inclus
Reçus du demandeur Non inclus Inclus Inclus Inclus
Alertes e-mail instantanées Inclus Inclus Inclus Inclus
Acheminer les alertes selon la réponse Inclus Inclus Inclus Inclus
Capture des UTM sur les formulaires intégrés Inclus Inclus Inclus Inclus
Pays de l'expéditeur Inclus Inclus Inclus Inclus
Google Sheets Non inclus Inclus Inclus Inclus
Lectures d'API / minute Non inclus 60 120 300
API de gestion : lecture et écriture Non inclus Inclus Inclus Inclus
Hooks REST Non inclus Inclus Inclus Inclus
Créateur de formulaires et de pages par IA Non inclus Inclus Inclus Inclus
Assistant du panneau Non inclus Inclus Inclus Inclus
Connexion Claude et ChatGPT (MCP) Non inclus Inclus Inclus Inclus

Sur chaque forfait, Free compris : autant de formulaires que vous voulez, le modèle antispam par formulaire et son entraînement, les soumissions refusées conservées pour examen, le rendu en direct et le sauvetage navigateur, les webhooks signés, le digest et l’export CSV · XLSX · JSON.

Rôles, sécurité, conservation et conditions de facturation

Partout aussi : rôles Propriétaire et membre avec invitations par e-mail, connexion à deux facteurs facultative, interrupteur de pause sur tout formulaire, journal d'activité complet et conservation des données GDPR — adresses e-mail et IP stockées en hachages à clé, purgées selon calendrier. Free se réinitialise au mois calendaire ; les forfaits payants à votre période de facturation. Les prix payants sont localisés par Paddle selon votre position et peuvent inclure des taxes. Voir notre Politique de remboursement. Vous pouvez aussi vous connecter avec Google ou GitHub. Le panneau est disponible en 9 langues, dont des langues écrites de droite à gauche.

Pointez votre premier formulaire vers FormFlow.

Branchez un formulaire en deux minutes et regardez la boîte se remplir. Facturation par équipe, et les robots ne comptent jamais dans votre quota. Aucun backend à construire, aucun frontend à héberger.

FormFlow sur Product Hunt