Free Solution for Doc Sign with Google Forms, Docs, Sheets, and Gmail: GAS109

Introduction

If you are looking for a free solution to sign your document with Google Forms for you users, you may find the right place. In this Google Apps Script project, I am sharing a workaround using Google Forms to collect data from users and email then a sign request URL for collecting their signature.

YouTube

Check this project introduction video on YouTube if you prefer to watch video instructions.

Demo

Try to submit this form below to get an email for signing.

https://forms.gle/Z2kM3y4CiFiKnCD68

You will be sent with a similar email like this, and you can try the sign link to add your signature.

How you can add your signature in the sign web app.

You will be sent with a signed email with the signed document. We can have placeholders in the document, and the value we collect from the form can be used to replace these placeholders.

Instructions (6 Steps)

Follow the steps below to set up your own project.

Step 1

Make a copy of my project to your Google Drive with the link below.

FormSign - Document Signature with Google Forms: GAS109

* The linked form in my project will not be copied to yours, make sure you create a form on your Google Drive and link it to the copied Google Sheets.

Step 2

Complete the authorization step by clicking any of the buttons from the menu “FormSign”. Follow the guide below if this is new to you.

A Complete Guide to Authorize GAS Project

Step 3

Install the trigger from the custom menu “FormSign”. It will create a trigger to watch the form submit events in the form which is linked to the Google Sheets, for sending the email with the sign request URL.

Step 4

Deploy the project as a web app for the sign request URL, you will get the URL after the deployment. Follow the guide below if you are not familiar with the deployment process.

A Complete Guide to Deploy GAS as Web App

Step 5

Update URL in the “Settings” tab with your own Web App URL in cell B5.

Step 6

Other configurations in the “Settings” tab. Check the notes in column C and don’t change the keys in column A since they are used in the script. Submit a test from your form to run a test, if everything is set up correctly, you should be able to see the similar email in the demo section above.

Key

Value

Note

App:

name

FormSign

url

https://script.google.com/macros/s/AKfycbzCDOvLTBxE4n1G66QitMPI5Pq8TMtVy1lY0b3NjMoGzUd7fUFAwXCgUutl8Qido_BmwA/exec

The URL of the sign web app

urlDocumentPub

https://docs.google.com/document/d/e/2PACX-1vSlJ7hP-AnYEYogEJnV2axgXk6MhlrmtuZ7VqSMT30MACLHF5HNr6U6hk3g1aqknget0fEy2pcLvkQZ/pub

The URL of the document for user to view in the web app

urlDocument

https://docs.google.com/document/d/1csANIpnrZGyR3Af_cAnNMRLc5FaQKNQ5HDtrkh1N_Dk/edit

The URL of the document template for user to sign (support placeholders in file name)

urlFolder

https://drive.google.com/drive/folders/14E_JPVZgqP0J5yneBbXvA2VAzuHzUQ47

The URL of the folder for saving the signed document

headerEmail

Email Address

The field name in the form for email address to the respondent

headerName

Full Name

The field name in the form for the respondent

headerUuid

_uuid

Added column by the script

headerSignStatus

_signStatus

Added column by the script

headerSignUrl

_signUrl

Added column by the script

headerSignedDate

_signedDate

Added column by the script

headerSignedDocument

_signedDoc

Added column by the script

headerSignedPdf

_signedPdf

Added column by the script

Signature:

signaturePlaceholder

{{signature}}

The placeholder in the sign document template

signatureWidth

200

The signature image width in the signed document

Sign Email:

signSubject

New FormSign Request {{Full Name}}: GAS0109

Support placeholders

signBody

Hi {{Full Name}},

Use this link below to sign the document.

<a href="{{_signUrl}}">Sign</a>

Thanks,

Ashton

Support HTML body & placeholders

[signBcc]

Comma-separated email addresses

Signed Email:

signedEmailEnabled

TRUE

Send the email to user after sign

signedSubject

Signed by {{Full Name}} with FormSign: GAS109

Support placeholders

signedBody

Hi {{Full Name}},

You've signed the document successfully.

<a href="{{_signUrl}}">Sign Status</a>

Thanks,

Ashton

Support HTML body & placeholders

[signedBcc]

Comma-separated email addresses

[includeSignedPdf]

TRUE

Attach the signed PDF as an attachment in the email

GoogleAppsScript Playlist

Links

Hire me on Upwork  Donate (PayPal) YouTube Github Twitter / X Instagram

Comments