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
Login in google console https://console.cloud.google.com/
At the top-left, click Menu menu > IAM & Admin > Create a Project.
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.
In the Location field, click Browse to display potential locations for your project. Then, click Select.
Click Create. The console navigates to the Dashboard page and your project is created within a few minutes.
Open the Google Cloud Console.
At the top-left, click Menu menu > APIs & Services > Library.
In the search field, enter the name of the API you want to enable and press Enter.
In the list of search results, click the API you want to enable.
Click Enable
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.
Open the Google Cloud console.
At the top-left, click Menu menu > APIs & Services > OAuth consent screen.
Select the user type for your app, then click Create.
Complete the app registration form, then click Save and Continue.
Create access credentials to authenticate your app's end users or service accounts.
Open the Google Cloud console.
At the top-left, click Menu menu > APIs & Services > Credentials.
Click Create Credentials > OAuth client ID.
Click Application type > Web application.
In the "Name" field, type a name for the credential. This name is only shown in the Google Cloud console.
In the authorized redirect URI section, please add https://auth.enboarder.com/oauth
Click Create. The OAuth client-created screen appears, showing your new Client ID and Client secret.
Note the Client ID and Client secrets.
Click OK. The newly created credential appears under "OAuth 2.0 Client IDs."
Add New Custom Tile in Enboarder
Login to Enboarder as an admin user.
Go to Settings>Apps & Integrations>App Center.
Click on Add New tile
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 |
Oauth2 Client Secret | The |
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.