Automatisch CMS items archiveren in Webflow met Make.com

Heb je ooit het probleem gehad dat verlopen evenementen, aanbiedingen of andere tijdelijke content nog steeds zichtbaar blijven op je Webflow website? In deze blog laat ik je zien hoe je dit volledig kunt automatiseren met Make.com (voorheen Integromat).

Geschreven door:

First Wongsrila
29/8/2025
Automatisch CMS items archiveren in Webflow met Make.com

Webflow heeft geen ingebouwde functionaliteit om automatisch CMS items te archiveren op basis van een vervaldatum. Dit betekent dat je handmatig door je collecties moet gaan om verlopen items te archiveren - een tijdrovend proces dat vaak wordt vergeten.

De oplossing: Make.com automation

Ik heb een automation gebouwd die:

  • Alle CMS items uit een collectie ophaalt
  • Controleert of items verlopen zijn (einddatum < vandaag)
  • Automatisch verlopen items archiveert
  • Werkt met Webflow Localization (meerdere talen)

Stap 1: CMS items ophalen

De eerste stap is het ophalen van alle live CMS items uit je Webflow collectie.

Webflow API Call configuratie:

Method: GET
URL: collections/{{YOUR_COLLECTION_ID}}/items/live
Headers: 
  Content-Type: application/json
Query String:
  cmsLocaleId: {{YOUR_LOCALE_ID}}

Belangrijke note voor Webflow Localization: De cmsLocaleId parameter is cruciaal als je Webflow Localization gebruikt. Zonder deze parameter werkt je automation alleen op de hoofdlocale. Meer hierover later in deze blog.

API Response: De API retourneert alle CMS items in een array format:

Stap 2: Door elk item itereren

Met de Iterator module kun je door elk individueel CMS item gaan om ze afzonderlijk te verwerken.

Flow Control configuratie:

Type: Iterator
Array: body: items[]

Stap 3: Filteren op verlopen items

Dit is waar de logica plaats vindt. We filteren alleen items die:

  1. Een einddatum hebben die eerder is dan vandaag
  2. Nog niet gearchiveerd zijn

Filter condities:

// Conditie 1: Datum controle
formatDate(fieldData: einddatum ; YYYY-MM-DD) Earlier than formatDate(now ; YYYY-MM-DD)

// EN // Conditie 2: Archive status controle  
isArchived Equal to false

Waarom deze formatting? Door beide datums in hetzelfde YYYY-MM-DD format te converteren, zorgen we ervoor dat de vergelijking altijd correct werkt, ongeacht de originele datum formatting in Webflow.

Stap 4: Items archiveren

Voor items die door de filter komen, voeren we een PATCH API call uit om ze te archiveren.

Webflow PATCH API configuratie:

Method: PATCH  
URL: collections/{{YOUR_COLLECTION_ID}}/items/{{id}}/live?skipInvalidFiles=true
Headers:
  Content-Type: application/json

{
  "isArchived": true,
  "fieldData": {},
  "cmsLocaleId": "{{YOUR_LOCALE_ID}}"
}

Waarom een lege fieldData? Door fieldData leeg te houden, wijzigen we alleen de archive status zonder andere velden aan te raken. Dit voorkomt onbedoelde wijzigingen aan je content.

Webflow Localization: De uitdaging

Hier wordt het interessant. Als je Webflow Localization gebruikt, werken de standaard Webflow modules in Make alleen op de hoofdlocale. Dit betekent dat items in andere talen niet automatisch worden gearchiveerd.

De oplossing: Dubbele flow met Router

Om dit op te lossen, gebruik ik een Router module die de flow splitst in meerdere routes - één voor elke locale.

Route 1 - Hoofdlocale:

// In GET API call
Query String: cmsLocaleId = "{{YOUR_LOCALE_ID}}"

// In PATCH API call  
Body: {
  "isArchived": true,
  "fieldData": {},
  "cmsLocaleId": "{{YOUR_LOCALE_ID}}"
}

Route 2 - Tweede locale:

// In GET API call
Query String: cmsLocaleId = "{{YOUR_SECOND_LOCALE_ID}}"

// In PATCH API call
Body: {
  "isArchived": true, 
  "fieldData": {},
  "cmsLocaleId": "{{YOUR_SECOND_LOCALE_ID}}"
}

Hoe vind je je Locale ID's?

Je kunt je locale ID's vinden door een API call te maken naar je Webflow site:

API Call om locales op te halen:

De response toont je alle beschikbare locales:

{
  "locales": {
    "primary": {
      "id": "686e63afec9cfa367eaa1fa1", 
      "cmsLocaleId": "686e63afec9cfa367eaa1fa2",
      "displayName": "NL"
    },
    "secondary": [
      {
        "id": "686e8cc3474b9171c378488f",
        "cmsLocaleId": "686e8cc3474b9171c3784892", 
        "displayName": "EN"
      }
    ]
  }
}

Belangrijk: Gebruik de cmsLocaleId waarde, niet de gewone id voor je CMS operations.

Automation scheduling

Ik heb de automation ingesteld om 1 keer per dag te draaien, midden in de nacht (bijvoorbeeld om 00:01). Dit zorgt ervoor dat:

  • De automation draait wanneer er weinig websiteverkeer is
  • Items worden gearchiveerd voordat bezoekers ze kunnen zien
  • Er geen impact is op de website performance overdag

Je kunt dit instellen met Make's Schedule trigger die dagelijks op een vast tijdstip draait.

Met deze Make.com automation kun je volledig automatisch verlopen CMS items archiveren in Webflow, ook wanneer je Webflow Localization gebruikt. De automation draait betrouwbaar en zorgt ervoor dat je website altijd actuele, relevante content toont.

Belangrijke punten om te onthouden:

  • Vervang {{YOUR_COLLECTION_ID}} door je eigen Webflow collectie ID
  • Vervang {{YOUR_LOCALE_ID}} door je eigen locale ID's
  • In de PATCH URL gebruik je {{id}} om het specifieke item ID uit de iterator te halen
  • Test altijd eerst met een paar items voordat je de automation volledig implementeert

Geschreven door:

First Wongsrila

First Wongsrila

first@weareboring.nl