Article published on the 10th of December 2019.
WorkPoint integrates with a range of digital signature providers; DocuSign, Adobe Sign, Visma, and Penneo.
The integration with the providers of digital signature is facilitated through Microsoft Power Automate and PowerApps. Microsoft PowerApps can be used as a fore-step before sending documents through a Power Automate Flow to the digital signature provider in order to specify the signee of the documents and provide comments for the package. This can be useful in some circumstances, however sometimes you have a certain person who always signs off on documents, in which case the PowerApp step can generally be circumvented.
Please be aware that all PowerApps and Power Automate Flows shown in this article are examples of how these can be set up. There is, as such, no one correct answer for how a PowerApp or Flow for digital signature should be set up.
The use of Digital Signature integration in WorkPoint requires a specific feature license for that feature. For more information about acquiring a license for Digital Signature, please contact WorkPoint Sales at firstname.lastname@example.org.
For general information about how to set up a Power Automate Flow or a PowerApp, please see this article.
3.1. Setting up necessary columns for Digital Signature
Using Digital Signature requires that certain columns are added to the library from where the Digital Signature process is run. These are provided by WorkPoint, and can be added from existing site columns. These are:
- Signing Status
- Source Item Last Modified
- Source Item URL
- Source Item Version
Go to the library settings and add these site columns. They can be found in the "WorkPoint Site Columns" group. Note that it may be a good idea to add these site columns to the Master Site of the business module which uses Digital Signature, and the run a Master Site Synchronization to roll out the site columns to all existing and future entities. You can read more about Master site Synchronization in this article.
3.2. Setting up an example PowerApp
In this example, we have set up a PowerApp with the following configuration:
- The App ID corresponds to the PowerApp created for this example. The PowerApp is shown below.
- The "Multiple document selection support" must be checked when using this app for digital signature.
Inside the PowerApp, in order to use WorkPoint parameters, we first need to add WorkPoint as a data source for the PowerApp:
- When editing the PowerApp, navigate to the "View" ribbon.
- Click the "Data sources" tab.
This opens a side panel which allows the user to add WorkPoint as a data source for the PowerApp. This makes it possible to use WorkPoint data in the PowerApp:
- In the side panel, click "Add data source".
- Search for "WorkPoint".
- Click the "WorkPoint" item from the list
WorkPoint is now added to the list of data sources:
The example app we have set up contains the following:
- A gallery shows the documents selected when opening the PowerApp. The following code is used to show these documents:
- The "Needs signature" check box can be used to assert which of the documents in the list which are to be signed, and which documents are supporting documents.
- The "Select all" checker can be used to check or uncheck all documents for signing at once.
- The "Signing template" drop down menu allows the user of the PowerApp to select which signing template to use for the digital signature process. Available choices are:
- Transaction with E-mail/NemId
- Transaction with E-mail/websignature
- Transaction with SMS/websignature
- Transaction with E-mail/NemId MOCES
- Type in a name and an e-mail address for a signee to be added to the list of personnel who are to sign the documents.
- Clicking the "Add" button adds the input from the "Signee name" and "Signee e-mail address" inputs to the list of signees for the transaction. This button also clears the "Signee name" and "Signee e-mail address" text input fields, so a new signee can be entered.
- The "Signees" list displays all signees for the transaction. Signees are added to the list by the process outlined in pt. 13-14.
- The "Remove selected" button allows users of the PowerApp to select a signee from the list of signees and remove that signee from the list.
- The "Sign in sequence" checker can be checked if the documents should be signed in sequence by the personnel in the signees list. If this is checked, the documents will first be sent to be signed by the first signee in the signees list. Once he/she has signed the documents, they are sent to the next signee in the list, and so on.
- Clicking the "Send to Digital Signature" starts the digital signature process. In technical terms, the buttons starts a flow which uses the data from the PowerApp to connect to the digital signature provider, which facilitates the signing of the documents.
Using the app may in practice look something like the following:
When the "Send to Digital Signature" button is clicked, the controls of the PowerApp are disabled, as to not allow further input. This is done so that users cannot accidentally send multiple requests by clicking the "Send to Digital Signature" button multiple times. The PowerApp changes to the following look after the documents are sent:
3.3. Setting up an example flow for Visma
The following is an example of how a flow for digital signature with Visma could look like. The entry point is a PowerApp, which could be the example PowerApp from this article.
- This block is used to Initialize values used in relation to the transaction (these values are hard coded)
- This block is used to initialize the list of signees for the transaction and set sequence number (the sequence for the signees)
- This step holds the signing template ID which was provided by the user in the PowerApp.
- This block Initializes variables and values used in relation to the documents in the transaction.
- This step collects information about the WorkPoint transaction including Entity and Documents.
- This step creates a log entry in the Signature Log in WorkPoint. It logs which signature provider is used, as well as list ID, Item ID, number of documents in transaction.
- This step loops through the documents selected for signing in WorkPoint. See pt. 28 for elaboration on this loop.
- This step calls Visma with the e-mail and password from Step 19 to get an authentication token.
- See pt. 32 for a description of this point.
- This step creates a PDF copy of the document(s). It also declares the file(s) as record. Lastly it adds the document(s) to the Signature Log. PLEASE NOTE: If declaring items as record via the flow, In-place Record Management MUST be enabled in WorkPoint. You can read more about how to do this in this article.
- This step collects the data contents of the newly generated PDF file
- This step adds the collected into a Visma document object
- This step adds that object to a list of Visma documents
- Here we send the transaction to Visma based on all previously created variables and data. It can be sent with or without a signing sequence, depending on a choice made in the PowerApp.
As part of the meta data, the transaction ID is sent along to Visma
- The URL address from the Callback URL from the previous flow triggers the following flow.
- This step gets the transaction in WorkPoint via the transaction ID that we get back from Visma.
- This step collects all signed documents and file contents from Visma
- This step completes the document transaction by collecting the new file contents from Visma and overwrite the files in WorkPoint with the signed documents. It also sets signing status as "Signed" and undeclares items as record.
3.4. Connecting a Digital Signature flow to a PowerApp
Once a PowerApp has been set up, it can be combined with a Power Automate Flow. In this way, a button in the PowerApp can be used to start the flow which communicates with the digital signature provider.
This can be done in the following way:
- When editing the PowerApp, navigate to the "Action" ribbon.
- Click the "Flows" icon.
This opens a side panel from which connected Flows can be added to the PowerApp:
- Select one of the Power Automate Flows. Flows that the current user is owner of, or flows which are shared to the current user are available. In this case we select the "Start Visma Digital Signature" flow.
- If no flows are available, a new one can be created by clicking the "Create a new flow" button. This will take the user to the start page for Microsoft Power Automate Flow.
In the PowerApp, we can set a button to execute the flow by adding the following code to the button's OnSelect action:
StartVismaDigitalSignature.Run( Param("WorkPointParameterId"), cbUseSigningSequence.Value, JSON(Samling1), Switch( cbSigningTemplate.Selected.Val, 1, "4eb9e4be-257f-402b-9b47-892bb83f62ec", 2, "f2e2e62b-7d67-4695-8961-b2411dbd20a7", 3, "95b29391-c23b-46d2-af51-ff9caa8edd9b", 4, "965c31f6-3f3b-4b83-8ae0-34ff7a55f34b", 5, "2a6a24cf-a72c-4b06-baa0-e0b4825e6ee9", "" ), "" )
The "StartVismaDigitalSignature.Run command executes the flow with the provided parameters encompassed in the parentheses.
The Switch statement in the command refers to the different signing templates which are selectable in the PowerApp. Depending on the signing template selected, one of the strings are sent along to the flow, along with a set of other parameters.
4. End User Guide
In this example, we will send three documents from the project "Design of Bike0075" for digital signature by two people; Chris Butler and Edward Dean of the company "Anderson's Custom Bikes".
We start in the documents library of the project:
- We select the three documents we want to send for signing.
- Clicking the "Send to..." button in the Command bar of the library allows us to run the PowerApp to send the documents for signing:
- From the selection of PowerApps we click the "Send to Visma Digital Signature" item. WorkPoint provides support for several providers of digital signature; Visma, Penneo, DocuSign, and Adobe Sign.
This opens the following PowerApp:
- We check the "Signature required" check boxes for the documents which must be signed by Chris Butler and Edward Dean. Whichever documents are not checked are considered supporting documents, which may be important for the signees in addition to the documents to be signed.
- We need the documents to be signed using NemID, so we select it from the "Signing template" drop down menu.
- Chris Butler is already added to the list of signees, so we input the information for Edward Dean in the "Signee name" and "Signee e-mail address" input fields.
- To add Edward Dean to the list of signees, we click the "Add" button.
- Now that the documents to be signed have been specified, and the required personnel have been added to the list of signees, we proceed by clicking the "Send to Digital Signature" button.
E-mails are now sent to Chris Butler and Edward Dean, with links to a page in Visma where they can log in and sign the documents. the content of the e-mails looks something like the following:
- The link can be used to go to Visma. From here, the documents can be signed.
Once all documents have been signed, an e-mail is sent to the signees: