Workflow n8n

Automatisation Google Sheets avec n8n : récupération de blogs Squarespace

Ce workflow n8n a pour objectif d'automatiser la récupération des articles de blog et des événements depuis Squarespace vers Google Sheets. Dans un contexte où les entreprises cherchent à centraliser leurs données pour une meilleure gestion, ce workflow s'avère particulièrement utile pour les équipes marketing et de contenu qui souhaitent suivre et analyser leurs publications. En intégrant ces informations dans Google Sheets, les utilisateurs peuvent facilement les manipuler et les partager au sein de leur organisation. Le processus commence par un déclencheur programmé, qui active le workflow à intervalles réguliers. Ensuite, une requête HTTP est effectuée pour récupérer les données du blog Squarespace. Les articles récupérés sont ensuite traités un par un grâce à un nœud d'itération, permettant de gérer chaque élément de la collection. Les données sont ensuite envoyées vers une feuille de calcul Google Sheets, où elles sont organisées selon les colonnes définies. Ce système d'automatisation n8n permet non seulement de gagner du temps, mais aussi d'éliminer les erreurs humaines liées à la saisie manuelle des données. En fin de compte, les utilisateurs bénéficient d'une solution efficace pour maintenir leurs informations à jour et accessibles, ce qui améliore la prise de décision et la stratégie de contenu. Tags clés : Google Sheets, Squarespace, automatisation.

Catégorie: Scheduled · Tags: Google Sheets, Squarespace, automatisation, workflow, data management0

Vue d'ensemble du workflow n8n

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Détail des nœuds du workflow n8n

  • Schedule Trigger

    Ce noeud déclenche le workflow selon une règle de planification définie.

  • When clicking ‘Test workflow’

    Ce noeud permet de déclencher manuellement le workflow en cliquant sur le bouton 'Test workflow'.

  • Fetch Squarespace blog

    Ce noeud effectue une requête HTTP pour récupérer les articles d'un blog Squarespace.

  • Sticky Note

    Ce noeud crée une note autocollante avec le contenu spécifié.

  • Iterate the collection items

    Ce noeud permet d'itérer sur les éléments d'une collection en les séparant selon un champ défini.

  • Squarespace collection Spreadsheet

    Ce noeud interagit avec Google Sheets pour gérer une feuille de calcul spécifique en fonction des paramètres fournis.

  • Sticky Note1

    Ce noeud crée une autre note autocollante avec un contenu différent.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "sUGieRWulZJ7scll",
  "meta": {
    "instanceId": "e634e668fe1fc93a75c4f2a7fc0dad807ca318b79654157eadb9578496acbc76"
  },
  "name": "Fetch Squarespace Blog & Event Collections to Google Sheets  ",
  "tags": [
    {
      "id": "oIxDbURnjwrJFwau",
      "name": "Squarespace",
      "createdAt": "2025-03-06T05:49:51.612Z",
      "updatedAt": "2025-03-06T05:49:51.612Z"
    }
  ],
  "nodes": [
    {
      "id": "43bb2c50-a9a9-4647-a470-612ad502283f",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -240,
        420
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "410fa5ad-a8b8-4cde-b9a9-1d16db0880c9",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -240,
        180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "fa58fb9d-9292-4f25-8326-fad6e59a5513",
      "name": "Fetch Squarespace blog",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        300
      ],
      "parameters": {
        "url": "https://beyondspace.studio/blog",
        "options": {
          "pagination": {
            "pagination": {
              "parameters": {
                "parameters": [
                  {
                    "name": "offset",
                    "value": "={{ $response.body.pagination.nextPageOffset }}"
                  },
                  {
                    "name": "format",
                    "value": "json"
                  }
                ]
              },
              "requestInterval": 200,
              "completeExpression": "={{ $response.body.pagination.nextPage !== true }}",
              "paginationCompleteWhen": "other"
            }
          }
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            },
            {
              "name": "offset"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "4b558c29-3bea-4d5e-b88f-0433a81f4698",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        100
      ],
      "parameters": {
        "content": "## Change this node\nEdit the HTTP Request URL to your Squarespace blog URL\n\neg: https://beyondspace.studio/blog\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1886c997-6ba2-42be-8ea0-9047a4cae2e7",
      "name": "Iterate the collection items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        260,
        300
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "items"
      },
      "typeVersion": 1
    },
    {
      "id": "9382f7b6-e113-4e4c-ba04-e7cbd119b164",
      "name": "Squarespace collection Spreadsheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        520,
        300
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $json.id }}",
            "tags": "={{ $json.tags.join(\", \") }}",
            "title": "={{ $json.title }}",
            "urlId": "={{ $json. urlId }}",
            "addedOn": "={{ new Date($json.addedOn).toISOString().split(\"T\")[0] }}",
            "fullUrl": "={{ $json.fullUrl }}",
            "assetUrl": "={{ $json.fullUrl }}",
            "publishOn": "={{ new Date($json.publishOn).toISOString().split(\"T\")[0] }}",
            "categories": "={{ $json.categories.join(\", \") }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "addedOn",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "addedOn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tags",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "tags",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "categories",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "categories",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "publishOn",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "publishOn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "urlId",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "urlId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "body",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "body",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "fullUrl",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "fullUrl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "assetUrl",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "assetUrl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM/edit#gid=0",
          "cachedResultName": "Beyondspace blog"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM/edit?usp=drivesdk",
          "cachedResultName": "Make.com template"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "JgI9maibw5DnBXRP",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "87081016-9daa-4985-afb8-eb1f259b23a0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        100
      ],
      "parameters": {
        "content": "## Spreadsheet template\nClone this spreadsheet as reference\nhttps://docs.google.com/spreadsheets/d/1HGc7o4mqMY1t9fXT6LBhmZixjJYr0eapSUosXMA9v8E/edit?gid=0#gid=0"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1a05b7b8-22fb-4f49-a079-583a26401a61",
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Fetch Squarespace blog",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Squarespace blog": {
      "main": [
        [
          {
            "node": "Iterate the collection items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Iterate the collection items": {
      "main": [
        [
          {
            "node": "Squarespace collection Spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Fetch Squarespace blog",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse principalement aux équipes marketing, aux gestionnaires de contenu et aux entreprises qui utilisent Squarespace pour leur blog. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, souhaitant automatiser la gestion de leurs données sans nécessiter de compétences en développement avancées.

Problème résolu

Ce workflow résout le problème de la collecte manuelle des données de blog et d'événements depuis Squarespace, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs gagnent un temps précieux, réduisent les risques d'erreurs humaines et assurent une mise à jour régulière de leurs informations. Le résultat est une feuille de calcul Google Sheets toujours à jour, facilitant l'analyse et le partage des données au sein de l'équipe.

Étapes du workflow

Étape 1 : Le workflow est déclenché selon un calendrier défini. Étape 2 : Une requête HTTP est effectuée pour récupérer les articles de blog depuis Squarespace. Étape 3 : Les articles récupérés sont ensuite traités un par un grâce à un nœud d'itération. Étape 4 : Chaque article est envoyé vers Google Sheets, où il est organisé dans les colonnes spécifiées. Étape 5 : Des notes adhésives sont créées pour garder une trace des opérations effectuées.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, commencez par ajuster le déclencheur programmé selon vos besoins en matière de fréquence. Modifiez l'URL de la requête HTTP pour pointer vers votre propre blog Squarespace. Dans le nœud Google Sheets, vous pouvez changer le nom de la feuille et les colonnes pour correspondre à votre structure de données. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des nœuds supplémentaires pour enrichir les données ou les envoyer vers d'autres plateformes. Assurez-vous également de sécuriser vos clés API et d'utiliser des méthodes de monitoring pour suivre l'exécution du workflow.