Passer au contenu principal

Comment recueillir des inscriptions à des événements, gérer la capacité et envoyer des confirmations automatiques dans Formaloo

Créez dans Formaloo un système complet d’inscription aux événements, avec limites de capacité par billet, billets PDF automatiques et e-mails de confirmation envoyés à chaque soumission.

Ce que vous allez créer

À la fin de ce guide, vous disposerez d’un système d’inscription aux événements entièrement automatisé. Il repose sur un formulaire qui recueille les informations des participants, applique des limites de disponibilité des billets pour ne jamais survendre et associe chaque inscrit à un profil utilisateur. Dès qu’une personne soumet le formulaire, Formaloo génère un billet PDF à votre image et le lui envoie automatiquement par e-mail. Vous disposerez également d’une campagne d’e-mails groupés prête à l’envoi pour inviter les anciens participants à votre prochain événement.

Quand l’utiliser

  • Vous organisez un événement payant ou gratuit et devez limiter le nombre de participants par type de billet

  • Vous souhaitez que les participants reçoivent un e-mail de confirmation avec leur billet dès leur inscription

  • Votre équipe doit suivre le statut des inscrits (confirmé, en liste d’attente, annulé) sans mettre à jour manuellement un tableur

  • Vous avez déjà organisé des événements et souhaitez réinviter les anciens participants sans recourir à un outil de liste de diffusion distinct

Étape par étape

Partie 1 — Créer le formulaire d’inscription

Cette partie traite de la création du formulaire, de la définition des limites de disponibilité des billets pour qu’aucune catégorie ne soit survendue, et de la connexion d’un profil utilisateur pour que chaque inscrit dispose de son propre enregistrement.

1. Ouvrez le Form Creation Agent : depuis votre page d’accueil Formaloo, cliquez sur Form Creation Agent dans la navigation supérieure.
​

2. Collez l’instruction du formulaire : utilisez l’instruction ci-dessous et cliquez sur Create. Formaloo crée le formulaire complet pour vous et l’ouvre dans l’éditeur de formulaire.

Create an event registration form with these fields: full name (short text, required), email address (email, required), phone number (phone, optional), ticket type (single choice: Normal / VIP / Early bird / Student), dietary or accessibility needs (long text, optional), how did you hear about us (single choice: Social media / Email / Friend or colleague / Website / Other). Also add three admin-only fields: registration status (dropdown: Confirmed / Waitlisted / Cancelled), internal notes (long text), and reviewed by (assignee field).

3. Définissez les ID de champ : pour chaque champ, ouvrez ses paramètres et attribuez les ID ci-dessous. Ces ID alimentent l’insertion des réponses dans vos modèles d’e-mail et de PDF : ils doivent correspondre exactement.

📖 Vous découvrez le Form Creation Agent ? Consultez comment créer n’importe quel formulaire avec l’IA grâce au Form Creation Agent.

Champ

ID

Type

Notes

Quel est votre nom complet ?

name

Texte court

Obligatoire

Quelle est votre adresse e-mail ?

email

E-mail

Obligatoire

Quel est votre numéro de téléphone ?

phone

Téléphone

Facultatif

Quel type de billet souhaitez-vous ?

ticket_type

Choix unique

Normal, VIP, Early bird, Student

Avez-vous des besoins alimentaires ou d’accessibilité particuliers ?

notes

Texte long

Facultatif

Comment avez-vous entendu parler de cet événement ?

source

Choix unique

Social media, Email, Friend/colleague, Website, Other

Statut de l’inscription (réservé aux administrateurs)

status

Liste déroulante

Confirmed, Waitlisted, Cancelled

Notes internes (réservé aux administrateurs)

admin_notes

Texte long

Masqué pour l’inscrit

Traité par (réservé aux administrateurs)

reviewed_by

Assignee

Membre de l’équipe ayant traité l’inscription

📖 Pour le guide complet sur les ID de champ et l’insertion des réponses, consultez comment intégrer dynamiquement les données des formulaires dans les e-mails, les PDF et les instructions IA.

4. Activez les limites de disponibilité sur le champ du type de billet : faites défiler jusqu’au champ Which ticket type would you like? et cliquez dessus pour ouvrir ses paramètres. Sous Reservation, activez Availability limit pour chaque option et définissez le nombre de billets disponibles par catégorie. Dès qu’une catégorie est épuisée, Formaloo la désactive automatiquement, sans aucune intervention manuelle.

5. Ajoutez un champ de profil utilisateur : faites défiler jusqu’au bas du formulaire et cliquez sur Add field. Recherchez User profile et ajoutez-le. Dans les paramètres du champ, cliquez sur Select user directory, puis créez un nouvel annuaire d’utilisateurs ou recherchez-en un existant (par exemple « event registration »). Sélectionnez-le et confirmez. Chaque personne qui soumet le formulaire disposera désormais de son propre profil associé à votre portail.

Partie 2 — Créer le modèle de billet PDF

Chaque participant reçoit un billet PDF à votre image joint à son e-mail de confirmation. Vous créez le modèle une seule fois ici, et Formaloo génère une copie personnalisée pour chaque réponse au formulaire.

1. Ouvrez les modèles PDF : cliquez sur l’icône de votre profil dans le coin supérieur droit, accédez à Apps & integrations, puis cliquez sur PDF templates.

2. Créez un nouveau modèle : cliquez sur + Add new template.

3. Passez en mode HTML : dans l’éditeur de modèle, cliquez sur le bouton HTML / code pour passer de l’éditeur visuel au HTML brut.

4. Collez le code du billet : supprimez tout contenu existant et collez l’intégralité du HTML ci-dessous. Les variables @name, @email, @ticket_type, @status, @phone, @source et @notes récupèrent les données en direct de chaque réponse au formulaire.

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Event Ticket</title> <style>   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=Space+Mono:wght@400;700&display=swap');   * { margin: 0; padding: 0; box-sizing: border-box; }   @page { size: A4 portrait; margin: 0; }   body {     width: 210mm; height: 297mm; background: #eeeef5;     display: flex; align-items: center; justify-content: center;     font-family: 'Inter', sans-serif;     -webkit-print-color-adjust: exact; print-color-adjust: exact;   }   .ticket {     width: 148mm; background: #ffffff; border-radius: 20px; overflow: hidden;     box-shadow: 0 20px 60px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.06);     display: flex; flex-direction: column;   }   .ticket-hero {     background: linear-gradient(155deg, #1a1a2e 0%, #16213e 55%, #0f3460 100%);     padding: 36px 32px 32px; position: relative; overflow: hidden;   }   .ticket-hero::before {     content: ''; position: absolute; right: -40px; top: -40px;     width: 160px; height: 160px;     background: radial-gradient(circle, rgba(108,71,255,0.35) 0%, transparent 70%);   }   .ticket-hero::after {     content: ''; position: absolute; left: 20px; bottom: -30px;     width: 120px; height: 120px;     background: radial-gradient(circle, rgba(255,71,199,0.18) 0%, transparent 70%);   }   .hero-eyebrow {     font-size: 9px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;     color: rgba(255,255,255,0.38); margin-bottom: 10px; position: relative; z-index: 1;   }   .hero-title {     font-size: 34px; font-weight: 900; color: #ffffff; line-height: 1.05;     letter-spacing: -0.5px; margin-bottom: 24px; position: relative; z-index: 1;   }   .hero-bottom { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 1; }   .ticket-type-badge {     background: linear-gradient(135deg, #6c47ff, #c147ff); color: #fff;     font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;     padding: 7px 18px; border-radius: 30px;   }   .status-badge {     background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18);     color: rgba(255,255,255,0.65); font-size: 9px; font-weight: 700;     letter-spacing: 1.5px; text-transform: uppercase; padding: 5px 12px; border-radius: 20px;   }   .ticket-body {     padding: 28px 32px 24px; display: flex; flex-direction: column; gap: 20px;     border-left: 4px solid; border-image: linear-gradient(180deg, #6c47ff, #c147ff, #ff6b6b) 1;   }   .section-label { font-size: 8px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #c0c0d8; margin-bottom: 5px; }   .attendee-name { font-size: 24px; font-weight: 800; color: #1a1a2e; letter-spacing: -0.3px; line-height: 1.1; margin-bottom: 4px; }   .attendee-email { font-family: 'Space Mono', monospace; font-size: 11px; color: #8888aa; }   .info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }   .info-cell .cell-label { font-size: 8px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #c8c8e0; margin-bottom: 4px; }   .info-cell .cell-value { font-size: 13px; font-weight: 600; color: #2a2a4a; line-height: 1.3; }   .pill-type { display: inline-block; background: #f0ecff; border: 1px solid #d0c0ff; color: #6c47ff; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 3px 10px; border-radius: 5px; }   .notes-value { font-size: 12px; font-weight: 400; color: #a0a0c0; font-style: italic; }   .tear-line { display: flex; align-items: center; position: relative; margin: 0; }   .tear-notch { width: 18px; height: 18px; background: #eeeef5; border-radius: 50%; flex-shrink: 0; }   .tear-notch.left { margin-left: -9px; }   .tear-notch.right { margin-right: -9px; }   .tear-dash { flex: 1; border: none; border-top: 2px dashed #dcdcec; }   .ticket-stub { padding: 20px 32px 28px; display: flex; flex-direction: column; align-items: center; gap: 16px; background: #fafafa; }   .stub-label { font-size: 8px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #c0c0d8; }   .barcode { display: flex; align-items: flex-end; gap: 2.5px; height: 44px; }   .bar { width: 2.5px; border-radius: 1px; background: #d8d8ee; }   .bar.a { background: #6c47ff; }   .bar.m { background: #3a3a6a; }   .stub-info { font-family: 'Space Mono', monospace; font-size: 9px; color: #b0b0c8; text-align: center; line-height: 1.8; } </style> </head> <body> <div class="ticket">   <div class="ticket-hero">     <div class="hero-eyebrow">Event ticket</div>     <div class="hero-title">Your Event<br>Name Here</div>     <div class="hero-bottom">       <div class="ticket-type-badge">@ticket_type</div>       <div class="status-badge">@status</div>     </div>   </div>   <div class="ticket-body">     <div>       <div class="section-label">Attendee</div>       <div class="attendee-name">@name</div>       <div class="attendee-email">@email</div>     </div>     <div class="info-grid">       <div class="info-cell">         <div class="cell-label">Phone</div>         <div class="cell-value">@phone</div>       </div>       <div class="info-cell">         <div class="cell-label">Ticket type</div>         <div class="cell-value"><span class="pill-type">@ticket_type</span></div>       </div>       <div class="info-cell">         <div class="cell-label">Referred by</div>         <div class="cell-value">@source</div>       </div>       <div class="info-cell">         <div class="cell-label">Special needs</div>         <div class="cell-value notes-value">@notes</div>       </div>     </div>   </div>   <div class="tear-line">     <div class="tear-notch left"></div>     <hr class="tear-dash">     <div class="tear-notch right"></div>   </div>   <div class="ticket-stub">     <div class="stub-label">Admit one · scan at entrance</div>     <div class="barcode">       <div class="bar a" style="height:80%"></div><div class="bar m" style="height:100%"></div>       <div class="bar" style="height:55%"></div><div class="bar a" style="height:90%"></div>       <div class="bar" style="height:65%"></div><div class="bar m" style="height:100%"></div>       <div class="bar a" style="height:75%"></div><div class="bar" style="height:50%"></div>       <div class="bar a" style="height:100%"></div><div class="bar" style="height:70%"></div>       <div class="bar m" style="height:85%"></div><div class="bar" style="height:45%"></div>       <div class="bar a" style="height:100%"></div><div class="bar" style="height:60%"></div>       <div class="bar m" style="height:80%"></div><div class="bar a" style="height:55%"></div>       <div class="bar" style="height:100%"></div><div class="bar" style="height:72%"></div>       <div class="bar a" style="height:90%"></div><div class="bar m" style="height:65%"></div>     </div>     <div class="stub-info">@name · @ticket_type</div>   </div> </div> </body> </html>

5. Nommez et enregistrez le modèle : cliquez sur le champ du nom du modèle en haut, saisissez Ticket PDF et cliquez sur Save.

📖 Pour le guide complet sur les modèles PDF, consultez comment créer des modèles PDF pour transformer les réponses en documents.

Partie 3 — Configurer le modèle d’e-mail de confirmation

C’est ce modèle que les inscrits reçoivent dès qu’ils soumettent le formulaire. Il comprend un message de confirmation chaleureux et le billet PDF en pièce jointe.

1. Ouvrez les modèles d’e-mail : cliquez sur l’icône de votre profil, accédez à Apps & integrations, puis cliquez sur Email templates.

2. Créez un nouveau modèle : cliquez sur + Add new template. Supprimez tout contenu par défaut de l’éditeur.

3. Ouvrez AI Content : cliquez sur AI Content ou sur le bouton de génération IA dans l’éditeur de modèle.

4. Collez l’instruction ci-dessous et exécutez-la. L’IA génère un e-mail HTML entièrement mis en forme avec le message de confirmation et une section en forme de billet, avec les bonnes variables @field_id déjà intégrées.

Instruction IA du modèle d’e-mail — à coller telle quelle :

Create a single-column HTML email template with two clear sections. Use inline CSS only (no style blocks). Max width 600px, centered, white background, clean modern design. Font: system-ui or Arial.
Section 1 — Confirmation message. White background, 40px top/bottom padding, 32px side padding. Include in order: (1) a small label in uppercase, purple (#6c47ff), letter-spacing 2px, font-size 11px — text: "You're registered"; (2) a bold 26px heading in dark navy (#1a1a2e): "See you soon, @name! 🎉"; (3) a paragraph at 15px, line-height 1.7, color #555570: "Your spot is confirmed. We're looking forward to seeing you. Everything you need is in your ticket below — just bring this email or a screenshot to the entrance."; (4) a light grey info row (#f7f7fc background, 8px border-radius, 16px 20px padding, 13px, #6666aa): "📅 Check the event details below · 🎟 Your ticket type: @ticket_type · ✅ Status: @status"; (5) a centered CTA button — background #6c47ff, white text, bold, 14px, 14px 32px padding, 30px border-radius, no underline — text: "View event details →".
Section 2 — Ticket card. A visual ticket card separated by 8px. White background, border 1px solid #e8e8f0, border-radius 16px, max-width 560px, margin auto. Top band: background linear-gradient(135deg, #1a1a2e, #0f3460), padding 28px 32px — include eyebrow "EVENT TICKET" (rgba(255,255,255,0.4), 9px, letter-spacing 3px), event name heading in white 24px bold, and ticket type badge in gradient #6c47ff to #c147ff with @ticket_type. Body: white, padding 24px 32px, border-left 4px solid #6c47ff. Use tables for email compatibility. Row 1: left column shows "ATTENDEE" label + @name (18px bold) + @email (monospace 11px); right column shows "STATUS" label + @status in a green pill. Dashed divider. Row 2: four columns — PHONE/@phone, TICKET TYPE/@ticket_type (purple pill), REFERRED BY/@source, SPECIAL NEEDS/@notes (italic). Footer stub: #fafafa background, border-top 2px dashed #dcdcec, centered — "Present this ticket at the entrance" italic + "Powered by Formaloo" small uppercase.
Footer below the card: #f7f7fc, 24px padding, centered, 11px, #b0b0c8 — "You're receiving this because you registered for this event. Questions? Reply to this email."

5. Nommez le modèle : cliquez sur le champ du nom du modèle et saisissez Event confirmation.

6. Définissez l’objet de l’e-mail : repérez le champ de l’objet et saisissez l’objet de votre confirmation d’événement (par exemple : « C’est confirmé : voici votre billet »).

7. Ajoutez votre adresse d’expéditeur : renseignez votre adresse e-mail d’administrateur dans le champ de l’expéditeur.

8. Joignez le billet PDF : sous PDF attachment, activez l’option. Sélectionnez le modèle Ticket PDF créé dans la partie 2. Formaloo générera désormais automatiquement un billet PDF personnalisé et le joindra à chaque e-mail de confirmation.

9. Enregistrez le modèle : cliquez sur Save.

10. Configurez la notification : revenez à votre formulaire d’inscription, ouvrez l’onglet Notify et cliquez sur Email notifications. Activez Receive email notification, ajoutez votre adresse e-mail d’administrateur comme destinataire, puis sélectionnez Event confirmation dans la liste déroulante des modèles d’e-mail. Enregistrez.

Remarque : cette étape envoie la confirmation à l’inscrit. L’adresse du destinataire utilisée par Formaloo provient du champ @email du formulaire : assurez-vous que cet ID de champ est correctement défini (voir la partie 1, étape 3).

📖 Consultez comment envoyer et recevoir des notifications par e-mail pour le guide de configuration complet.

Partie 4 — Envoyer une campagne groupée aux anciens participants

Un nouvel événement approche. Cette partie explique comment envoyer un e-mail personnalisé aux personnes ayant assisté à votre dernier événement, pour les inviter à s’inscrire avant l’ouverture publique de la billetterie.

1. Ouvrez l’outil de campagnes d’e-mails : cliquez sur l’icône de votre profil, accédez à Apps & integrations et recherchez Send email. Cliquez dessus, puis sur New email campaign.

2. Renseignez les détails de la campagne :

  • Titre de la campagne : un libellé pour votre propre référence (par exemple : « Événement d’été — accès anticipé anciens participants »)

  • Objet : Vous étiez là la dernière fois. Voici votre accès anticipé.

  • Nom de l’expéditeur : le nom de votre organisation ou de votre événement

  • E-mail de l’expéditeur : votre adresse e-mail d’administrateur

  • Collez le corps de l’e-mail :
    Bonjour @name,

    Nous avons regardé qui était présent à [Nom du dernier événement] et établi une courte liste des personnes qui devraient être informées en premier.

    Vous en faites partie.

    [Nom du prochain événement] aura lieu le [Date] à [Lieu]. Même format, nouveaux intervenants, public plus nombreux. Nous ouvrons les inscriptions en avant-première aux participants de la dernière édition, avant leur ouverture au public.

    Votre billet la dernière fois : @ticket_type. Cette même catégorie est disponible dès maintenant, et nous avons ajouté une option VIP si vous souhaitez des places prioritaires et l’accès au dîner précédant l’événement.

    Voici ce qui change cette fois-ci :
    [Changement d’intervenant ou de thème principal]
    [Changement de format]
    [Changement de capacité ou de lieu]
    L’accès anticipé se termine le [Date]. Passé ce délai, les billets seront proposés à la liste d’attente générale. Inscrivez-vous ici : [Lien d’inscription] Pour toute question, il vous suffit de répondre à cet e-mail. À bientôt, [Votre nom] [Votre fonction], [Organisation]

3. Désignez un agent IA pour traiter les réponses : sous Reply to, au lieu de saisir une adresse e-mail fixe, cliquez sur Assign agent et sélectionnez l’agent IA associé à votre formulaire d’inscription. Formaloo achemine les réponses reçues vers l’agent, qui recueille les informations et répond automatiquement.

📖 Si vous n’avez pas encore configuré l’Intake Agent, consultez comment utiliser l’Intake Agent pour collecter des données à partir de fils d’e-mails.

4. Ajoutez vos destinataires : cliquez sur Recipients, puis choisissez l’une des options suivantes :

  • Depuis un annuaire d’utilisateurs : sélectionnez un annuaire d’utilisateurs existant issu de vos événements passés.

  • Importer des utilisateurs : collez une liste d’adresses e-mail au format CSV ou téléversez un fichier Excel comportant une colonne e-mail. Cliquez sur Import file pour les charger.

6. Envoyez la campagne : enregistrez le brouillon pour le relire, ou cliquez sur Send pour l’envoyer immédiatement.

Ce que vous obtenez

Votre système d’inscription aux événements est entièrement automatisé de bout en bout. Chaque nouvel inscrit passe par un formulaire qui applique les limites de disponibilité, est enregistré dans un profil utilisateur, reçoit un e-mail de confirmation avec un billet PDF à votre image en pièce jointe et apparaît dans votre vue d’administration avec un champ de statut que votre équipe peut mettre à jour. À l’approche du prochain événement, vous pouvez réengager l’ensemble de vos anciens participants avec une campagne personnalisée en quelques minutes, sans export de tableur ni e-mails manuels.

Et ensuite ?

  • Traitez automatiquement les questions des inscrits avec l’Intake Agent Les inscrits qui répondent à leur e-mail de confirmation peuvent être redirigés vers un agent IA qui recueille les informations et répond en votre nom, afin qu’aucune question ne reste sans réponse. → Comment utiliser l’Intake Agent pour collecter des données à partir de fils d’e-mails
    ​

  • Créez un portail des participants pour que les inscrits consultent leurs propres billets Offrez aux participants un portail protégé par identifiant où ils peuvent consulter le statut de leur inscription et les détails de leur billet, et donnez à votre équipe un tableau Kanban pour gérer toutes les inscriptions dans une seule vue. → Comment créer un portail et gérer l’accès des utilisateurs
    ​

  • Ajoutez une logique d’e-mail conditionnelle pour les participants en liste d’attente Envoyez un e-mail de confirmation différent aux inscrits placés en liste d’attente et à ceux qui sont confirmés, grâce à des conditions de logique avancée sur le champ status. → Comment envoyer et recevoir des notifications conditionnelles par e-mail

Découvrez d’autres cas d’usage

Modèles prêts à l’emploi

Event registration and ticketing system : évitez la configuration. Ce modèle comprend déjà le formulaire d’inscription avec des catégories de billets à capacité limitée, la génération de billets PDF, les e-mails de confirmation, un portail des participants et la vue d’administration complète. Ouvrez-le dans Formaloo, mettez à jour les détails de votre événement et le tour est joué.

Prêt à le créer ?

💬 Obtenir l’aide de notre équipe concierge Notre équipe vous aidera à configurer cette solution pour votre cas d’usage.

📅 Réserver une démo pour une configuration Team/Enterprise Découvrez comment les équipes utilisent Formaloo à grande échelle avec des autorisations et des intégrations avancées.

Avez-vous trouvé la réponse à votre question ?