Status Code 422 | INVALID_RECORDS | Airtable

As you will see in the photo below, I have the ‘Gigs’ collection plus five other collections, as I have five single reference fields in the ‘Gigs’ collection. Since Webflow exports content in reference fields using their ID instead of the actual value, I looked around and saw on the Parabola website that you can get around this by also pulling in those collections that are referenced in the fields, and you can then combine everything afterwards.

But, when I try using the combine tables option, it won’t let me connect more than two inputs to it. Am I doing something wrong?

Thank you so much for the help!

Hey Ben,

The “Combine tables” step only supports 2 inputs at the moment. We found that doing this helped simplify the UI for many of our users.

To get around this, you can chain together multiple “Combine tables” steps.

Let me know if that workaround helps!

Hey Daniel!

Thank you so much for that.

I was able to get that to work, but now I am stuck on the last step of my flow, the part where I would like to send the data to Airtable via the API. I followed the guide on the Parabola website but I think I may have done something wrong, because it appears the design and structure was updated after the guide on the Parabola website was published, so some of the steps didn’t really match. I got this error when trying to show the results: Your JSON is not valid! Try using a JSON linter to make sure you have the right syntax. To be completely hoenst, I am not entirely sure what JSON is let alone a JSON linter haha, so I am really hoping you will be able to help with this.

I’m not sure if this is something that you can help with on the forum and to be completely honest, I’m not comfortable with sharing it on the forum because then it would be essentially exposed to the general public.

Thank you so much :slight_smile:

Hey Daniel!

I was able to resolve that JSON error but when trying to actually run the flow now, I’ve run into another erorr. I browsed a few other posts on the forum but couldn’t find a solution.

Request failed with status code 422: {
“error”: {
“message”: “You must provide an array of up to 10 record objects, each with an “id” ID field and a “fields” object for cell values.”,
“type”: “INVALID_RECORDS”
}
}

{
“records”: [
{
“id”: “{Id}”,
“fields”: {
“Gig Title”: “{Gig Title}”, “Gig Slug”: “{Gig Slug}”,“Organization”: “{Organization}”,“Organization Type”: “{Organization Type}”,“Gig Location”: “{Gig Location}”,“Municipality”: “{Municipality}”,“Gig Type”: “{Gig Type}”,“Gig Category”: “{Gig Category}”,“Gig Excerpt”: “{Gig Excerpt}”,“Gig Summary”: “{Gig Summary}”,“Gig Responsabilites”: “{Gig Responsabilites}”,“Gig Qualifications”: “{Gig Qualifications}”,“Apply Now URL”: “{Apply Now URL}”,“Application Deadline”: “{Application Deadline}”,“Featured Gig”: “{Featured Gig}”,“Short Gig Link”: “{Short Gig Link}”,“Favourites”: “{Favourites}”
}
}
]
}

Hey @Ben :wave:,

Assuming you’re using the PATCH method to update your Airtable base, try inserting the record Id directly into the API Endpoint URL:

https://api.airtable.com/v0/appxxxxxxxx/Gigs/{Id}

You can then remove the square brackets linked to the records array and pass your field values to Airtable. Try that out, and let me know if that works!

Hey @daniel !

I was able to get it to work :slight_smile: I ended up using the POST method instead since technically I did want to create records rather than update records. That said, I will do what you suggested when updating records in the future.

I was wondering, in terms of sending the data back to Webflow. For populating the reference fields, would the current set up I have right now be the most efficient / easiest way? Since I would essentially be doing the exact opposite, replacing the reference field values with their respective CMS collection IDs, and I was thinking I could do so by having the flow start with the Pull From Airtable option instead of the Gigs one, then have the flow end with the Send to Webflow option instead of the API one.

I know alternatively it can be done with Webhooks as well but I honestly have no idea how that would work haha.

Hey @daniel !

Sorry for the second message, thought it would be easier to toss this in now so you could reply to both messages to reduce the back and forth.

I would like to connect the Google Indexing API as well, since it is suggested for job board websites as the job posts would be crawled sooner.

In terms of setting it up, would it be something like this?

After the Send to Webflow step, add a Send to API step with the following information:

Endpoint URL: https://indexing.googleapis.com/v3/urlNotifications:publish endpoint

Body:

{
  "url": "{Full Gig Link}",
  "type": "URL_UPDATED"
}

Here is the link to the documentation on the Google website.

There is an option to send a GET request, I’m assuming though that is only required if you want a notification or to be told that Google got the crawl request?

Also, to authorize the request, Google requires you to get an access token, would that be done the same way as the Airtable API setup where the API key is used as your token?

Hey @Ben,

Good questions! I’ll do my best to answer these all below:

Send to Webflow

Do all of your collection items and their respective ids currently exist within your Airtable base?

You can always import those back into Parabola since it’s likely easier than using multiple “Pull from Webflow” steps to get your collection items across each collection.

Using the “Send to Webflow” step, you would then map the collection item ids in Parabola that are pulled from your Airtable base to the reference field in Webflow. Just note, you can only make updates to a single collection per Webflow export.

Send to Google API

The “Send to Webflow” step cannot have any additional steps after it. Is the {Full Gig Link} a URL that’s stored in your Webflow CMS? If so, you may want to try updating your Webflow CMS using the “Enrich with an API” step.

You’ll have to manually configure your API call, but that step will return the correct URL which can be passed to Google’s API using a similar JSON body that you pasted above.

Google Authentication

Google’s authentication is set up via OAuth 2.0. This authentication type requires additional configuration to be set up correctly. You’ll need to generate a client ID and client secret from your Google API console. You can follow their set-up instructions by clicking this link.

Our How To guide gives an example of how to authenticate via OAuth 2 in Parabola.