Workflow - Create Process with an Nintex eSign Template Map
You can automate submissions to the Nintex eSign service in CRM. To automate submissions, the following information must be present:
-
the Nintex eSign instance and credentials must be known
-
the TemplateID of the template to use for the submission must be fixed
-
all Parameters and document properties of the submission must be mapped in advance, since manually entering data is not supported in a workflow
To accomplish this, a Nintex eSign Template Map must be created that contains much of this information.
Then, when used in a workflow, a Nintex eSign Document entity record will be created without having to use the manual form. A Nintex eSign Document entity record created in a workflow will still be available to be viewed and operated on like a manually created record.
Create a Nintex eSign Template Map
Template Map Identifier - provide a descriptive name for the map (you will need to look up the map later when creating a process workflow)
Select a Nintex eSign Configuration to use for loading the template parameters
-
You can choose to run a workflow configured with this map using another Nintex eSign Configuration if you would like; for example, you could later select to use the Nintex eSign Configuration assigned to the user running the workflow.
-
Enter the Template ID of the template to be used
-
This is accessible after creating a template by viewing the template in edit mode from the Existing link on the "Classic Templates" tab. You may also access the Template ID by generating sample XML for an operation on a selected template on the DocumentNOW Integration Help page (click "Help" to be taken to the available links for your account)
-
It is possible to load and edit the parameters for a given template that was created in the sandbox, and then change the Nintex eSign Configuration and Template ID to match the version of the same template that has been later imported into production
-
-
After entering this information, you may then click Reload Parameters from Nintex eSign. This queries the Nintex eSign instance using the credentials and environment information in the selected Nintex eSign Configuration and pull back the template parameters. Each parameter will be shown as follows:
-
the parameter name required to be passed in later operations (this cannot be modified)
-
the Data to Map, which will be preloaded from the Tag on the parameter (see CRM Data Mapping Instructions)
-
-
While this interface supports adding all the information in this interface, it is probably best to design all the structure into the parameters in theNintex eSign system. Re-clicking Reload Parameters from Nintex eSign will requery the Nintex eSign system and overwrite any changes you have made locally. The concept of the Nintex eSign Template Map exists so that the template's properties do not need to be queried when the workflow runs.
-
default text to enter into the parameter at runtime in case the mapped value is empty
-
-
After ensuring that all required parameters have data maps and/or default values, click Preserve Edited Data to preserve the mappings.
-
Save the record.
Constraints with CRM Data Mapping used in workflows
When you launch a document through the user interface you are allowed to create links to multiple lookup entities. When you create a workflow you must specify a specific type of entity the workflow will be run against. Therefore, all your tag values must be based on the single root entity that the workflow will be run on.
If your workflow is created to run on an account, then a parameter performing this lookup would work:
-
account.name
But, this would not work:
-
contact.fullname
Using linked entity tags based on the workflow entity, however, will work:
-
contact[account.primarycontactid].fullname
Also the multi-line formatter will be ignored
The owner shortcut is not supported, as you can get to it other ways anyways, for example, like this:
-
systemuser[account.createdby].internalemailaddress
The this shortcut is not supported, and makes no sense in a workflow, since we can only perform lookups on the single entity on which we are running.
Create a Process
-
You may create a process that will use the Nintex eSign Template Map through the normal mechanism in the Settings>Processes interface
-
Any normal process step may be added
-
To launch an Nintex eSign document,
-
Select to Add a Step
-
Choose Nintex eSign->Execute Nintex eSign Template (this SDK message processing step must have been enabled)
-
Now, configure the Execute Nintex eSign Template process. For an entity besides Note:
-
Pick an Nintex eSign Template Map
-
You may choose to:
-
Load the user's Nintex eSign Configuration (they must have access to the template with the configuration's template ID)
-
Load a specific Nintex eSign Configuration
-
Or if neither of those are set, the process will use the Nintex eSign Configuration specified in the Nintex eSign Template Map
-
-
Populate a lookup field on the Nintex eSign Document:
-
For example, if you are running the workflow on account, and you want the account lookup field to be populated on the Nintex eSign Document entity record that will be created, you must specify the field name of the lookup record. The account lookup field (along with some others) is built in with the solution, and you would enter asign_accountid here. By default, the entity on which the workflow is running will be assumed to be the entity to be populated in this value. Built in lookup fields on the document record are:
-
asign_accountid (for an Account)
-
asign_contactid (for a Contact)
-
asign_contractid (for a Contract)
-
asign_leadid (for a Lead)
-
asign_opportunityid (for an Opportunity)
-
asign_orderid (for an Order)
-
-
If running in the context of a different entity that exists as a lookup field on the Nintex eSign Document entity, you will enter the custom lookup field name that you added
-
It is also possible to populate this lookup field with a related entity field's value that is present on the entity on which the workflow is running. For example, to launch a workflow on account, but attach the Nintex eSign document to the account's primary contact, set:
-
Populate THIS Lookup on the Nintex eSign Document: asign_contactid
-
Get the Lookup from THIS Entity Field: primarycontactid
-
-
Enter a Document Name: this may include dynamic values set via the form assistant
-
Enter a Completed Document Password if you would like: this may include dynamic values set via the form assistant
-
Enter an Order ID if you would like: this may include dynamic values set via the form assistant
-
Enter the optional SharePoint values (available in our solution version 2.0.0.8+) if you would like. These may be used in SharePoint online instances to saving the signed document in SharePoint:
-
SharePoint Site: if the root URL of your Sharepoint site is passed, an additional parameter named Nintex eSignCRM:SharepointURL will be submitted to Nintex eSign with the value.
-
SharePoint Storage Library: if the relative path of a Sharepoint library is passed, an additional parameter namedNintex eSignCRM:Library will be submitted to Nintex eSign with the value.
-
-
Instead of the fixed SharePoint values, you may instead set Detect Workflow Entity SharePoint Storage Location to true (available in our solution version 2.0.0.9+). That will look up the SharePoint Site and Library values for the folder that has been created for the entity on which this process is running. The process will not fail if no SharePoint folder has been created for the entity, however no values will be passed to Nintex eSign.
-
If in this process you have created a Nintex eSign Envelope prior to this step, then you may elect to select that entity in the Nintex eSign Envelope Lookup field. Any process creating an envelope must ultimately also contain a Close Envelope step after documents have been assigned to the envelope.
-
Follow the normal steps for process activation. When a workflow is run that uses an Execute the Nintex eSign Template step and fails, check the logs for messages that may have been returned from theNintex eSign system.
Create a Process that Attaches a Document
It is possible to extract a document that has been attached to a note and use that in the Nintex eSign submission.
For example, the following scenario could work (this is just one possible scenario that could be created):
-
Build a reporting services automated process in code that attaches report output (which could contain dynamic JotBlocks) as a note on an account
-
Create a workflow that runs on the creation of a Note
-
Test the properties of the note:
-
Test that isdocument is Yes
-
Test that the note is linked to an account
-
When creating the report, do so with a consistent naming pattern, such as sendtoassuresign.contract[XXXXXXX].pdf, and test the document to see that the filename starts with sendtoassuresign
-
Create a step using Nintex eSign > Execute Nintex eSign Template
-
Set the Populate THIS Lookup on the Nintex eSign Document value to asign_accountid
-
Set Get the Lookup from THIS Entity Field to objectid - a note, or annotation under the hood, contains the value of the ID of the entity it is linked to in the objectid field
-
Use the form assistant to get the note itself into Document (from Note attachment) by selecting {Note(Note)}
-
If the document contains dynamic JotBlocks that must be read by the Nintex eSign system, set Document Attachment Contains Dynamic JotBlocks to True
-
Set Delete Note After Submit to Yes (available in our solution version 2.0.0.8+) if you would like the note deleted after the attached document has been submitted to Nintex eSign.
-
Your template map parameter tags can access the note's owner account with this structure: account[annotation.objectid].fieldname
-
For example:
-
the composite address of the account the note is attached to:
-
account[annotation.objectid].address1_composite
-
the email address of the primary contact on the account the note is attached to:
-
contact[account[annotation.objectid].primarycontactid].emailaddress1
-