StructureClerk

Gouverner les agents IA HubSpot Breeze : consentement et preuve

Un agent de prospection agit sur des personnes qui n'ont rien demandé. C'est le seul cas où la base légale du contact — pas le transfert — est la question centrale, et elle change selon le pays du destinataire.

Les agents Breeze travaillent dans le CRM marketing : ils qualifient des prospects, rédigent des séquences, relancent, personnalisent. Leur productivité vient de leur capacité à contacter beaucoup de gens rapidement — et c'est exactement ce qui en fait un cas de conformité particulier.

Contrairement aux autres intégrations de ce wiki, la question dominante n'est pas le transfert de données mais la base légale du contact lui-même. Cette personne a-t-elle consenti ? Le consentement couvre-t-il cette finalité-ci ? Et surtout : la réponse change selon le pays du destinataire — certains régimes exigent un consentement préalable explicite là où d'autres admettent un intérêt légitime encadré.

Le scénario d'intégration

HubSpot sait appeler des services externes depuis ses workflows : vous insérez la décision avant l'étape d'envoi, et vous routez selon la réponse. La logique de consentement que vous avez déjà dans HubSpot reste en place — la couche d'autorité y ajoute la dimension juridictionnelle, celle qu'un CRM ne modélise pas.

  1. 1

    Générez le profil de votre organisation

    L'évaluation gratuite (commencer ici) établit les juridictions où vous prospectez, votre secteur et vos catégories de données. C'est ce profil qui différencie une décision pour un destinataire au Québec d'une décision pour un destinataire en Europe.

  2. 2

    Créez une clé API à portée « authority »

    Depuis votre tableau de bord StructureClerk. Les décisions personnalisées passent par la clé ; la vérification des preuves reste publique.

  3. 3

    Insérez la décision avant l'envoi

    Dans le workflow qui précède la séquence ou l'envoi automatisé, une action externe appelle l'endpoint avec les métadonnées — jamais le contenu du message ni la liste de contacts.

    curl -X POST https://structureclerk.ca/api/v1/authority/decide \
      -H 'Authorization: Bearer $CLE_API' \
      -H 'Content-Type: application/json' \
      -d '{"agent":{"id":"breeze-prospecting-agent","autonomy_level":3},"action":{"type":"send.customer_email","data_categories":["personal"]},"context":{"jurisdictions":["CA_QC","FR"],"sector":"tech"}}'
  4. 4

    Routez selon les quatre verbes

    ALLOW laisse partir la séquence. APPROVE crée une tâche de validation avant l'envoi. DENY retire le contact de la séquence et journalise la raison. ESCALATE notifie le responsable marketing ou conformité. L'identifiant de preuve s'attache à la fiche du contact.

Le contrat de décision

POST https://structureclerk.ca/api/v1/authority/decide
{
  "agent": { "id": "breeze-prospecting-agent", "autonomy_level": 3 },
  "action": {
    "type": "send.customer_email",
    "data_categories": ["personal"]
  },
  "context": { "jurisdictions": ["CA_QC", "FR"], "sector": "tech" }
}
// →
{
  "decision": "APPROVE",
  "reason": "external_personal_data_transfer",
  "confidence": 0.95,
  "evidence_id": "ev_6e2b…d870"
}
Une séquence vers des contacts au Québec et en France : sortie de renseignements personnels, validation requise avant envoi.

La décision est consultative — StructureClerk décide, votre infrastructure applique. Le moteur ne voit ni votre liste de contacts, ni le contenu de vos courriels : seulement le type d'action, les catégories de données et les juridictions concernées.

DécisionEffet dans HubSpot
ALLOWLa séquence part, la preuve est jointe à la fiche
APPROVEUne tâche de validation est créée avant l'envoi
DENYLe contact sort de la séquence, la raison est journalisée
ESCALATELe responsable est notifié, l'envoi attend

Prouver la base de chaque envoi

Chaque décision laisse une preuve signée Ed25519, chaînée. Le jour où une plainte arrive ou qu'un régulateur pose la question, vous ne reconstituez pas un raisonnement a posteriori : vous produisez la décision telle qu'elle a été rendue au moment de l'envoi, vérifiable sur notre page de vérification par la personne qui demande.

Et la dimension juridictionnelle fait exactement ce qu'un CRM ne fait pas : la même séquence peut partir vers une juridiction et être retenue vers une autre, parce que le droit du destinataire diffère. Aucune liste de suppression ne porte cette nuance.

+Comment prouver le consentement d'une prospection automatisée ?

En rendant une décision avant chaque envoi : la preuve signée porte la juridiction, la règle appliquée et la raison, à l'instant de l'envoi. C'est une trace contemporaine des faits — pas une reconstitution, ce qui est précisément la différence qu'un régulateur regarde.

+Les listes de suppression de HubSpot ne suffisent-elles pas ?

Elles empêchent de contacter qui a demandé à ne plus l'être — nécessaire, et insuffisant. Elles ne disent pas si la base légale du premier contact était valable dans le pays du destinataire, ni si le consentement obtenu couvre cette finalité. Ce sont deux couches complémentaires.

+La décision est-elle rendue par contact ou par campagne ?

Les deux fonctionnent, selon la granularité que vous souhaitez. Par campagne, c'est plus économique et souvent suffisant quand la liste est homogène. Par contact, c'est plus précis quand vos destinataires sont répartis sur plusieurs juridictions — et c'est là que la couche apporte le plus.

+Le moteur voit-il nos contacts ?

Non. La requête décrit l'action en métadonnées : type, catégories de données, juridictions. Ni la liste, ni les adresses, ni le contenu du message ne transitent.

Commencez par le profil

C'est l'évaluation qui personnalise les décisions rendues à vos agents. Elle est gratuite, et ne demande que l'adresse de votre site.

Autres intégrations