Aller au contenu principal

TrueSign Gen — Génération de documents

TrueSign Gen — du modèle au document rempli (1 min)Démo réelle — org Salesforce + sandbox Yousign · Voir sur YouTube

TrueSign Gen fabrique le document avant de le faire signer : un modèle contenant des balises est fusionné avec les données Salesforce, converti en PDF, puis — en option — envoyé pour signature. Le tout en un clic.

Deux façons de fournir le modèle, au choix dans l'onglet Content :

  • Éditeur intégré (texte → PDF) — vous écrivez le document directement dans TrueSign et insérez les balises avec le Tag Builder. Aucun fichier Word n'est nécessaire.
  • Word / import de fichier — vous téléversez un .docx préparé de votre côté, utile quand la mise en page est complexe ou imposée.
Vérifier avant d'envoyer

Le bouton Aperçu avec des données rend le document sur un enregistrement réel de votre org, avec le même moteur que la génération finale — et sans rien enregistrer.

Un commercial ouvre l'opportunité, clique « Générer et signer le devis » : les lignes de produits, les prix et l'adresse sont résolus depuis le modèle Word, le PDF est produit et l'envoi part — une seule action.

La fusion a lieu dans votre org

Aucune donnée de l'enregistrement ne quitte Salesforce pour être fusionnée : le moteur tourne dans votre org, et la conversion PDF aussi. C'est la différence d'architecture la plus importante avec DocuSign Gen, qui expédie le XML de vos données vers ses serveurs. Conséquences directes : rien à déclarer au titre d'un transfert, aucune panne fournisseur possible sur la génération, et aucun plafond de débit (DocuSign limite à 100 générations par 10 minutes).

1. Référence des balises

Toutes les balises s'écrivent entre doubles accolades, directement dans le document Word.

Valeurs

BaliseEffet
{{Champ}}Un champ de l'enregistrement source
{{Objet.Champ}}Un champ d'un enregistrement lié — {{Account.Name}}
{{A.B.C.Champ}}Traversée de relations, jusqu'à 5 niveaux
{{alias.Champ}}Un champ d'une liste liée, via son alias (§3)

Une balise qui ne se résout pas est retirée du document — elle ne laisse jamais {{Champ}} en clair dans un contrat. Un champ que l'utilisateur n'a pas le droit de lire rend vide, sans faire échouer la génération.

Conditions

{{if Montant > 10000}}
Cette commande relève de la procédure grands comptes.
{{else}}
Traitement standard.
{{endif}}
ÉlémentDétail
Opérateurs== != > < >= <= contains
Combinaisonsand / or — le texte entre guillemets n'est jamais coupé ('Recherche and Développement' reste entier)
{{else}}Pris en charge — inutile d'écrire deux conditions miroir
CasseInsensible par défaut
ImbricationJusqu'à 10 niveaux

Boucles

{{for each lignes}}
{{lignes.Produit}} — {{lignes.Quantite}} × {{lignes.PrixUnitaire | currency}}
{{end each}}

Les boucles s'imbriquent, et les conditions à l'intérieur sont évaluées ligne par ligne : {{if lignes.Prix > 15}} ne s'affiche que sur les lignes concernées.

Lignes de tableau répétées

C'est le cas d'usage n°1 d'un devis ou d'une annexe produits :

  • placez {{for each lignes}} dans la première cellule de la ligne du tableau ;
  • placez {{end each}} dans la dernière cellule de la même ligne ;
  • TrueSign clone la ligne entière, une par enregistrement.

Si les deux balises sont dans une seule cellule, le comportement reste celui d'une boucle de texte classique — vos modèles existants ne changent pas de rendu.

Liste vide ? La ligne disparaît. Si c'était la seule ligne du tableau, le tableau entier est retiré (un tableau sans ligne rend le fichier illisible par Word).

Mise en forme

BaliseRésultat
{{Date | date:"dd/MM/yyyy"}}Date au format choisi
{{Montant | currency}}24 500,00 € — séparateurs selon la locale du modèle
{{Montant | currency:"$"}}Symbole imposé
{{Nombre | number}} / {{Nombre | number:2}}Nombre groupé, sans symbole, décimales au choix

Images

{{image Logo__c}} {{image Logo__c:6x2}}

Le champ contient l'identifiant d'un fichier Salesforce. L'image est insérée dans le document (dimensions en pouces, optionnelles). Modèles Word uniquement. Un fichier que l'utilisateur n'a pas le droit de lire n'est pas inséré.

Formules Salesforce

{{formula: IF(Amount > 50000, "Remise grands comptes", "Tarif standard")}}
{{formula: TEXT(YEAR(CloseDate)) & "-" & Account.Name}}

C'est le moteur de formule Salesforce natif qui évalue l'expression : fonctions, calculs, conditions, dates, texte. Les champs référencés sont ajoutés automatiquement à la requête — aucun coût supplémentaire.

Ce que DocuSign ne sait pas faire

Les deux produits de génération de DocuSign excluent explicitement les formules et les calculs dans le document ; leur contournement officiel est « créez un champ formule dans Salesforce et masquez-le du layout ». Ici, la formule vit dans le modèle.

2. Créer un modèle Gen

TrueSign → Gen Templates → Nouveau :

  1. Objet source — l'objet Salesforce d'où partiront les générations.
  2. Document Word — le .docx avec ses balises.
  3. Listes liées (§3) — les alias utilisés par les boucles.
  4. Options :
OptionEffet
Nom du fichierAccepte des balises de fusionDevis {{Account.Name}} {{CloseDate}}
SuffixeAjouté au nom (date, nom de l'objet source)
Locale monétaireFormat des montants pour ce modèle
DestinationFichiers de l'enregistrement, bibliothèque, ou les deux
Modèle d'enveloppe liéPour enchaîner génération → signature
Lancement automatiqueLa génération part au clic, sans écran intermédiaire
Aperçu avant envoiL'utilisateur vérifie le PDF résolu avant de confirmer
Envoi pour signatureDésactivable — Gen produit alors seulement le document
ActifCoupe-circuit réel : un modèle inactif ne génère pas, même appelé par un Flow

L'aperçu rejoue le vrai pipeline, y compris avec les listes liées que vous venez de configurer sans les avoir enregistrées : ce que vous voyez est ce que le document sera.

L'objet doit correspondre

Générer depuis un enregistrement d'un autre objet que l'objet source est refusé explicitement, avec un message — plutôt que de produire un document entièrement vide sans rien dire.

3. Listes liées — filtre, tri, plafond

Une liste liée porte un alias (utilisé par {{for each alias}}) et trois réglages qui la maîtrisent :

RéglageExempleDétail
FiltreTitle = 'CEO' AND IsActive = trueOpérateurs = != < <= > >= LIKE IN NOT IN, combinables par AND / OR
TriLastName ASC NULLS LASTChamps triables uniquement
Plafond200De 1 à 2000 — 2000 par défaut

Les valeurs null et les littéraux de date Salesforce (TODAY, LAST_N_DAYS:30…) sont acceptés dans les filtres.

Ce n'est pas du SOQL brut

Vous écrivez un mini-langage que TrueSign analyse et reconstruit : chaque nom de champ est revalidé, chaque valeur est typée puis liée à la requête. Une tentative d'injection est refusée. C'est la différence avec DocuSign, qui fait saisir du SOQL directement.

Une clause invalide fait échouer la génération avec un message — jamais une annexe silencieusement non filtrée.

Le plafond n'est pas une coquetterie : une liste de 50 000 lignes sans limite épuise les ressources de la transaction.

4. Sortie et automatisation

  • Word, PDF, CSV ou HTML. La conversion PDF se fait dans l'org par défaut. Un moteur de conversion externe peut être configuré ; il n'est alors accepté qu'en https.
  • Bouton sur la page d'enregistrement — voir Boutons personnalisés.
  • Action de Flow : la génération est exposée comme action invocable, utilisable depuis n'importe quel Flow ou stratégie Next Best Action.
  • Génération + envoi en une action, via le modèle d'enveloppe lié.
Sortie CSV ou HTML : les fichiers générés sont sûrs à ouvrir

Une valeur fusionnée vient d'un enregistrement — donc potentiellement d'un tiers (saisie portail, formulaire web, import). TrueSign en tient compte :

  • CSV — les valeurs qui commenceraient par =, +, -, @ sont neutralisées (préfixe apostrophe, recommandation OWASP) pour qu'aucune ne soit exécutée comme formule par Excel ou Google Sheets. Les montants négatifs légitimes (-42) restent intacts.
  • HTML — chaque valeur fusionnée est échappée : elle ne peut jamais injecter de balisage. Le corps du modèle, lui, reste libre — c'est votre admin qui l'écrit.

Voir Architecture de sécurité.

5. Bonnes pratiques et limites connues

  • Word découpe parfois une balise en plusieurs morceaux invisibles (correcteur orthographique, mise en forme partielle). TrueSign les recolle automatiquement — un problème classique et non traité ailleurs. Si une balise résiste, retapez-la d'un seul geste sans mise en forme intermédiaire.
  • Les balises {{formula:}} et {{image}} fonctionnent aussi à l'intérieur d'une ligne de tableau répétée, tout comme les champs de l'enregistrement source.
  • Caractère & : un & dans une valeur fusionnée (« Black & Decker ») peut produire un document Word illisible. Correctif en cours côté produit ; en attendant, évitez ce caractère dans les données destinées à un modèle Word, ou nettoyez-le via une formule.

6. Droits

La génération requiert le permission set TES_GenUser (ou TES_Admin). L'entrée « Document Generation » du Setup affiche un cadenas pour les utilisateurs non autorisés.

7. Assistance IA (optionnelle)

TrueSign Gen peut proposer une aide à la rédaction de vos modèles. Elle est désactivée tant qu'aucune clé n'est saisie et reste coupable à tout moment depuis la configuration.

Ce qu'il faut savoir avant de l'activer :

  • l'assistance envoie le contexte du modèle et de l'enregistrement à un service d'IA externe — c'est le seul cas où une donnée sort de votre org dans tout le parcours Gen ;
  • la clé d'accès est stockée comme les autres secrets, illisible hors du package ;
  • l'usage doit figurer dans votre registre de traitement si le contexte transmis contient des données personnelles.

Voir RGPD & résidence des données.