Discover: Google Sheets

Populate Google Sheets with your Enboarder Data

Adam Faludi avatar
Written by Adam Faludi
Updated over a week ago

Want to level up your data management game? With Enboarder's OAuth2.0 tile and webhook module, you can effortlessly send form data, custom fields, categories, and dynamic tokens straight into a pre-defined Google spreadsheet. How cool is that?

In this guide, we'll show you how to work some magic and send Week 1 Check-In Module results from Enboarder directly to a Google Sheet, along with the employee's name and manager. It's like having your very own data wizard!

And guess what? The best part is that these steps aren't limited to just one specific form. You can customize and populate any Google sheet with data of your choosing from Enboarder. It's all about making your life easier!

So, let's dive in and rock that data integration like a pro! Follow along, and you'll be a spreadsheet sorcerer in no time! 🧙‍♂️📈🔮

Set-Up

Note: All these are one-time steps

Register Google App

Create a Google Cloud project and generate Oauth2 application data. Please refer to Google documentation to help you complete this step.

Here are the high-level steps

  1. Login in google console https://console.cloud.google.com/

  2. At the top-left, click Menu menu > IAM & Admin > Create a Project.

  3. In the Project Name field, enter a descriptive name for your project.

    • Optional: To edit the Project ID, click Edit. The project ID can't be changed after the project is created, so choose an ID that meets your needs for the lifetime of the project.

  4. In the Location field, click Browse to display potential locations for your project. Then, click Select.

  5. Click Create. The console navigates to the Dashboard page and your project is created within a few minutes.

  1. At the top-left, click Menu menu > APIs & Services > Library.

  2. In the search field, enter the name of the API you want to enable and press Enter.

  3. In the list of search results, click the API you want to enable.

    1. Please select below Google Sheets API and provide permission to create/update event

  4. Click Enable

  5. To enable more APIs, repeat steps 2–5.

Configure the consent screen to ensure users can understand and approve what access your app has to their data.

  1. At the top-left, click Menu menu > APIs & Services > OAuth consent screen.

  2. Select the user type for your app, then click Create.

  3. Complete the app registration form, then click Save and Continue.

Create access credentials to authenticate your app's end users or service accounts.

  1. At the top-left, click Menu menu > APIs & Services > Credentials.

  2. Click Create Credentials > OAuth client ID.

  3. Click Application type > Web application.

  4. In the "Name" field, type a name for the credential. This name is only shown in the Google Cloud console.

  5. In the authorized redirect URI section, please add https://auth.enboarder.com/oauth

  6. Click Create. The OAuth client-created screen appears, showing your new Client ID and Client secret.

  7. Note the Client ID and Client secrets.

  8. Click OK. The newly created credential appears under "OAuth 2.0 Client IDs."


Add New Custom Tile in Enboarder

  1. Login to Enboarder as an admin user.

  2. Go to Settings>Apps & Integrations>App Center.

  3. Click on Add New tile

  4. On the next page, please fill in the information as per below

Field Name

Detail

Application Name

The display name of the tile. You can put any name.

Oauth2 Token URL

Oauth2 Client ID

The client_id generated in google workspace

Oauth2 Client Secret

The client_secret generated in google workspace

Oauth2 scopes

Oauth Flow option

Please select Authorise flow option.

Oauth2 Authorisation Token URL

Oauth2 Refresh Token URL

Example:

5. Click on Add Integration button.

6. The system will redirect the user to the Google site to get his/her consent. Please log in using your credentials and provide your consent

7. Once done. The system will redirect the user to Enboarder and show the tile as integrated



Configure Send Data Webhook

Using Enboarder’s Send Data webhook module, we can send data into an existing spreadsheet by configuring this module and adding it to a workflow sequence. The example shown below will take you through how to configure the webhook to send data directly from our Employee Week 1 Check-In form to a Google Spreadsheet:


Please refer to the Google API document for further guidance. Also, before configuring the Webhook, a Google Sheet will need to be created in a desired location on Google Drive:

The following headings have been set up in Row 1:

  • Employee Name

  • Manager Name

  • Onboarding exp to date

  • Prepared

  • Manager Contact

  • Manager Prepared

  • Welcome

  • Resources

  • Onboarding Improvement

  • 1 Week eNPS

  • Feedback

Note that these column headings are customizable and can be re-named to match the data you are receiving from Enboarder.

This particular will gather the Employee Name, Manager Name, and All form responses within the Week 1 Check-in form, but the column headings and webhook payload can be customized to pull in alternative data.

  • URL - https://sheets.googleapis.com/v4/spreadsheets/{SheetID}/values/{SheetName}!{SheetRange}:append?includeValuesInResponse=false&insertDataOption=INSERT_ROWS&responseDateTimeRenderOption=FORMATTED_STRING&responseValueRenderOption=FORMATTED_VALUE&valueInputOption=RAW

The {SheetID} Can be found within the URL of the Google Sheet created above, for example:

https://docs.google.com/spreadsheets/d/1U0bQsSbQON0GLjuKVv-U2su7s_5utR3dzBXtciwYams/edit#gid=0

Every Google Sheet will have its own unique Sheet ID. You are able to build as many Google Sheet templates as desired, and as many webhooks as you’d like too! As long as the corresponding Sheet ID is included in the webhook URL, you will be able to populate any authorized Google Sheet.


The {SheetName} is the name of the sheet you have defined. In the below example, the {SheetName} is Example:

The {SheetRange} is the range that your columns stretch. In the below example, the {SheetRange} is A:K

  • Authentication - Please select the tile which you have added in the previous step.

  • Method - POST

  • Payload - Please add payload as below sample


    Sample Payload


The “range” should reflect the size of your sheet. In our example columns A to K are populated, therefore our range is “Sheet1!A:K”


Depending on your use case, this may vary. It is important to note that the range in the webhook body must match the range provided in the webhook URL. If you are sending in more data, this could be Sheet1!A:Z or even Sheet3!A:C. This will need to be updated both in the Webhook URL and in the payload (“range”).


Example

Once successful, the webhook will update a new row on the provided spreadsheet with information from an Enboarder Form, each time data is filled out.


Did this answer your question?