{
  "name": "Integrating AI with Open-Meteo API for enhanced weather forecasting",
  "nodes": [
    {
      "id": "80debfe0-c591-4ba1-aca1-068adac62aa9",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        100,
        -300
      ]
    },
    {
      "id": "ec375027-1c0d-438b-9fca-7bc4fbef2479",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        420,
        -60
      ]
    },
    {
      "id": "bd2f5967-8188-4b1f-9255-8008870aaf7b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -640
      ],
      "parameters": {
        "width": 500,
        "height": 720,
        "content": "## Integrating AI with Open-Meteo API for Enhanced Weather Forecasting\n\n## Use case\n\n### Workshop\n\nWe are using this workflow in our workshops to teach how to use Tools a.k.a functions with artificial"
      }
    },
    {
      "id": "3cfeea52-a310-4101-8377-0f393bf54c8d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -440
      ],
      "parameters": {
        "width": 340,
        "height": 220,
        "content": "## Create an Hosted Web Chat\n\n### And setup the trigger!\n\nExample: https://website/webhook/4a4..../chat"
      }
    },
    {
      "id": "55713ffc-da61-4594-99f4-ca6b448cbee2",
      "name": "Generic AI Tool Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        440,
        -300
      ]
    },
    {
      "id": "7f608ddc-87bb-4e54-84a8-4db6b7f95011",
      "name": "Chat Memory Buffer",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        200,
        -60
      ]
    },
    {
      "id": "77f82443-1efe-47d3-92ec-aa193853c8a5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        0
      ],
      "parameters": {
        "width": 260,
        "height": null,
        "content": "-\n\n\n## Setup OpenAI Key"
      }
    },
    {
      "id": "ed37ea94-3cff-47cb-bf45-bce620b0f056",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        60
      ],
      "parameters": {
        "width": 280,
        "height": 360,
        "content": "### Open Meteo SPEC - City Geolocation\n\nThis tool will go to the URL https://geocoding-api.open-meteo.com/v1/search to fetch the geolocation data of the city, and I only need to get the name of the ci"
      }
    },
    {
      "id": "f9b0e65d-a85e-4511-bdd2-adf54b1c039d",
      "name": "A tool to get the weather forecast based on geolocation",
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "position": [
        1100,
        -160
      ]
    },
    {
      "id": "76382491-dd75-4b51-a2d8-cb9782246af8",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1240,
        -220
      ],
      "parameters": {
        "width": 280,
        "height": 320,
        "content": "### Open Meteo SPEC - Weather Forecast\n\nThis tool will go to the Open Meteo site with the geolocation information at https://api.open-meteo.com/v1/forecast\n\nIt will pass the information on latitude, l"
      }
    },
    {
      "id": "1c8087ce-6800-4ece-8234-23914e21a692",
      "name": "A tool for inputting the city and obtaining geolocation",
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "position": [
        820,
        -100
      ]
    },
    {
      "id": "15ae7421-eff9-4677-b8cf-b7bbb5d2385e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        340
      ],
      "parameters": {
        "width": 840,
        "height": 80,
        "content": "## Within N8N, there will be a chat button to test, or you can use the external chat link from the trigger."
      }
    }
  ],
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generic AI Tool Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Chat Memory Buffer": {
      "ai_memory": [
        [
          {
            "node": "When chat message received",
            "type": "ai_memory",
            "index": 0
          },
          {
            "node": "Generic AI Tool Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Generic AI Tool Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "A tool for inputting the city and obtaining geolocation": {
      "ai_tool": [
        [
          {
            "node": "Generic AI Tool Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "A tool to get the weather forecast based on geolocation": {
      "ai_tool": [
        [
          {
            "node": "Generic AI Tool Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}