Gonexa University
Gonexa University

Gonexa Sign & Flows

Automate electronic signature workflows by leveraging the power of Salesforce flows.

☝️ Pre-built Flow Org

Access our example flow org for inspiration. Discover the most popular use cases among our clients.

  • URL: login.salesforce.com
  • username: tester@gonexa.fr
  • password: Gonexa01

Automate sending for signature

Speed up the signature sending process with an automated process

Prerequisites

BEFORE YOU START

💡 Find all our flows in our Flow Org

  • Have a document template
  • Have configured for a simple signature send
  • Ensure the template has been thoroughly tested with a simple send before sending via Flow

Flow Initialization

STEP #1
  • In the setup, create a Screen Flow
  • Name it appropriately following your company's naming conventions
  • Create a "recordId" variable available for input if you want to create a screen flow

💡 You can create a flow that generates and sends for signature, or simply sends for signature, depending on your needs. Here, we will explain a complete generation and sending flow.

Document Generation

STEP #2
  • Add an Apex Action element to your flow
  • Select the action “Generate a Document”: apex-gnc__DocumentGenerationInvocable
  • Name it "GenerateDocument"


Enter the following 3 elements:

  • Output Format : "pdf", "xlsx", "pptx", or "docx" (to be hardcoded or set dynamically according to your choice)
  • Record Id : retrieve the Salesforce ID of the starting record here. For example, use the "recordId" variable created initially. 
  • Template Id : retrieve the Salesforce ID of your chosen document template here. For example, you can display a picklist on the first screen and use the ID of the template selected by the user here.

Get the generated document

STEP #3
  • Add a Get Records element to your flow.
  • Enter a label and an API name.
  • Select the "Document template log" object


Filter records with the following criteria:

  • Field : Id
  • Operator : equals
  • Value : equal to "Text from "GenerateDocument" (Name of the Apex Action performed previously)"

Recipient Creation

STEP #4
  • Add an Action type element to your flow.
  • Select the action “Create a certified recipient”: apex-gnx__CertifiedRecipientInvocable.
  • Enter a label and an API name: for example, “CreateRecipient”.


Enter the following 2 items:

  • Contact, User or Lead Id : you must specify the Salesforce ID of the Contact, User, or Lead who will receive the document for signature. For example, you can place a lookup field on the initial screen or dynamically search for the correct record. 
  • Recipient Order : enter the signatory order, for example "1"
  • Signature level : activate this setting to send an advanced or qualified signature. Enter “advanced” for an advanced signature, and “qualified” for a qualified signature.
  • New transaction: In the "Show advanced option" dropdown menu at the bottom, make sure to check the "Always start a new transaction" box.

Creating collection variables (Contact + Recipient)

STEP #5
Create a new resource
  • Resource Type : Variable
  • API Name : "ContactCollection"
  • Data Type : Text
  • Check the "Allow multiple values" box

Create a new resource
  • Resource Type : Variable
  • API Name : "RecipientCollection"
  • Data Type : Text
  • Check the "Allow multiple values" box

Assign values to the created variables

STEP #6
Add an "Assignment" element.

In the first assignment line.
  • Variable : ContactCollection
  • Operator : Add
  • Value : Signer Contact ID

Add a second line to the assignment with:
  • Variable : RecipientCollection
  • Operator : Add
  • Value : Text from "CreateRecipient"

Create the signature request (Delivery)

STEP #7
  • Add an Apex Action element to your flow
  • Select the action “Create a certified delivery”: apex-gnx__CertifiedDeliveryInvocable.
  • Name it "CreateDelivery"

Add an "Action" element:
  • Collection of Contacts Ids : the "ContactCollection" collection variable
  • Collection of Recipients : the "RecipientCollection" collection variable
  • Content Document Id : the ID of your document via "Get Generated Document"
  • Name : enter a name, for example "Signature Process"
  • Collection of Content Version Ids  : you can enable this parameter if you want to send multiple documents in the same process. Then, enter the collection variable where you previously stored the IDs of the content versions to be sent for signature.
  • Document Template Id : the ID of the document template used. This value is not mandatory, but it is highly recommended to fill it in for the proper functioning of the signature request.
  • New Transaction: In the "Show advanced option" dropdown menu below, make sure to check the "Always start a new transaction" box.

Save, debug, and activate your flow.

Don't forget to add a flow component to your chosen Lightning page. 

💡 For more examples, check out our Flow Org

Dynamic number of signatories

Dynamically add the correct number of signatories to your document

In some cases, such as attendance sheets, the number of signatories for a document is not known in advance.

Prerequisites

BEFORE YOU START

💡 Make sure to contact support if licenses are not active for your environment

  • Have a Gonexa Sign document that works with 1 signatory

Configuration in Salesforce

STEP #1
  • In your document template, ensure you have at least 1 recipient configured; if not, click "New" in the "Recipient" section.
  • In the child objects, ensure you have created a child object based on the standard Salesforce "Contact" object, which will allow for dynamic recipient list creation.

Configuration in your document template

STEP #2
  • Create a standard table with your chosen columns and the desired 1st header row
  • Reserve 1 table column for the signature placement
  • Add the following signature tag to this column {{signatures|index de départ|width|height}}
  • The starting index corresponds to the number of the 1st signatory in the table.


Example:
If you only want signatories within the table, you can simply set "1" as the starting index. If you have a trainer's signature, for instance, followed by a list of trainees in the table, the starting number will be "2" because number 1 is for the trainer, who is not part of the table. 

Sending for signature

STEP #3

💡 Sending for signature can only be done via a Salesforce flow, as the number of signatories is not known in advance and there can be a large number of signatories.


Flow Org:
Find all documentation on flows in our Flow Org

Cancel a signature procedure

Cancel a signature procedure with one click

Action name: "Cancel a certified delivery"

Canceling a signature procedure can be useful in various situations, particularly in cases of errors concerning the signatory or the document sent.

The "Cancel a certified delivery" flow action allows you to cancel an ongoing certified signature procedure.

The parameters expected for this action are:
  • Delivery Id: The ID of the delivery you wish to cancel
  • Cancellation reason: The reason for canceling the procedure, which could, for example, be retrieved from a flow screen

Download the document as is

Download the document at any time

Action name: "Download Delivery Document"

This action allows you to retrieve the document as is, even if not all signatories have signed.

The expected parameter is:
  • Delivery Id: The ID of the delivery for which you want to retrieve the document as is

The signed document will then be available on the delivery in Salesforce.

Download the audit trail

Retrieve the audit trail from Salesforce

Action name: "Download Audit Trail"

The audit trail is a detailed document that contains all important information about the signature. It serves as a guarantee in case of dispute, allowing the electronic signature process to be technically traced.

This flow action allows you to retrieve the audit trail once the signing process is complete.

The expected parameter is:
  • Delivery, Recipient or ContentVersion Id: the ID of the Delivery, Recipient, or ContentVersion for which you want to retrieve the audit trail
    • ContentVersion Id: enter a ContentVersion Id to get the audit trail of an electronic seal. The audit trail is only retrieved if an electronic seal has already been affixed to the document.

By providing a Recipient ID, the audit trail is retrieved as a PDF and stored directly in the Recipient's files.

By providing a Delivery ID, the audit trail is retrieved as a PDF and stored directly in the Delivery's files.

  • If there are multiple recipients, the audit trails are merged into a single PDF on the Delivery

Electronic seal

Seal the authenticity of your digital documents with the electronic seal solution

Prerequisites

BEFORE YOU BEGIN
  • Installation and setup of Gonexa Sign
  • Create a Gonexa Sign document template with a signature field
  • Have the Gonexa Sign Admin permission set
  • Have at least package version 2.5
  • Have subscribed to the electronic seal feature

What is an electronic seal?

An electronic seal is a form of digital authentication that commits the identity of a legal entity (company, organization, institution), unlike an electronic signature, which commits a natural person.

In other words:
  • It is the digital version of a company's stamp or seal.
  • It is generally affixed at the end of the process, once all signatories have validated the document.
The use of an electronic seal is particularly relevant for documents issued on behalf of an organization: invoices, attestations, standard contracts, certificates, etc.

Document Template Preparation

STEP 1
  • Create a document template in Gonexa Doc.
  • Add a recipient and insert a signature field into the document.
  • Ensure the document is properly configured for signing via Gonexa Sign.

Creating a Salesforce Flow

STEP 2
  • In Salesforce setup, create a new flow.
  • Add the APEX action titled: “Seal Content Version”.
  • In the Content Version Id parameter, specify the variable that will contain the ID of the signed document version (an essential prerequisite).

Saving and Activating the Flow

STEP 3
  • Save and activate the flow.
  • Upon execution, the system will automatically affix an electronic seal to the relevant document.
  • The “Seal Id” field will then be populated on the content version record, confirming that the document has been electronically sealed.

💡 Best practices
- Always ensure that the content version used corresponds to a finalized signed document before applying the seal.
- You can automate the addition of a seal at the end of a signing process to avoid any manual intervention.