Update existing items + add new in Webflow CMS

Hi,

I need help figuring out a stable way to update my CMS collections in Webflow using an API via Parabola. Right now, every time there are new entries in the backend, I delete my entire Webflow collection and reimport using Parabola. Is there a way to only add in new entries since the last update, and automate that process using Parabola → Webflow? Ideally it would also allow existing entries to be cross-referenced with the newest API data and updated if needed. Thank you!

Hi @Delaney_Rua :wave:

Welcome to the community! It sounds like you’re looking for the “Find overlap” step to cross-reference collection items from your backend with existing ones in your Webflow CMS.

Try using this template to achieve that result:

The top “Find overlap” will remove any rows that exist in your backend and Webflow, resulting in new items being added to your CMS.

The bottom “Find overlap” will keep any rows that exist in your backend and Webflow, resulting in existing items being updated in your CMS.

Let me know if that helps!

Hi Daniel,

Thanks so much for this help, I’ll try it out and see if it works!

One quick question:
In instances where some aspects of a collection item have been edited (say, a typo) in the backend, would this not also filter those out considering they are changed, and not delete them? It seems then that this flow would produce a duplicate collection item with the minor change, as well as retaining the original.

You’re correct. If there is a discrepancy like a typo, that will create a new collection item as well as retain the original collection item.

Ensuring the data is accurate will always help, but if there are some slight discrepancies, the Approximate match with accurate data should help.

You can set the approximate match percentage to a relatively high value. The example above shows a potential item from your backend matching with another item from your CMS with slightly different values!

This is perfect, thank you so much for the help!

Another way of doing it, in case it helps you or someone else who sees this.

For a job board I run in Webflow, I created a field called “Unique ID” (not the webflow item ID).

Then in Parabola I make a unique ID for each new job that is the “{Job Title} at {Company} on {Day Originally Posted}”.

Then I run the Find Overlap step using just that Unique ID field so that existing items are updated and new items (jobs in my case) are added.

The Approximate match method seems like a good way to approach this though, thanks for the tip @daniel .

Hi Brian,

Thanks for the alternative answer - that seems like a simpler solution given how much duplication of the data cleaning nodes I had to create for the orig solution.

I did have another question since my flow (using @daniel’s solution) keeps failing - I get this error when attempting to update existing CMS items, even though I am linking the Webflow ID to the ID column in Parabola. Maybe you know a solution?
Screen Shot 2021-05-28 at 9.19.19 AM

Hey Delaney,

Glad to hear it’s helpful.

Does your step look something like this?

You need the ID you pulled from your own Webflow collection to be the ID you push back out to it in the update step.

(I’m not sure why you might be getting that error without seeing the whole thing, just hoping one of these things covers your bases).

Last thing: are you sure you have a live Webflow CMS item with that ID?

Thanks for the quick reply - your example is the same as how my export settings are configured. Checking into my CMS collection items, the first published collection item has the ID in my screenshot, so I know it’s been imported and published. Could it be a data type error, as I have the ID field in Webflow as a text field rather than a number field? The IDs are alphanumeric, so it doesn’t seem so…

What do you mean by

I have the ID field in Webflow as a text field rather than a number field

The Webflow Item ID that we need is the default one, not a field that we can set a field type for.

The item ID you’re looking at in Webflow shows up looking like this in the CMS, right?

image

(In case this is the issue, I wrote a post about where to find IDs in Webflow).

Just took a look at this site - is there any need to use the API access to Webflow in Parabola given the “Pull from Webflow” node acts as the API pull? I created a text field to copy the “_id” field into for other data linking reasons, i.e. concatenating that ID to a URL for linking within Webflow, but should I just be referencing the original “_id” column in Parabola?

Ah, sorry, I wrote that before a “Pull from Webflow” step existed in Parabola. You’re right, you can use that instead.

I’d try it with the original _id field that the Pull from Webflow step gives you, that might work.

Hello, I have the impression that your diagram corresponds perfectly to my request but I cannot manage to set it up.

In my JSON feed there are real estate ads that are updated daily the objective would be to create a new item each time the JSON feed is updated and create it in Webflow and update the existing one if changes are made was bring can you help me?

Hi @Legaillard :wave: welcome to the community!

To add new CMS items to Webflow, you’ll want to Remove rows from your JSON feed that also exist in your “Pull from Webflow” step. Try matching on a shared value like the ad name. The resulting dataset should show you ads that have not been uploaded to Webflow.

To update existing CMS items in Webflow, you’ll want to Remove rows from your “Pull from Webflow” step that also exist in your JSON feed. Match across all column values to check for changes. The resulting dataset should list all CMS items that need to be updated.

You can then use a “Combine tables” step to Keep only matching rows from both inputs to merge the updated data from your JSON feed before sending it to Webflow.

Feel free to email us at help@parabola.io with a link to your flow and we can take a look if that’s easiest!

Hi I think I understand

But I have a problème for the second branch i don’t field of my JSON api for match data …

Can I share my flux ?

Hello,

I’m still having a lot of trouble making what you told me to do work and my trial ends in 3 days and I would like to succeed in making a flow that updates and creates if a new element and add in my JSON feed I think I understood your explanation but I can’t manage to put it in place I share the links with you if you want to help me because I would really like to subscribe to your solution…

Here is my sharing link

https://parabola.io/app/flow/Dg9d0rqZ9L

@daniel Sorry i don’t mentioned you.

Hello,

I’m having a lot of trouble updating existing webflow items. I get my information from a Json feed, for example.

If in my JSON feed Item 1 : Price = 230 000
If in webflow Itel 1 : Price = 130 000
And I have lots of fields like that that can be modified and I even have to do more complex things if someone could help me I can share my feed and it can also be useful for other people