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.

1 Like

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.

Hey, I am designing a website for a local theater and I need to integrate the ticket service API to webflow to simplify information update in the website.

Can you help me with that?

I, or my colleague might.
We have implemented our own API twice now.

We want to build it into a easier applicable service, since we are doing webhosting for over 15 years and have a reliable backbone for it, but we don’t have our WFPUPS ready for that yet.

If you really want to dive into this you can PM me and share some details/info on what you want and what you have.

Hello @icexuick,

I have the same problem in my project and am looking for a developer to solve such a scenario.

I get an XML file from a supplier (they provide me the ftp access). I want to access that XML files, check it for any updates and put all the acutal data in a collection on Webflow.

Are you or your team able to help me out?

Thank you!
Victoria

Yes, I think i can.
Quick Answer = Make.com
If you need help, just send me a message.

If you are working on the site, wont it publish while you are working on half finished pages?

@johan.van.wambeke Make, Zapier, Automate.io, n8n are all automation tools that let you connect your Webflow site to other external systems. Perfect for piping in XML, processing emails, automating order fulfillment, whatever.

That automation happens through the API, e.g. between your CMS and other data services. It won’t affect your development process in the designer at all, and you can turn that automations on or off at any time. Think of them as small programs that move data around to make your system work.

Well, yes that seems to be the case, though i haven’t specifically tested this.

What I did discover, is that you can’t have a test version published to your username.webflow.io website, and not have the main domain updated. This would result in discrepancies and failed to update items on your site - so you can’t have a V2 version/build of your site + database in the making - the webflow.io + main domain/live site need to be in sync. At least, this is with the “Make” way of doing this, where you have an action to “publish site” active, and it publishes the entire site after the update.

This is somewhat game-breaking, or at least can be for sites with heavy development going on.
It could very well be sorted now, if you can direct-publish a change in a CMS item for only that item and also, per item. From within Webflow, it is possible to publish a CMS change directly, which only published this item, and not the entire site.

And what is the scenario for posting new and updated data from XML?

Hi Martijn. Do you still offer the XLM to cms services
kind reagers, Jesse

In case Martijn’s busy, I offer this as well.