How to send form submissions to HubSpot from a Google Sheets file

Hello everyone!

I’m trying to put together a flow to send contacts to HubSpot as form submissions from a Google Sheets file.

I’ve tried this before with Zapier and Integromat, but both platforms have various limitations. Zapier gives tons of errors, while Integromat doesn’t have the submittedAt field so you cannot choose the date & time of the submission (which is possible via API as far as 30 days back).

I’m looking at doing this with n8n, but am not an API expert and am unsure how the workflow should look like in order to achieve this.

The data that I want to send is just:

  • firstname
  • lastname
  • email
  • page url
  • submittedAt (submission date)

Thanks a lot!

Welcome to the community @dsecareanu

We do not have a Google Form Trigger, but you can create a trigger (within Google Form) as shown below. Then with a Webhook node, you can catch the information and send it to Hubspot using the Hubspot node.

Hi Ricardo and thank you for the info, but I’m looking for Google Sheets (there is a trigger) not Google Forms. However, I’m not sure on the trigger and action choices and details and was hoping there was some template out there that I didn’t run into in my search. Thanks!

Hey @dsecareanu,

I took a look at both Zapier and Integromat to understand how they approach this. They both use Google Sheets for the forms and are essentially getting data from the Google Sheets.

There are two approaches that I can think of:

  1. Using AppScripts to send a response to a Webhook node as @RicardoE105 suggested.
  2. Polling the data from the Google Sheet. If you’re interested in this approach you can refer to this tutorial - Creating triggers for n8n workflows using polling ⏲

Let us know which approach you take and if you need any help, feel free to ask us :slight_smile:

Thanks!

I’ll explore this option with polling data from Google Sheets and will let you know if I manage to make it work. :slight_smile:

If there are other ways to use a csv/xls file as a source or some other option (i.e. airtable) that could work as well. The idea is to have a table as a source and push the relevant fields into HubSpot as form submissions (basically id of the form, name of the form, first name, last name, email, url of the form, submission date).

Thanks again! :slight_smile:

1 Like

If you plan to add the records to HubSpot after the form is closed, you can then simply use the Google Sheets node (assuming you’re saving the data there) and the HubSpot node. In this case, you don’t need to implement polling :slight_smile:

I’ve been trying to use Google Sheets, but I haven’t managed to connect to Sheets and get the data from there… :frowning:

Did you check Google | Docs?

Yes, went through the docs and tried to connect to the service, but I still get an error about new lines (\n) and the key from Google has about 25 \n in it and it’s unclear if those need to be removed and replaced with new lines as this would modify the key too much it seems.

I think the credentials doc says to replace all \n occurrences, could be worth a go.

Yes, this is correct.

Hey @dsecareanu!

Were you able to successfully connect to your Google Sheets? Let us know if you still need help :slight_smile:

Hey, not yet… didn’t have time to test the Google Sheets connection. Will try these days and get back, but for a technical person who’s not a developer / API person it’s not an easy thing to do and I’m trying to setup a process that’s easy to do by a non technical person.

Thanks for letting me know! I do agree that setting up the credentials is a lot of steps. Are you using n8n.cloud? We have setup OAuth for Google Sheets where you won’t have to create the credentials.

Not using cloud, a cloud installed instance (aws) where I’m testing various API integrations. Is he OAuth also available for the self hosted version? Thanks!

You can use the OAuth authentication method, but you will have to create your own credentials for that as well. The steps are documented in the link shared above :slight_smile:

Ok, so I’ve managed this in another, less intuitive way, by doing it HubSpot to HubSpot, via Zapier though, but thinking about testing this with n8n as well. Basically I did a HubSpot static list to HubSpot form submission process to use a single connection and avoid the issues with Google Sheets.