Journal

Automatiser les leads WordPress vers un CRM (HubSpot ou Brevo) : webhooks, sécurité, consentement et LPD

Un formulaire WordPress qui envoie un e-mail est utile, mais limité : tri manuel, oublis, suivi difficile, aucune synchronisation CRM. Une automatisation simple permet de transformer chaque demande en contact qualifié dans votre CRM (HubSpot ou Brevo), avec un historique propre et des relances cohérentes. L’objectif reste le même pour une PME à Lausanne, Nyon (Vaud), Genève, Carouge (Genève), Fribourg, Bulle (Fribourg), Sion, Martigny (Valais), Neuchâtel, La Chaux-de-Fonds (Neuchâtel), Delémont (Jura).

Sources officielles : Zapier (Webhooks: Catch Hook), WordPress (REST API: Authentication), HubSpot (Create a contact), Brevo (Create a contact), Fedlex (LPD), PFPDT (Devoir d’informer).

1) Le schéma le plus fiable (formulaire -> webhook -> CRM)

  • Formulaire WordPress : collecte minimale (nom, e-mail, message, téléphone si nécessaire).
  • Webhook : envoie un payload JSON vers un automate (Zapier) ou un endpoint maison.
  • CRM : création ou mise à jour d’un contact, puis tag, liste, pipeline, ou tâche interne.

Zapier décrit le principe : un webhook peut déclencher un flux (Catch Hook / Catch Raw Hook) à partir d’un appel HTTP entrant. Cela suffit souvent pour démarrer, sans développement lourd.

2) Choisir HubSpot ou Brevo selon votre usage

HubSpot (CRM orienté vente + marketing)

HubSpot fournit un endpoint pour créer un contact via l’API CRM v3. Vous envoyez un objet properties (email, firstname, lastname, phone, etc.), puis vous pouvez compléter avec des associations ou des automatisations côté HubSpot.

Brevo (newsletter, automation et contacts)

Brevo propose l’endpoint Create a contact pour créer des contacts et attribuer des attributs. Si vous faites de l’inscription newsletter, Brevo documente aussi un flux double opt-in (DOI) via API.

3) Deux méthodes d’integration (simple vs robuste)

Methode A : Zapier (rapide, adaptée aux PME)

  • Créer un Zap avec un déclencheur Webhooks by Zapier (Catch Hook).
  • Envoyer le formulaire vers l’URL fournie par Zapier.
  • Ajouter une action « Create contact » côté HubSpot ou Brevo (ou une étape intermédiaire pour nettoyer les champs).
  • Tracer les erreurs (ex. e-mail invalide) et ajouter une notification interne.

Methode B : Endpoint WordPress (plus de controle)

Si vous souhaitez journaliser, rejouer, ou appliquer des règles (anti-spam, scoring, routage par canton), une route REST API côté WordPress est pratique. WordPress indique que les Application Passwords (depuis WordPress 5.6) peuvent servir à authentifier des requêtes REST API externes via Basic Auth sur HTTPS.

# Exemple de structure de payload (JSON) envoyé au webhook
{
  "source": "contact-form",
  "email": "[email protected]",
  "firstname": "Prenom",
  "lastname": "Nom",
  "phone": "+41...",
  "message": "Demande de devis",
  "canton": "VD",
  "city": "Lausanne"
}

Bonne pratique : ne jamais exposer un endpoint sans protection. Au minimum, ajouter un secret (header) et limiter le rate, puis n’accepter que HTTPS.

4) Securite et qualite des donnees (les points qui evitent les ennuis)

  • Minimisation : ne collecter que ce qui sert (souvent nom + e-mail + message).
  • Deduplication : utiliser l’e-mail comme identifiant principal (update si existe).
  • Validation : normaliser telephone, canton, et refuser les champs manifestement abusifs.
  • Journaux : enregistrer l’echec (HTTP 4xx/5xx) et prevoir un retry.
  • Secrets : rotation des cles API et des tokens, acces limite aux personnes necessaires.

5) Consentement, transparence et LPD (ce qu’il faut faire apparaitre)

En Suisse, la LPD vise a proteger la personnalite et les droits fondamentaux des personnes dont les donnees sont traitees. Le PFPDT rappelle le devoir d’informer lors de la collecte de donnees personnelles. Concretement, sur un formulaire :

  • Ajouter une phrase courte expliquant pourquoi les donnees sont collectees (ex. reponse a une demande).
  • Lier vers la page Confidentialite (traitements, destinataires, duree, droits).
  • Separer clairement contact (reponse a une demande) et marketing (newsletter). Pour la newsletter, preferer un double opt-in.

Note : cet article decrit une mise en place technique. Pour un cas sensible (donnees particulieres, secteurs reglementes), un avis juridique peut etre pertinent.

FAQ Automatisation CRM WordPress (Suisse romande)

Quelle solution choisir pour une PME a Fribourg, Vaud ou Neuchatel : Zapier ou une API sur mesure ?

Zapier est souvent suffisant pour demarrer vite. Une API sur mesure devient interessante si vous avez des regles avancees (routage par canton, scoring, reprises automatiques, logs detailes) ou des exigences internes de traçabilite.

Comment creer automatiquement un contact HubSpot depuis WordPress ?

Deux voies : (1) webhook vers Zapier, puis action HubSpot, ou (2) appel direct a l’endpoint HubSpot « Create a contact » via l’API CRM v3.

Comment gerer une inscription newsletter avec double opt-in sur Brevo ?

Brevo documente un flux API de double opt-in, en plus de la creation standard de contact. Cela permet de separer clairement le contact (demande) et le marketing (abonnement).

Que faut-il afficher sur le formulaire pour rester coherent avec la LPD ?

Une information claire sur l’usage des donnees et un lien vers la page Confidentialite. Le PFPDT decrit le devoir d’informer lors de la collecte de donnees personnelles, et la LPD fixe le cadre legal.

Besoin d’une automatisation propre (leads -> CRM), securisee et maintenable ?

Pour connecter vos formulaires WordPress a HubSpot ou Brevo, fiabiliser les webhooks, ajouter des controles qualite, et cadrer l’information LPD sans complexifier l’UX, contactez clickclick.ch.

Partez sur de bonnes bases

Prêt·e à lancer votre prochain site performant ?

Clarifiez votre périmètre, choisissez un forfait et planifiez un appel découverte en moins de 48 h. Nous vous aidons à aligner UX, performance et ressources.

Réponse sous 1 jour ouvré · Workshop de cadrage offert pour les projets complets.