Feria de antigüedades y accesorios (exposición)

Avanzado

Este es unOtherflujo de automatización del dominio deautomatización que contiene 20 nodos.Utiliza principalmente nodos como If, Set, Html, Filter, SplitOut. 📍 Envía recordatorios diarios de mercados de pulgas cercanos a través de Telegram

Requisitos previos
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino

Categoría

Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "xR7g6JLAHXJScFEG",
  "meta": {
    "instanceId": "89af474e60c70a1e45bf242e266e9ca1446dd974ab86f6d185b8ccded3effed2",
    "templateCredsSetupCompleted": true
  },
  "name": "Garage Sales Around  (Showcase)",
  "tags": [
    {
      "id": "NabIyPgRf7ZggE5B",
      "name": "Showcase",
      "createdAt": "2025-06-03T15:41:30.076Z",
      "updatedAt": "2025-06-03T15:41:30.076Z"
    }
  ],
  "nodes": [
    {
      "id": "edb6065a-738e-41c8-9719-0ae928f8cace",
      "name": "Al hacer clic en 'Probar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1200,
        -1005
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6ee2fbb2-3f5b-496d-97a3-74c9a33c5166",
      "name": "Obtener Brocabrac",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -540,
        -880
      ],
      "parameters": {
        "url": "={{ $json.URL }}",
        "options": {},
        "responseFormat": "string"
      },
      "typeVersion": 1
    },
    {
      "id": "1e824e88-b943-4b58-80c2-3761a821bd64",
      "name": "Dividir salida",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        340,
        -880
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "ev"
      },
      "typeVersion": 1
    },
    {
      "id": "c11bbebc-cae5-4f55-a65c-3eaa943c117f",
      "name": "Iterar sobre elementos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        560,
        -880
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "42a7ed20-b88c-4ae7-8299-e753a4311982",
      "name": "Todos los días a las 7 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1200,
        -800
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "30 7 * * *"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cabda7f6-6c14-4bbc-863f-403e129c1517",
      "name": "Obtener ubicación",
      "type": "n8n-nodes-base.homeAssistant",
      "position": [
        -980,
        -880
      ],
      "parameters": {
        "entityId": "Your_Smartphone_location_sensor",
        "resource": "state"
      },
      "credentials": {
        "homeAssistantApi": {
          "id": "VurjB0xfUjis4pXd",
          "name": "Home Assistant account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3098fb12-99a0-4bf8-9cbc-a782c1b62663",
      "name": "Establecer URL para analizar",
      "type": "n8n-nodes-base.set",
      "position": [
        -760,
        -880
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "54a5f609-4267-4367-bbbb-2c692730b536",
              "name": "URL",
              "type": "string",
              "value": "=https://brocabrac.fr/{{ $json.attributes.postal_code.slice(0,2) }}/{{ $json.attributes.locality }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "de23ed8b-d907-4bbb-ac22-08378c48e457",
      "name": "Extraer fecha y bloques",
      "type": "n8n-nodes-base.html",
      "position": [
        -320,
        -880
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "Date",
              "attribute": "data-date",
              "cssSelector": "div.block.ev-list > div:nth-child(1) > div.section-title",
              "returnValue": "attribute"
            },
            {
              "key": "HTMLBlock",
              "cssSelector": "div.block.ev-list > div",
              "returnValue": "html"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "44b70afd-e751-4817-b853-187e290db2b4",
      "name": "Obtener clasificación y distancia",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        -880
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f5d111d1-3790-41c9-a395-69f1f327ef09",
              "name": "Distance",
              "type": "number",
              "value": "={{ $json.Distance.slice(0,-3) }}"
            },
            {
              "id": "6f72f72c-3a16-4a1a-87d9-13fdff32b25d",
              "name": "Rank",
              "type": "string",
              "value": "={{ $json.Rank.replaceAll('•','x') }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "e3da6c6a-0a45-4cb7-abd7-f4fc49555a06",
      "name": "Filtrar por cercanía y eventos grandes",
      "type": "n8n-nodes-base.filter",
      "position": [
        800,
        -1660
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "143b57f3-23e9-4675-b667-4a08e74db9c1",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.Rank }}",
              "rightValue": ""
            },
            {
              "id": "3cfb49b7-5e8b-4783-af0b-b0b9f658b14c",
              "operator": {
                "type": "number",
                "operation": "lte"
              },
              "leftValue": "={{ $json.Distance }}",
              "rightValue": 20
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "76ed047f-ddc9-4fff-b8f6-1c2b36f06be1",
      "name": "¿Hay alguno hoy?",
      "type": "n8n-nodes-base.if",
      "position": [
        -100,
        -880
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "03b76adc-e818-44cc-9a99-12d03a33b099",
              "operator": {
                "type": "dateTime",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Date.toDateTime() }}",
              "rightValue": "={{ $today.plus({days}) }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7c9021a5-6907-4956-9b86-c8d6a960fff5",
      "name": "Extraer eventos de mercadillos",
      "type": "n8n-nodes-base.html",
      "position": [
        120,
        -880
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "dataPropertyName": "HTMLBlock",
        "extractionValues": {
          "values": [
            {
              "key": "ev",
              "cssSelector": "div.ev",
              "returnArray": true,
              "returnValue": "html"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ba984d37-184f-4a8d-b2aa-b06f78222292",
      "name": "Obtener información de cada mercadillo",
      "type": "n8n-nodes-base.html",
      "position": [
        780,
        -880
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "dataPropertyName": "ev",
        "extractionValues": {
          "values": [
            {
              "key": "City",
              "cssSelector": "span.city"
            },
            {
              "key": "Distance",
              "cssSelector": "span.dist"
            },
            {
              "key": "Rank",
              "cssSelector": "span.dots"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a790ab8e-746b-46ba-bcb3-a611662636df",
      "name": "Enviar alerta",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1500,
        -1660
      ],
      "webhookId": "42c6d21a-ea60-4b37-8822-46a41ef9bdf1",
      "parameters": {
        "text": "={{ $json.message }}",
        "chatId": "Your_Chat_ID",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "ANiBkg3Tng36ZRwP",
          "name": "Telegram account (n8n)"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c05d53df-98f2-4f29-8b69-e3652e9443f6",
      "name": "Dar formato a la respuesta",
      "type": "n8n-nodes-base.set",
      "position": [
        1020,
        -1660
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3516d92b-fda3-4441-a059-639db5bd29cf",
              "name": "Brocante",
              "type": "string",
              "value": "={{ $json.City }} ({{ $json.Rank }} à {{ $json.Distance }} km)"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ec425780-841b-451d-8160-b66890828fd4",
      "name": "Configurar el mensaje",
      "type": "n8n-nodes-base.set",
      "position": [
        1240,
        -1660
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "22ff618b-d768-46bf-83b6-64c60ed1407b",
              "name": "message",
              "type": "string",
              "value": "=📦🏡 Voici les brocantes : - {{ $json.Brocante }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ea4f3e9d-291e-4557-b242-eea7dac2dd5c",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -1320
      ],
      "parameters": {
        "width": 640,
        "height": 660,
        "content": "## 1️⃣ Fetch & Parse Garage Sale Data\n### What happens:\n- An HTTP request retrieves the HTML content of the Brocabrac page for the current location.\n- The workflow extracts two pieces of data:\n  - Date (the day events are listed for)\n  - HTMLBlock (the full block of garage sales info)\n- It checks if any events are scheduled for today.\n- If yes, it extracts all div.ev entries representing individual garage sales.\n\n### Purpose:\nConverts a static webpage into structured data, ready for processing."
      },
      "typeVersion": 1
    },
    {
      "id": "6692692d-c5f7-427f-a95b-ebe00042bb91",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -1320
      ],
      "parameters": {
        "width": 1400,
        "height": 660,
        "content": "## 2️⃣ Process, Filter & Extract Relevant Events\nWhat happens:\n- Splits the list of garage sale entries and loops over each.\n- From each block, it extracts:\n  - City\n  - Distance\n  - Rank (event importance indicator using dots)\n- Cleans up the data (e.g., removes \"km\" from distance, replaces \"•\" in rank).\n- Filters events based on two criteria:\n  - Distance ≤ 20 km\n  - Rank must be present (indicating notable size or popularity)\n\nPurpose:\nFilters out irrelevant or too-distant events to surface only the best nearby options."
      },
      "typeVersion": 1
    },
    {
      "id": "33aa481c-f216-4fee-aa0f-01fdd0db92ae",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        -2040
      ],
      "parameters": {
        "width": 1020,
        "height": 620,
        "content": "## 3️⃣ Format & Send Notifications via Telegram\n### What happens:\n- The remaining filtered events are formatted into a clean string like:\n  ```\n  City (Rank à Distance km)\n  ```\n- These are combined into a single message like:\n  ```\n  📦🏡 Voici les brocantes : - City1 (...) - City2 (...)\n  ```\n- The final message is sent to the user via Telegram.\n\n### Purpose:\nDelivers timely, relevant alerts about today’s garage sales in a user-friendly way."
      },
      "typeVersion": 1
    },
    {
      "id": "05b97c78-ece0-4b20-8d4a-9814aaabaf4c",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -1320
      ],
      "parameters": {
        "width": 520,
        "height": 660,
        "content": "## 0️⃣ Daily Trigger & Geolocation Setup\n### What happens:\n- The workflow is triggered either manually or automatically every day at 7 AM (Schedule Trigger node).\n- It fetches the current location of a mobile phone using a Home Assistant sensor.\n- It then builds a dynamic URL based on the user’s geolocation (postal code and locality) to query Brocabrac.fr for local garage sales.\n\n### Purpose:\nEnsures the data being fetched is location-aware and always relevant to the user's current position."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "ab2abd4b-1f04-4e48-bd2f-79ff028962c4",
  "connections": {
    "1e824e88-b943-4b58-80c2-3761a821bd64": {
      "main": [
        [
          {
            "node": "c11bbebc-cae5-4f55-a65c-3eaa943c117f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "76ed047f-ddc9-4fff-b8f6-1c2b36f06be1": {
      "main": [
        [
          {
            "node": "7c9021a5-6907-4956-9b86-c8d6a960fff5",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "cabda7f6-6c14-4bbc-863f-403e129c1517": {
      "main": [
        [
          {
            "node": "3098fb12-99a0-4bf8-9cbc-a782c1b62663",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ee2fbb2-3f5b-496d-97a3-74c9a33c5166": {
      "main": [
        [
          {
            "node": "de23ed8b-d907-4bbb-ac22-08378c48e457",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c11bbebc-cae5-4f55-a65c-3eaa943c117f": {
      "main": [
        [
          {
            "node": "e3da6c6a-0a45-4cb7-abd7-f4fc49555a06",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "ba984d37-184f-4a8d-b2aa-b06f78222292",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec425780-841b-451d-8160-b66890828fd4": {
      "main": [
        [
          {
            "node": "a790ab8e-746b-46ba-bcb3-a611662636df",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3098fb12-99a0-4bf8-9cbc-a782c1b62663": {
      "main": [
        [
          {
            "node": "6ee2fbb2-3f5b-496d-97a3-74c9a33c5166",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "42a7ed20-b88c-4ae7-8299-e753a4311982": {
      "main": [
        [
          {
            "node": "cabda7f6-6c14-4bbc-863f-403e129c1517",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c05d53df-98f2-4f29-8b69-e3652e9443f6": {
      "main": [
        [
          {
            "node": "ec425780-841b-451d-8160-b66890828fd4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "44b70afd-e751-4817-b853-187e290db2b4": {
      "main": [
        [
          {
            "node": "c11bbebc-cae5-4f55-a65c-3eaa943c117f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de23ed8b-d907-4bbb-ac22-08378c48e457": {
      "main": [
        [
          {
            "node": "76ed047f-ddc9-4fff-b8f6-1c2b36f06be1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba984d37-184f-4a8d-b2aa-b06f78222292": {
      "main": [
        [
          {
            "node": "44b70afd-e751-4817-b853-187e290db2b4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7c9021a5-6907-4956-9b86-c8d6a960fff5": {
      "main": [
        [
          {
            "node": "1e824e88-b943-4b58-80c2-3761a821bd64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e3da6c6a-0a45-4cb7-abd7-f4fc49555a06": {
      "main": [
        [
          {
            "node": "c05d53df-98f2-4f29-8b69-e3652e9443f6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "edb6065a-738e-41c8-9719-0ae928f8cace": {
      "main": [
        [
          {
            "node": "cabda7f6-6c14-4bbc-863f-403e129c1517",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Otros

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos20
Categoría1
Tipos de nodos12
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Thibaud

Thibaud

@tderouze

Automation consultant with over 10 years experience helping Sales & Marketing teams to streamline their processes.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34