Streaming live at 10am (PST)

XML to CMS Webflow items

Hello,

is it possible to convert this XML Page into CMS Webflow Items.
It should update instantly when something is deleted or added to the XML.

Or do I need some custom code for that? If so… is their someone how can do this ? :slight_smile:

Thanks a lot

Hi @Jonas_Schauffelen, welcome to the forums.

While it is may be possible to convert XML to CSV data and import it to WF, the only way to do it automatically would be to either have the process that writes the XML output hook the Webflow API or you would need to build an àpp off Webflow that polls the XML file for changes, the feeds updates via the API. Either way you need some custom code and a budget for development. I have done similar integrations in the past.

Hi @webdev,

thanks for your reply. How much work would that be? And do you have time to help us out. Is there a way to connect us outside of his forum?

Tanks
Jonas

You could dm me here with your contact info. I could then reach out.

Hi @webdev,

we need a similar solution to this problem. Please send me a DM .

Sincerely,

Yamato

I’m also still very interested to streamline this.
Currently done it through Integromat, it’s datastore there and then to Webflow in 2 Scenarios.

But i can’t figure out how te remove/draft/archive items that no longer exist in the XML-feed (and remain as active CMS items). Also it’s just very hard to set everything up in Integromat. I’ve spend probably over 40 hours to get 1 XML through Integromat and into Webflow and have it update stuff.

Hi Martijn!

I’m very interested about this use case. I have the same to solve and I haven’t find a solution for the moment.
Have you succeed to create this full scenarios?

Thank you for your help!

Hi Bernard76,

It seems i’ve found a good way to do this!
So i’ve made a separate/extra “clean up” scenario:

  1. Get the actual XML. Then I use an Iterator + Text aggregator to make a list of all actual XML items. I use it like this:

  2. Then get a list of all items (block 3) in your DB. I use the Integromat Datastore, but this could be any database.

  3. Then search for items that are not in the XML anymore with a filter, and then delete those items in the database (block 7)

  4. Then get your website/CMS items. I added a “Sleep” with a delay of 2 seconds, to prevent hitting the “rate-limit” on Webflow (which usually is 60 or 120 on Pro tiered hosting).

  5. Then also check website CMS for the (same) items that are on website, but not in the XML anymore. (don’t pay attention my ‘wrong’ description in integromat file/screenshot)

  6. The I set these items to “draft” on Webflow + important: i leave “Live” to “Not defined”, to prevent problems for items that are on “staged” or “draft” or already archived.

  7. To make it fully automated, i added the publish website to the list to make sure changes take effect.

The above keeps the ‘removed items’ in Webflow as archived items. Can be useful.
You can also delete these items if you want, so both your database + website stay fully clean.

PS. I use 4 scenarios, which i’ve planned to execute every hour, with about 10 minutes between them.

  1. Get latest XML data and add it to the database.
  2. Put latest data (new and updated ones) into Webflow
  3. Auto archive items that have past their “show until date dd-mm-yyyy” (optional)
  4. Clean up datastore + website with items no longer in XML (the scenario described in this post)

Great work,

Thank you for your very detailed feedback! I will try to apply it on my project
it’s much clearer for me now. Thanks for taking the time to explain all the steps.
I’ve been thinking about the cost of operation which is quite expensive.

I discussed with a developer who told me that the most efficient solution (because the data I load are static data) is to reload all the data from the XML file into the Webflow items and that it will be seemlessly for the end user.

Maybe relevant:

For this project i was given the opportunity to build a custom sync service with our own server and the Webflow API. I must say we’re very glad we did this, since this has made our (synchro) lives even easier.

We’re building a tool/service that in it’s core is just an interface for a link between f.e. an external XML & Webflow API. It does what Integromat can, only smarter/leaner/faster and also with more solutions/fixes for errors.

So in short, we’ve moved the above integromat sync to our own new service (called WF Power Ups or WFPUPS) and got it up and running with a week or 2.

Benefits:

  • more accurate control over sync and what to do with what
  • easier to setup multi-ref items and add/link them to CMS items
  • add more custom rules when to sync/remove/archive what/where/when
  • interface to select which variables go where in Webflow
  • manual updating/refreshing of data and synchronization (+client login to do this)
  • live updating of items, also without re-publising entire site
  • much(!) easier transition to new Webflow project (in integromat you need to recouple/link every value on every node - WFPUPS only needs to reconnect globally once)
  • Just one sync that does all steps, before done in 4 separate Integromat automations.

Reasoning:

We often hit ‘warnings’ from Integromat, where some data was not in some expected format (since sometimes data was not there, or a little different, hard to work around in Integromat), and sometimes a service was not available - and 3 times this error, Integromat would disable. Next to many extra fixes/workarounds it still felt not 100% reliable - one wrong dataset or format can disrupt Integromat. Even though i get Integromat notifications, for certain sync-tasks i much more like actual fast assistance of a real person who often can make robust/durable changes/fixes.

So in short, if you really want the best link/setup and much more flexibility, then really consider a custom API setup.

ATM, we’re already building our third WFPUPS sync link and starting to receive new requests.
Our plan is to keep it small for now, and only do custom-tailored work.
But knowing it was done in roughly 1-2 weeks, any good programmer should be able to build live sync. Some Webflow quirks are there, but we learned them pretty fast, as most things work just as expected.

Still using Integromat for more ‘simpler’ tasks though, and still happy to work with that.
But for more complex sync, i can recommend using someone building a custom tool that utilizes the Webflow API, custom-tailored to your site/needs. It costs a couple of $100 more, but should be well worth it when done properly.