Tutorials

Setting up a document approval process in HubSpot

27min

In this tutorial, we will explore how you can create a document approval process within HubSpot using HubSpot-CloudFiles integration. Learn how to create workflows that set up a secure dataroom, collect documents systematically, and organize them into folders stored in your preferred external storage. Create a checklist of these documents, trigger email/Slack notifications upon upload completion. Vet the document and send reminders to customers for any re-upload.

What To Expect

By the end of this tutorial, you can expect to -

  1. Have an external Dataroom to collect and organize documents within HubSpot
  2. Have a checklist to keep a track of required documents
  3. Trigger e-mail notification to notify customer about document upload completion or documents re-upload

The image below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

Document image


Refer to the GIF below to have a visual understanding of this tutorial’s expected outcome -

Document image


1 - Pre-requisites

Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.

Install CloudFiles in HubSpot

CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

Document image


Connect your storage

Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly. Check out Quick start for file connector in HubSpot for more information.

Document image


Connect Automation User for Storage

In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.

To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

Document image


After connecting the desired storage, we will proceed to create Create Documents Upload Dataroom with shareable link and a checklist to automatically mark the documents upload completion. We’ll be creating multiple workflows for this which is detailed in the sections below -

Creating Workflow To Get Document Collection Link

We will create a workflow to create a document request dataroom with shareable link that can be shared with the customers. The uploaded documents will be stored in an internal folder which will be accessible within HubSpot. This is how the final workflow looks like -

Document image


The details of the workflow has been given below -

1 - Create Contact-based Workflow

We will create a contact property that will fire the trigger for document collection workflow. For this, create a single checkbox property in the HubSpot Contact Settings. We have created a property called ‘Request Documents’.

Create a new contact-based workflow from scratch and select the trigger to fire ‘when filter criteria is met’. Set the property as ‘Request Documents’ and set it to ‘Yes’ to activate the trigger as shown in the GIF below.

Document image


2- Create Folder using ‘Create Folder’ Action

Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the folder that will store the sensitive documents collected from the datatoom. To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

Document image


This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We simply use the Company’s name but you can also create a complex text formula variable as well.

The GIF below shows how to populate the Library & Folder name parameter.

Document image


We also need to enter values for Shared Drive ID & Path to Destination. These are -

  • Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
  • Path to Destination - This specifies the destination folder in which this new folder will be created.

These parameters can be easily copied from CloudFiles app library. Follow these steps -

  1. Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
  2. Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
  3. Copy the parameter from the meta data on the right side of the screen.

Check the GIF below for a quick walkthrough of these steps.

Document image


For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

Document image


3 - Show Folder on Record using ‘Create Attachment’ Action

The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.

To use this action, simply click on add button and search for ‘Create Attachment’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” and “Library” parameters will be same as above.

The “Path to folder” will be the exact and full path of the newly created folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.

Here’s how our final Create Attachment action looks like -

Document image


4 - Create Dataroom using ‘Create Dataroom’ action

A Dataroom is a file portal, where you can request files from your customers. We will use “Create Dataroom” action to create a documents upload portal where customers can upload their requested documents.

To use this action, simply click on add button and search for ‘Create Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Name” is the name of dataroom that appears on the dataroom, “Description” is an optional field that can be used to give additional description for conveying more information.

To read more about this action, visit Create Dataroom Action. Refer to the GIF below to get a visual understanding of above steps.

Document image


Here’s how our final Create Dataroom action looks like -

Document image


6 - Show Dataroom on Record using ‘Create Attachment’ Action

The Create Attachment action can also be used to associate created dataroom to HubSpot records. To use this action, simply click on add button and search for ‘Create Attachment’ as shown below.

After you add this action, you will have to fill 3 parameters. For attaching a dataoom, Library parameter should always be ‘CloudFiles’. Resource type will be ‘Dataroom’ and Resource ID will be ‘New Dataroom ID’ derived from the output of previous create Dataroom action.

Refer to the GIF below to have a visual understanding of this steps -

Document image


Here’s how our final Create Attachment action for Dataroom looks like -

Document image


7 - Create File Request block using ‘Add to Dataroom’

The ‘Add to Dataroom’ action enables you to insert files, folders and file request blocks to your CloudFiles datarooms using a workflow. You can add this action as many times as needed to request the required files.

To use this action, simply click on add button & search for ‘Add to Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” & “Library” parameters will be same as above. For remaining parameters, refer below -

  • Dataroom ID - New Dataroom ID derived from the output of ‘Create Dataroom’ action
  • Type - File Request
  • Name - Name of documents requested
  • Add to destination - Yes
  • Path to destination folder - full and exact folder path of sub-folder created earlier
  • Description (Optional) - Describe the requested documents

Refer to the GIF below to have a visual understanding of this steps -

Document image


Here’s how our final Add to Datatoom action looks like -

Document image


8 - Create shareable link for Dataroom using ‘Share Attachment’ action

The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.

To use this action, simply click on add button and search for ‘Share Attachment’ as shown below. This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of previous Create Attachment action - ‘New Attachment ID’.

Refer to the GIF below have a visual understanding of this step -

Document image


9 - Copy the sharing link to Contact property using ‘Copy Property Value’ Action

In this step, we will copy the link created in the last step to a contact property. For this, first create a single-line text property in the HubSpot Contact Settings. We created a property called ‘Shared Files Portal Link’.

To copy the shared link to the above property, we will use the Copy Property value action. For the ‘from’ parameter, we will choose the output ‘URL’ of the last action. For the ‘to’ parameter, we will use our newly created contact property.

The GIF below shows the configuration for the Copy Property Value action.

Document image


That’s it. Save and activate the flow. Your documents upload process is set. In the next section, we will learn how to create the documents upload checklist.

Create Checklist for required documents

After setting up the documents upload process, we will create a checklist to keep a track of uploaded documents. This is how the checklist looks like -

Document image


To set up the checklist, we'll create a multiple checkbox property in HubSpot contact settings, listing all required documents. As customers upload each document, the respective checkboxes will be marked automatically. When all checkboxes are marked, an email notification will alert the contact owner. Once the checklist is set-up, we will create individual workflows for each document to verify the upload and mark the respective checkbox. Here’s how our final workflow looks like. We will detail these elements in the sections below.

Document image


1 - Create Contact-based Workflow

Create a new contact-based workflow from scratch and select the trigger to fire ‘when filter criteria is met’. Set the property as ‘CloudFiles: File received properties’ > ‘File Request Name’ as shown in the image below. Enter the name of the file requested.

Document image


Refer to the GIF below to have a visual understanding of this step -

Document image


Once the trigger is set, in the next section, we will learn how to create the checklist containing a list of the required documents and how to set-up a workflow to append uploaded document to the corresponding checkbox.

2 - Set Property Value to append the document to the checklist

We will create a checklist which will be visible in the contact property. To do so, we will create a multiple checkbox property in the HubSpot contact settings, listing all the documents to be requested from customers. In this tutorial, we've created a property named 'Upload Checklist' and listed three required documents as shown below -

Document image


We will now create the action that will mark the appropriate checkbox in the checklist when documents are uploaded. For this, add HubSpot action ‘Set Property Value’. In the Target Object field, select ‘Contact’. Property to set will be the checklist property created above. Once selected, append the required value as shown in the GIF below -

Document image


This is how the final action looks like -

Document image


3- Notify if all documents uploaded

Next, we will check if all documents have been uploaded. If they are, we will send an internal notification to the contact owner. To check whether everything is uploaded, we use a simple branch element. To send the notification, we use the ‘Send Internal Email’ action. You can also choose to send a slack notification.

Document image


Duplicate the above workflow for other required documents. Just make a simple tweak - append the respective document value to the 'Upload Checklist' property.

Document Vetting and re-upload request

After receiving the email confirming the completion of document uploads, you can access the uploaded documents within your HubSpot by navigating to CloudFiles widget > Contact Folder. During document vetting, if a rejection occurs and you need a file re-upload, simply uncheck the document in the 'Upload Checklist' property. This action can trigger an e-mail to customers, requesting the re-upload of the specified document along with the dataroom link.

You can chose to request document re-upload as many times as needed. Once satisfied, you can setup a workflow to trigger an email to the customer telling them the uploads are complete. To do so, you can have a single checkbox property on your contact called ‘Documents Upload Completed’ and trigger the workflow when this changes to Yes.

That’s it! That’s how you can set-up a streamlined document approval process within HubSpot.

Test the Workflow

To test the document approval process, create a new contact or select an existing contact. Add all the properties related to the approval process created above. Set ‘Request Documents’ property to ‘Yes’ to trigger the workflow. Give it a minute to execute. Refresh the page. You will be able to see the dataroom link in the ‘Document Upload Link’ property and also the folder attachment in the CloudFiles widget in the right side.

Click on the dataroom link and upload documents as requested. Once you have uploaded the documents, you will see the respective checkboxes get ticked. You can check the uploaded documents and mark the upload complete property accordingly to trigger external email to customer.

These steps have been illustrated in the GIF below for a better understanding -

Document image