Workflow n8n

Automatisation Slack avec n8n : envoi de prévisions météo

Ce workflow n8n a pour objectif d'automatiser l'envoi de prévisions météo via Slack, permettant ainsi aux équipes de rester informées des conditions climatiques en temps réel. Dans un contexte professionnel où la météo peut influencer les décisions opérationnelles, ce type d'automatisation est particulièrement utile pour les entreprises qui dépendent des conditions extérieures, comme celles du secteur de la logistique ou de l'événementiel. Le workflow commence par un déclencheur de type Webhook, qui permet de recevoir des requêtes HTTP. Ensuite, il utilise le service OpenStreetMap pour obtenir des informations géographiques, suivi par des appels à l'API du National Weather Service (NWS) pour récupérer les prévisions météo. Les données sont ensuite formatées et envoyées sur un canal Slack spécifique grâce à un nœud Slack. Ce processus garantit que les équipes reçoivent des alertes précises et en temps opportun, améliorant ainsi la réactivité et la prise de décision. En intégrant cette automatisation n8n, les entreprises peuvent réduire le temps passé à rechercher des informations météo et minimiser les risques liés à des conditions climatiques imprévues, augmentant ainsi leur efficacité opérationnelle.

Tags clés :automatisationSlackmétéon8nAPI
Catégorie: Webhook · Tags: automatisation, Slack, météo, n8n, API0

Workflow n8n Slack, météo : vue d'ensemble

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

Workflow n8n Slack, météo : détail des nœuds

  • Webhook

    Ce noeud reçoit des requêtes HTTP via un webhook.

  • Slack

    Ce noeud envoie un message sur un canal Slack spécifié.

  • OpenStreetMap

    Ce noeud effectue une requête HTTP vers l'API OpenStreetMap.

  • NWS

    Ce noeud effectue une requête HTTP vers le service NWS.

  • NWS1

    Ce noeud effectue une autre requête HTTP vers le service NWS.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "B6UHILmjPWa7ViQ4",
  "meta": {
    "instanceId": "ecc960f484e18b0e09045fd93acf0d47f4cfff25cc212ea348a08ac3aae81850",
    "templateCredsSetupCompleted": true
  },
  "name": "Weather via Slack",
  "tags": [
    {
      "id": "2KlkHxhULPP42BS6",
      "name": "App 72",
      "createdAt": "2025-02-19T21:15:27.390Z",
      "updatedAt": "2025-02-19T21:15:27.390Z"
    },
    {
      "id": "aw8suPYTKfXDtMZl",
      "name": "Utility",
      "createdAt": "2025-02-10T14:41:49.045Z",
      "updatedAt": "2025-02-10T14:41:49.045Z"
    }
  ],
  "nodes": [
    {
      "id": "9aea370b-7eb9-4742-9663-6628513e4de3",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -340,
        -300
      ],
      "webhookId": "41a60a4f-66d0-433b-aa43-b225dffa6761",
      "parameters": {
        "path": "slack1",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "c982487f-076a-48e8-9a35-78e8fbfb8936",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        560,
        -300
      ],
      "webhookId": "4840f197-e116-4ef5-9372-0abd063e4aad",
      "parameters": {
        "text": "={{\n  JSON.parse($node[\"NWS1\"].json.data).properties.periods\n  .map(period => \n    `*${period.name}*\\n` +\n    `Temp: ${period.temperature}°${period.temperatureUnit}\\n` +\n    `Wind: ${period.windSpeed} ${period.windDirection}\\n` +\n    `Forecast: ${period.shortForecast}`\n  )\n  .join(\"\\n\\n\")\n}}\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0889718P8S",
          "cachedResultName": "n8n"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "GSiEiuKBz8GR5qiD",
          "name": "AlexK Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "7d42112a-0590-4a09-ba0e-dbdf1eddccf2",
      "name": "OpenStreetMap",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -100,
        -300
      ],
      "parameters": {
        "url": "https://nominatim.openstreetmap.org/search",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "q",
              "value": "={{ $('Webhook').item.json.body.text }}"
            },
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "alexk1919 (alex@alexk1919.com)"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "565a0123-9059-4e6e-be97-96e0875c1b84",
      "name": "NWS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        120,
        -300
      ],
      "parameters": {
        "url": "=https://api.weather.gov/points/{{ $json.body[0].lat }},{{ $json.body[0].lon }}",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "alexk1919 (alex@alexk1919.com)"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08",
      "name": "NWS1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        340,
        -300
      ],
      "parameters": {
        "url": "=https://api.weather.gov/gridpoints/{{$json[\"data\"] ? JSON.parse($json[\"data\"]).properties.gridId : \"\"}}\n/{{$json[\"data\"] ? JSON.parse($json[\"data\"]).properties.gridX : \"\"}}\n,{{$json[\"data\"] ? JSON.parse($json[\"data\"]).properties.gridY : \"\"}}\n/forecast",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "alexk1919 (alex@alexk1919.com)"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4244c90f-02e9-42fc-9873-3f8074f6ecf4",
  "connections": {
    "NWS": {
      "main": [
        [
          {
            "node": "NWS1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "NWS1": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack": {
      "main": [
        []
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "OpenStreetMap",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenStreetMap": {
      "main": [
        [
          {
            "node": "NWS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Slack, météo : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises de taille moyenne à grande, notamment celles qui opèrent dans des secteurs sensibles aux conditions météorologiques, comme la logistique, l'événementiel ou le bâtiment. Les équipes techniques ou les responsables opérationnels, ayant une connaissance de base des outils d'automatisation, trouveront ce flux particulièrement utile.

Workflow n8n Slack, météo : problème résolu

Ce workflow résout le problème de l'accès rapide et efficace aux informations météorologiques pour les équipes. En automatisant l'envoi de prévisions météo via Slack, il élimine le besoin de recherches manuelles et de vérifications fréquentes, ce qui peut entraîner des pertes de temps et des erreurs. Les utilisateurs bénéficient d'une communication instantanée et précise des conditions climatiques, ce qui leur permet de prendre des décisions éclairées et d'éviter des désagréments liés à des changements de temps inattendus.

Workflow n8n Slack, météo : étapes du workflow

Étape 1 : Le workflow est déclenché par un Webhook qui reçoit une requête HTTP.

  • Étape 1 : Les informations géographiques sont récupérées via le nœud OpenStreetMap.
  • Étape 2 : Un appel à l'API du National Weather Service (NWS) est effectué pour obtenir les prévisions météo.
  • Étape 3 : Un second appel à l'API NWS peut être effectué pour des données supplémentaires si nécessaire.
  • Étape 4 : Les prévisions météo sont formatées et envoyées sur un canal Slack spécifié, permettant ainsi aux équipes de recevoir des mises à jour en temps réel.

Workflow n8n Slack, météo : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL du Webhook pour l'adapter à votre système. Assurez-vous également de configurer correctement le canal Slack dans le nœud Slack pour diriger les messages vers le bon endroit. Les paramètres des requêtes HTTP dans les nœuds OpenStreetMap et NWS peuvent être ajustés pour cibler des localisations spécifiques ou pour changer le format des données reçues. Pensez à sécuriser le Webhook avec des authentifications appropriées et à surveiller les logs pour assurer le bon fonctionnement du flux.