AIエージェント - 短縮URLジェネレーター

上級

これはMiscellaneous, AI Chatbot分野の自動化ワークフローで、18個のノードを含みます。主にSet, Code, Html, Webhook, DataTableなどのノードを使用。 GPT-4.1 およびデータストアによる短縮 URL の生成と管理

前提条件
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "WmHtnpnkARE1wVqs",
  "meta": {
    "instanceId": "a0e41110bf9f611e96e18e0663d80d746aeedc58368940bfe471a8d577a5069b",
    "templateCredsSetupCompleted": true
  },
  "name": "AI Agent - Short Link Generator",
  "tags": [],
  "nodes": [
    {
      "id": "6c7043d8-e091-4e50-a661-f1047576c565",
      "name": "行の挿入",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        -16,
        -144
      ],
      "parameters": {
        "columns": {
          "value": {
            "orginalLink": "={{ $('GenerateShortLink').item.json.originalLink }}",
            "shortlinkId": "={{ $json.shortLinkId }}"
          },
          "schema": [
            {
              "id": "orginalLink",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "orginalLink",
              "defaultMatch": false
            },
            {
              "id": "shortlinkId",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "shortlinkId",
              "defaultMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "dataTableId": {
          "__rl": true,
          "mode": "list",
          "value": "MzE4aKh7Wsv4N0Cv",
          "cachedResultUrl": "/projects/pjq2PmuJxpMOPZST/datatables/MzE4aKh7Wsv4N0Cv",
          "cachedResultName": "ShortLink"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "310ecc62-f469-42d8-bb15-8795e0aef955",
      "name": "短縮リンクID生成",
      "type": "n8n-nodes-base.code",
      "position": [
        -240,
        -144
      ],
      "parameters": {
        "jsCode": "\nvar length = 4;\n const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n  let result = '';\n  for (let i = 0; i < length; i++) {\n    const randomIndex = Math.floor(Math.random() * chars.length);\n    result += chars[randomIndex];\n  }\n\n  return [{ shortLinkId: result }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1a615458-ea3c-4336-b9fd-602844b36f5d",
      "name": "行の取得",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        -464,
        80
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "keyName": "shortlinkId",
              "keyValue": "={{ $json.query.a }}"
            }
          ]
        },
        "operation": "get",
        "dataTableId": {
          "__rl": true,
          "mode": "list",
          "value": "MzE4aKh7Wsv4N0Cv",
          "cachedResultUrl": "/projects/pjq2PmuJxpMOPZST/datatables/MzE4aKh7Wsv4N0Cv",
          "cachedResultName": "ShortLink"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2c2ace57-bb37-43b5-a606-122e38928bb2",
      "name": "チャットメッセージ受信時",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -688,
        -576
      ],
      "webhookId": "a282c57a-a0b2-43d9-9fe5-fdd3b61ad585",
      "parameters": {
        "public": true,
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -352,
        -576
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a helpful assistant.\n"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c10cdd53-ddaa-4701-922c-5788c3f41759",
      "name": "OpenAIチャットモデル",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -480,
        -368
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "2TBvwobWbbHlIjKT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8d9e3709-0fb7-4fbc-9c1d-f3f74878e6bc",
      "name": "シンプルメモリ",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -256,
        -368
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "1e495a59-c48b-4887-a9c1-19c53072a591",
      "name": "短縮リンク生成",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -688,
        -144
      ],
      "parameters": {
        "inputSource": "jsonExample",
        "jsonExample": "\n{\n\"originalLink\": \n\"https://www.nghiaai.dev/\"\n}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "4e019563-fc6f-4ec7-b79e-1817cd35e411",
      "name": "設定",
      "type": "n8n-nodes-base.set",
      "position": [
        -464,
        -144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5c7030c4-c308-4e95-a78d-c32d8a252df4",
              "name": "your_webhook_url",
              "type": "string",
              "value": "http://localhost:5678"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "290c7c96-1cc9-432a-806e-6f2b04fe92a5",
      "name": "短縮リンク生成",
      "type": "n8n-nodes-base.code",
      "position": [
        208,
        -144
      ],
      "parameters": {
        "jsCode": "var your_webhook_url = $('Config').first().json.your_webhook_url;\nvar shortLinkId = $('Generate shorlinkId').first().json.shortLinkId\nvar shortLink = your_webhook_url + \"/webhook/shortLink?a=\" + shortLinkId;\nreturn [{ shortLink: shortLink }];"
      },
      "typeVersion": 2
    },
    {
      "id": "1a2213c2-c423-49a0-a2b1-939109d30391",
      "name": "'短縮リンク作成'呼び出し",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        -48,
        -368
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "WmHtnpnkARE1wVqs",
          "cachedResultUrl": "/workflow/WmHtnpnkARE1wVqs",
          "cachedResultName": "Create Short Link"
        },
        "description": "Call this tool to get short link",
        "workflowInputs": {
          "value": {
            "originalLink": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('originalLink', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "originalLink",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "originalLink",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "host",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "host",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92",
      "name": "ページリダイレクト",
      "type": "n8n-nodes-base.html",
      "position": [
        -240,
        80
      ],
      "parameters": {
        "html": "<!doctype html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\" />\n  <title>Redirecting…</title>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n  <!-- Optional: meta refresh as a no-JS fallback -->\n  <meta http-equiv=\"refresh\" content=\"0; url={{ $json.orginalLink }}\" />\n  <script>\n    // Use replace() so it doesn't create an extra history entry\n    location.replace({{ $json.orginalLink }});\n  </script>\n  <style>\n    body {font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; display:grid; place-content:center; min-height:100vh;}\n    a {text-decoration: none;}\n  </style>\n</head>\n<body>\n  <p>Redirecting… If nothing happens, <a href=\"{{ $json.orginalLink }}\">click here</a>.</p>\n</body>\n</html>\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "d6732527-8565-4d7d-8bf5-77f02eba0462",
      "name": "応答",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -16,
        80
      ],
      "parameters": {
        "options": {},
        "respondWith": "text",
        "responseBody": "={{ $json.html }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "866a4e41-ff4f-4eda-8be8-0e584285318b",
      "name": "短縮リンクAPI",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -688,
        80
      ],
      "webhookId": "b280e565-5037-4752-ba2c-547e4b52531c",
      "parameters": {
        "path": "shortLink",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "ad474ea3-02bb-4770-88b0-8bba2c5ad859",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -656
      ],
      "parameters": {
        "width": 336,
        "height": 896,
        "content": "## Setup Guide\n1. Add your_webhook_url to the 'Config' Node.\n2. Set up OpenAI account\n3. Create a database table named ShortLink with the following columns:\n- originalLink\n- shortLinkId\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4903952a-5da7-4bee-b945-550c0a636b7e",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -656
      ],
      "parameters": {
        "color": 4,
        "width": 1168,
        "height": 448,
        "content": "## Agent "
      },
      "typeVersion": 1
    },
    {
      "id": "05b8c558-4503-45a9-8c5d-52809d60f0d6",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -208
      ],
      "parameters": {
        "color": 5,
        "width": 1168,
        "height": 224,
        "content": "## Create Short Link"
      },
      "typeVersion": 1
    },
    {
      "id": "5ba8e271-d542-42e9-8cab-fac08171c120",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        16
      ],
      "parameters": {
        "color": 3,
        "width": 1168,
        "height": 224,
        "content": "## Process Short Link Requests\n"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "be460863-5692-4397-a9d3-c94e69d2c6b3",
  "connections": {
    "4e019563-fc6f-4ec7-b79e-1817cd35e411": {
      "main": [
        [
          {
            "node": "310ecc62-f469-42d8-bb15-8795e0aef955",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1a615458-ea3c-4336-b9fd-602844b36f5d": {
      "main": [
        [
          {
            "node": "49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c7043d8-e091-4e50-a661-f1047576c565": {
      "main": [
        [
          {
            "node": "290c7c96-1cc9-432a-806e-6f2b04fe92a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92": {
      "main": [
        [
          {
            "node": "d6732527-8565-4d7d-8bf5-77f02eba0462",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "866a4e41-ff4f-4eda-8be8-0e584285318b": {
      "main": [
        [
          {
            "node": "1a615458-ea3c-4336-b9fd-602844b36f5d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8d9e3709-0fb7-4fbc-9c1d-f3f74878e6bc": {
      "ai_memory": [
        [
          {
            "node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "290c7c96-1cc9-432a-806e-6f2b04fe92a5": {
      "main": [
        [
          {
            "node": "4e019563-fc6f-4ec7-b79e-1817cd35e411",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c10cdd53-ddaa-4701-922c-5788c3f41759": {
      "ai_languageModel": [
        [
          {
            "node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "310ecc62-f469-42d8-bb15-8795e0aef955": {
      "main": [
        [
          {
            "node": "6c7043d8-e091-4e50-a661-f1047576c565",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1a2213c2-c423-49a0-a2b1-939109d30391": {
      "ai_tool": [
        [
          {
            "node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2c2ace57-bb37-43b5-a606-122e38928bb2": {
      "main": [
        [
          {
            "node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - その他, AIチャットボット

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数18
カテゴリー2
ノードタイプ13
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者
Nghia Nguyen

Nghia Nguyen

@nghiaaidev

I am Nguyen Trung Nghia, a Software Engineer passionate about AI Automation. I build intelligent automation systems that help businesses reduce costs, increase productivity, and scale faster with the power of AI technology.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34