AutomationFlowsWeb Scraping › Atarys - Template Extraction De Données

Atarys - Template Extraction De Données

ATARYS - Template Extraction de Données. Uses httpRequest. Manual trigger; 8 nodes.

Manual trigger★★★☆☆ complexity8 nodesHTTP Request
Web Scraping Trigger: Manual Nodes: 8 Complexity: ★★★☆☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "ATARYS - Template Extraction de Donn\u00e9es",
  "nodes": [
    {
      "parameters": {
        "notice": "\ud83c\udfaf WORKFLOW TEMPLATE ATARYS\n\nCe workflow montre le format de sortie standard pour l'int\u00e9gration avec l'API ATARYS V2.\n\n\ud83d\udccb MODULES SUPPORT\u00c9S :\n- Module 5 : Articles ATARYS (devis/facturation)\n- Module 3 : Chantiers\n- Module 9 : Salari\u00e9s\n\n\ud83d\udd27 FORMAT DE SORTIE :\nJSON compatible avec les endpoints ATARYS existants\n\n\ud83d\udcca STRUCTURE DONN\u00c9ES :\n- Respect du BaseModel pattern\n- Numeric(10,2) pour les montants financiers\n- Validation selon DATABASE_SCHEMA.md"
      },
      "id": "notice-template",
      "name": "\ud83d\udccb Notice Template ATARYS",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        240,
        140
      ]
    },
    {
      "parameters": {
        "mode": "chooseBranch",
        "branches": [
          {
            "name": "Module 5 - Articles ATARYS"
          },
          {
            "name": "Module 3 - Chantiers"
          },
          {
            "name": "Module 9 - Salari\u00e9s"
          }
        ]
      },
      "id": "switch-module",
      "name": "\ud83c\udfd7\ufe0f Switch Module ATARYS",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3,
      "position": [
        460,
        300
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "workflow_info",
              "name": "workflow_info",
              "value": {
                "source_file": "{{ $json.filename || 'devis_exemple.xlsx' }}",
                "extraction_date": "{{ $now.toISOString() }}",
                "workflow_name": "extraction_articles_atarys",
                "module_atarys": 5,
                "table_target": "articles_atarys"
              },
              "type": "object"
            },
            {
              "id": "data",
              "name": "data",
              "value": [
                {
                  "reference": "ARD-001",
                  "libelle": "Ardoise de couverture 32x22cm",
                  "prix_achat": "1.25",
                  "coefficient": "2.5",
                  "prix_unitaire": "3.13",
                  "unite": "unit\u00e9",
                  "tva_pct": "20.00",
                  "famille": "COUVERTURE",
                  "actif": true,
                  "date_import": "{{ $now.format('yyyy-MM-dd') }}",
                  "date_maj": "{{ $now.format('yyyy-MM-dd') }}"
                },
                {
                  "reference": "ZIN-002",
                  "libelle": "Zinc pour goutti\u00e8re",
                  "prix_achat": "8.50",
                  "coefficient": "1.8",
                  "prix_unitaire": "15.30",
                  "unite": "ml",
                  "tva_pct": "20.00",
                  "famille": "ZINGUERIE",
                  "actif": true,
                  "date_import": "{{ $now.format('yyyy-MM-dd') }}",
                  "date_maj": "{{ $now.format('yyyy-MM-dd') }}"
                }
              ],
              "type": "array"
            },
            {
              "id": "validation",
              "name": "validation",
              "value": {
                "total_records": 2,
                "valid_records": 2,
                "errors": [],
                "api_endpoint": "/api/articles-atarys/bulk-import",
                "format_version": "2.0"
              },
              "type": "object"
            }
          ]
        },
        "options": {}
      },
      "id": "format-module5",
      "name": "\ud83d\udcca Format Module 5 - Articles",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        680,
        200
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "workflow_info",
              "name": "workflow_info",
              "value": {
                "source_file": "{{ $json.filename || 'chantiers_2025.xlsx' }}",
                "extraction_date": "{{ $now.toISOString() }}",
                "workflow_name": "extraction_chantiers",
                "module_atarys": 3,
                "table_target": "chantiers"
              },
              "type": "object"
            },
            {
              "id": "data",
              "name": "data",
              "value": [
                {
                  "numero_chantier": "2025-001",
                  "nom_chantier": "R\u00e9novation Maison Dupont",
                  "client_nom": "M. Dupont",
                  "client_email": "dupont@email.com",
                  "adresse_chantier": "123 Rue de la Paix, 35000 Rennes",
                  "date_debut": "2025-02-01",
                  "date_fin_prevue": "2025-03-15",
                  "montant_ht": "25000.00",
                  "montant_ttc": "30000.00",
                  "statut": "EN_COURS",
                  "type_travaux": "RENOVATION_TOITURE",
                  "surface_m2": "120.50",
                  "notes": "Chantier prioritaire - Client VIP"
                }
              ],
              "type": "array"
            },
            {
              "id": "validation",
              "name": "validation",
              "value": {
                "total_records": 1,
                "valid_records": 1,
                "errors": [],
                "api_endpoint": "/api/chantiers/bulk-import",
                "format_version": "2.0"
              },
              "type": "object"
            }
          ]
        }
      },
      "id": "format-module3",
      "name": "\ud83c\udfd7\ufe0f Format Module 3 - Chantiers",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        680,
        340
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "workflow_info",
              "name": "workflow_info",
              "value": {
                "source_file": "{{ $json.filename || 'salaries_2025.xlsx' }}",
                "extraction_date": "{{ $now.toISOString() }}",
                "workflow_name": "extraction_salaries",
                "module_atarys": 9,
                "table_target": "salaries"
              },
              "type": "object"
            },
            {
              "id": "data",
              "name": "data",
              "value": [
                {
                  "nom": "Martin",
                  "prenom": "Pierre",
                  "salaire_brut_horaire": "18.50",
                  "nbre_heure_hebdo": "35.00",
                  "type_contrat": "CDI",
                  "date_entree": "2024-01-15",
                  "niveau_qualification_id": 2,
                  "colonne_planning": "Pierre M.",
                  "email": "pierre.martin@atarys.fr",
                  "num_telephone": "06.12.34.56.78",
                  "adresse": "45 Avenue de la R\u00e9publique",
                  "ville_id": 150,
                  "date_naissance": "1985-03-20",
                  "num_securite_social": "1850320123456",
                  "ondrive_path": "./OneDrive/Administration/Volet social/0-Dossier salari\u00e9/Martin_Pierre"
                }
              ],
              "type": "array"
            },
            {
              "id": "validation",
              "name": "validation",
              "value": {
                "total_records": 1,
                "valid_records": 1,
                "errors": [],
                "api_endpoint": "/api/salaries/bulk-import",
                "format_version": "2.0"
              },
              "type": "object"
            }
          ]
        }
      },
      "id": "format-module9",
      "name": "\ud83d\udc65 Format Module 9 - Salari\u00e9s",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        680,
        480
      ]
    },
    {
      "parameters": {
        "notice": "\ud83c\udfaf FORMAT DE SORTIE ATARYS\n\n\ud83d\udccb STRUCTURE OBLIGATOIRE :\n{\n  \"workflow_info\": {\n    \"source_file\": \"nom_fichier.xlsx\",\n    \"extraction_date\": \"ISO_DATE\",\n    \"module_atarys\": 1-13,\n    \"table_target\": \"nom_table\"\n  },\n  \"data\": [array_of_records],\n  \"validation\": {\n    \"total_records\": number,\n    \"valid_records\": number,\n    \"errors\": [],\n    \"api_endpoint\": \"/api/module/bulk-import\"\n  }\n}\n\n\ud83d\udcb0 MONTANTS FINANCIERS :\n- Format: \"1234.56\" (string)\n- Conversion: Numeric(10,2) c\u00f4t\u00e9 API\n- Validation: 2 d\u00e9cimales max\n\n\ud83d\udcc5 DATES :\n- Format: \"YYYY-MM-DD\"\n- Validation: ISO 8601\n\n\u2705 VALIDATION :\n- Champs obligatoires selon BaseModel\n- Types respect\u00e9s selon DATABASE_SCHEMA.md"
      },
      "id": "notice-format",
      "name": "\ud83d\udcca Notice Format de Sortie",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        900,
        300
      ]
    },
    {
      "parameters": {
        "url": "http://localhost:5000{{ $json.validation.api_endpoint }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "X-Source",
              "value": "n8n-workflow"
            }
          ]
        },
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "workflow_info",
              "value": "={{ $json.workflow_info }}"
            },
            {
              "name": "data",
              "value": "={{ $json.data }}"
            },
            {
              "name": "validation",
              "value": "={{ $json.validation }}"
            }
          ]
        },
        "options": {}
      },
      "id": "api-atarys",
      "name": "\ud83d\ude80 POST vers API ATARYS",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1120,
        300
      ]
    },
    {
      "parameters": {
        "notice": "\ud83d\udd27 PR\u00c9REQUIS ATARYS :\n\n\u2705 Tables existantes (op\u00e9rationnelles) :\n- articles_atarys (176 lignes)\n- villes (donn\u00e9es compl\u00e8tes)\n- niveau_qualification\n\n\u26a0\ufe0f Tables \u00e0 cr\u00e9er (si besoin) :\n- chantiers\n- salaries (existe partiellement)\n\n\ud83d\udccb Endpoints API n\u00e9cessaires :\n- POST /api/articles-atarys/bulk-import\n- POST /api/chantiers/bulk-import  \n- POST /api/salaries/bulk-import\n\n\ud83d\uddc4\ufe0f Base de donn\u00e9es :\n- SQLite : data/atarys_data.db\n- BaseModel pattern obligatoire\n- Numeric(10,2) pour montants\n\n\ud83d\ude80 Pour tester :\n1. Lancer backend ATARYS (port 5000)\n2. Importer ce workflow dans n8n\n3. Adapter les endpoints selon tables existantes\n4. Tester avec donn\u00e9es r\u00e9elles"
      },
      "id": "notice-prerequis",
      "name": "\u2699\ufe0f Pr\u00e9requis & Installation",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        240,
        500
      ]
    }
  ],
  "connections": {
    "switch-module": {
      "main": [
        [
          {
            "node": "format-module5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "format-module3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "format-module9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "format-module5": {
      "main": [
        [
          {
            "node": "api-atarys",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "format-module3": {
      "main": [
        [
          {
            "node": "api-atarys",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "format-module9": {
      "main": [
        [
          {
            "node": "api-atarys",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "template-atarys-v2",
  "meta": {
    "templateCreatedBy": "ATARYS Team",
    "description": "Template de workflow n8n pour l'extraction de donn\u00e9es vers l'API ATARYS V2. Montre le format de sortie standard pour les modules 3, 5, et 9.",
    "version": "2.0"
  },
  "id": "template-extraction-atarys",
  "tags": [
    {
      "createdAt": "2025-01-25T10:00:00.000Z",
      "updatedAt": "2025-01-25T10:00:00.000Z",
      "id": "atarys",
      "name": "ATARYS"
    },
    {
      "createdAt": "2025-01-25T10:00:00.000Z",
      "updatedAt": "2025-01-25T10:00:00.000Z",
      "id": "extraction",
      "name": "Data Extraction"
    }
  ]
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

ATARYS - Template Extraction de Données. Uses httpRequest. Manual trigger; 8 nodes.

Source: https://github.com/ATARYS-CONSTRUCTION/APP_ATARYS_V2/blob/bdc6aaa301bc93aa997957f848987854253485c5/n8n-workflows/template-extraction-atarys.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

FTS. Uses httpRequest, itemLists, functionItem, start. Manual trigger; 16 nodes.

HTTP Request, Item Lists, Function Item +1
Web Scraping

This is an enterprise-grade solution designed for complex finance departments. It automates the entire accounts payable lifecycle by combining secure document handling, intelligent vendor mapping, 3-w

Gmail, Google Sheets, Google Drive +4
Web Scraping

CBPF. Uses start, httpRequest, itemLists. Manual trigger; 13 nodes.

Start, HTTP Request, Item Lists
Web Scraping

Claude Prompt Pre-Processor (Pro V2). Uses start, httpRequest, returnJson. Manual trigger; 10 nodes.

Start, HTTP Request, Return Json
Web Scraping

DeepSeek Prompt Pre-Processor (Pro V2). Uses start, httpRequest, returnJson. Manual trigger; 10 nodes.

Start, HTTP Request, Return Json