> For the complete documentation index, see [llms.txt](https://university.gonexa.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://university.gonexa.fr/sign/advanced-features/sign-and-flows/automate-sending-for-signature.md).

# Automatiser l'envoi en signature

Accélérez les étapes d'envoi pour signature avec un processus automatisé

{% hint style="info" %}
**Pré-requis — avant de démarrer**

* Avoir un modèle de document
* Avoir fait la configuration pour un envoi en signature simple
* Avoir bien tester le modèle avant en envoi simple avant de faire un envoi via Flux
  {% endhint %}

{% embed url="<https://www.youtube.com/watch?v=UXjGEJ3Rg-Q>" %}

## Étape 1 : Initalisation du flux

* Dans la configuration, créez un Flux d'écran
* Nommez le proprement suivant les règles de nommage de votre entreprise
* Créer une variable "recordId" disponible à l'entrée si vous souhaitez faire un flux d'écran

{% hint style="warning" %}
**Astuce**

Vous pouvez faire un flux qui génère et envoi en signature ou simplement qui envoi en signature en fonction de ce que vous souhaitez faire. Ici, nous allons expliquer un flux complet de génération et envoi
{% endhint %}

## Étape 2 : Génération du document

* Ajoutez un élément à votre flux de type Action Apex
* Sélectionnez l'action "Generate a Document" : `apex-gnc__DocumentGenerationInvocable`
* Nommez la "GenerateDocument"

Renseignez les 3 éléments suivants :

* **Format de sortie** : "pdf", "xlsx", "pptx" ou "docx" (à mettre en dur ou dynamiquement suivant votre choix)
* **Record Id** : récupérer ici l'ID Salesforce de l'enregistrement de départ. Utilisez par exemple la variable "recordId" créée au départ.
* **Template Id** : récupérer ici l'ID Salesforce du modèle de document de votre choix. Vous pouvez par exemple afficher une liste de sélection dans le premier écran et d'utiliser ici l'Id du template choisi par l'utilisateur

## Étape 3 : Obtenir le document généré

* Ajoutez un élément d'Obtention d'enregistrement à votre flux.
* Renseignez une étiquette et un nom API.
* Choisissez l'objet "Document template log"

Filtrez les enregistrements avec les critères suivants :

* **Champ** : Id
* **Opérateur** : égal à
* **Valeur** : égal à "Texte de "GenerateDocument" (Nom de l'Action Apex faite précédemment)

## Étape 4 : Création du recipient (destinataire)

* Ajoutez un élément à votre flux de type Action.
* Sélectionnez l'action "Create a certified recipient" : `apex-gnx__CertifiedRecipientInvocable`.
* Renseignez une étiquette et un nom d'API : par exemple "CreateRecipient".

Renseignez les 2 éléments suivants :

* **Contact, User or Lead Id** : il faut indiquer l'ID Salesforce du Contact, de l'Utilisateur ou de la Piste qui va recevoir le document en signature. Vous pouvez par exemple mettre un champ de recherche dans l'écran de départ ou cherchez dynamiquement le bon enregistrement.
* **Recipient Order** : renseignez l'ordre du signataire, par exemple "1"
* **Signature level** : activez ce paramètre pour envoyer une signature avancée ou qualifiée. Renseignez "**advanced**" pour une signature avancée, et "**qualified**" pour une signature qualifiée.
* **Nouvelle transaction :** Dans le menu déroulant en bas "Show advanced option", bien cocher la case "Toujours démarrer une nouvelle transaction"

## Étape 5 : Création des variables de collections (Contact + Recipient)

Créez une nouvelle ressource

* **Type de ressource** : Variable
* **Nom d'API** : "ContactCollection"
* **Type de données** : Texte
* Cochez la case "Autoriser les valeurs multiples"

Créez une nouvelle ressource

* **Type de ressource** : Variable
* **Nom d'API** : "RecipientCollection"
* **Type de données** : Texte
* Cochez la case "Autoriser les valeurs multiples"

## Étape 6 : Attribuer des valeurs aux variables créées

Ajoutez un élément de type "Attribution"

Dans la première ligne d'attribution

* **Variable** : ContactCollection
* **Opérateur** : Ajouter
* **Valeur** : Id du Contact Signataire

Ajoutez une deuxième ligne dans l'attribution avec :

* **Variable** : RecipientCollection
* **Opérateur** : Ajouter
* **Valeur** : Texte de "CreateRecipient"

## Étape 7 : Créer l'envoi pour signature (Delivery)

* Ajoutez un élément à votre flux de type Action Apex
* Sélectionnez l'action "Create a certified delivery" : `apex-gnx__CertifiedDeliveryInvocable`.
* Nommez la "CreateDelivery"

Ajoutez un élément de type "Action" :

* **Collection of Contacts Ids** : la variable de collection "ContactCollection"
* **Collection of Recipients** : la variable de collection "RecipientCollection"
* **Content Document Id** : l'Id de votre document via "Get Generated Document"
* **Name** : entrez un nom, par exemple "Procédure de signature"
* **Collection of Content Version Ids** : vous pouvez activer ce paramètre si vous souhaitez envoyer plusieurs documents dans la même procédure. Renseignez alors la variable de collection où vous aurez précédemment stocké les Ids des versions de contenu à envoyer en signature
* **Document Template Id :** l'Id du modèle de document utilisé. Cette valeur n'est pas obligatoire mais il est fortement recommandé de la renseigner pour le bon fonctionnement de l'envoi en signature
* **Nouvelle transaction :** Dans le menu déroulant en bas "Show advanced option", bien cocher la case "Toujours démarrer une nouvelle transaction"

Enregistrez, débogguer et activer votre flux.

N'oubliez pas d'ajouter un composant de type flux sur la page lightning de votre choix.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://university.gonexa.fr/sign/advanced-features/sign-and-flows/automate-sending-for-signature.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
