SleeperのNFL選手同期

中級

これはEngineering分野の自動化ワークフローで、8個のノードを含みます。主にAirtable, Function, HttpRequest, ManualTriggerなどのノードを使用。 毎日 Sleeper API から NFL 選手データを Airtable へ同期し、ディープスリープ用に使用

前提条件
  • Airtable API Key
  • ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "ZhfmOgJPvGSVYbW6",
  "meta": {
    "instanceId": "a809fd627b2613fd5f594e594dc09461e003791f4f2685c28c38bd6e7412da94",
    "templateCredsSetupCompleted": true
  },
  "name": "Sleeper NFL Players Sync",
  "tags": [
    {
      "id": "WmTFiLJ95HFPXqRi",
      "name": "Sleeper App",
      "createdAt": "2025-07-17T22:48:15.153Z",
      "updatedAt": "2025-07-17T22:48:15.153Z"
    },
    {
      "id": "cAqEn4DEnwzPtps3",
      "name": "NFL",
      "createdAt": "2025-07-17T22:48:26.719Z",
      "updatedAt": "2025-07-17T22:48:26.719Z"
    },
    {
      "id": "hjgJG0lktWIfajF6",
      "name": "Sports Analytics",
      "createdAt": "2025-07-17T22:49:59.440Z",
      "updatedAt": "2025-07-17T22:49:59.440Z"
    },
    {
      "id": "k8b9jCXWemqmcw96",
      "name": "Fantasy Football",
      "createdAt": "2025-07-17T22:48:36.489Z",
      "updatedAt": "2025-07-17T22:48:36.489Z"
    }
  ],
  "nodes": [
    {
      "id": "0580f014-506f-458d-bbbc-0ac9717a379b",
      "name": "Sleeper NFL選手を取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        384
      ],
      "parameters": {
        "url": "https://api.sleeper.app/v1/players/nfl",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "6c24acb9-97de-44c4-a906-b7b68b366777",
      "name": "選手オブジェクトを配列に変換",
      "type": "n8n-nodes-base.function",
      "position": [
        656,
        384
      ],
      "parameters": {
        "functionCode": "const output = [];for (const [key, value] of Object.entries(items[0].json)) {  output.push({ json: value });}return output;"
      },
      "typeVersion": 1
    },
    {
      "id": "12a20f2f-18f0-4757-9454-0850afe7bfd8",
      "name": "アクティブなファンタジー選手をフィルター",
      "type": "n8n-nodes-base.function",
      "position": [
        880,
        384
      ],
      "parameters": {
        "functionCode": "return items.filter(item => {  const pos = item.json.position;  const name = item.json.full_name;  const team = item.json.team;  return name && team && ['QB','RB','WR','TE'].includes(pos);});"
      },
      "typeVersion": 1
    },
    {
      "id": "5100e689-8ecb-46e0-a2b0-96e9c320737e",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 364,
        "content": "## Sleeper NFL Players Daily Sync\n\nIn order to run multiple Sleeper APIs you need to scrape & create a database of current players. Trying to HTTP the API will cause the request to time out do to the size of the file This workflow will help set you up for more Sleeper workflows for your fantasy leagues by syncing aactive players to a table vs calling on them from Sleeper everytime. \n\nSleeper has players table of every player that ever played but in order to utilize the information for your roster, it needs to be filtered for active players. From there Player_ID fields can give you access to roster information.\n\nAll you'll need is an Airtable (can be used with Supabase,  Google Sheet etc) and the API call. From there, its is converted & filtered for all active NFL players & will update as player activity changes."
      },
      "typeVersion": 1
    },
    {
      "id": "0bf4ef61-74b8-47ab-9f18-6ef070bd8681",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -48
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 400,
        "content": "Be sure to setup your Access Token to Airtable. That way you can pick which Base & Table to map it to.\n\nThe current format is Active Players by Position & Team but can also be enhanced & used for other sports leagues. Check the Sleeper website for more API documentations\n\n Be sure you know how to create credentials in n8n & give access token in Airtable Builder Hub. You'll want to give this token the following scopes:\n\n* data.records:read\n\n* data.records:write\n\n* schema.bases:read  \n\nAlso be sure to use the Player_ID as the key when you go to map your fields."
      },
      "typeVersion": 1
    },
    {
      "id": "7ef0fab5-0d99-4cb4-ba72-45fa6e6d1e8c",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        80
      ],
      "parameters": {
        "height": 272,
        "content": "The Filter Active Fantasy Players node is going to pull all active NFL players to your table with the following outputs:\n\n* player_id\n\n* full_name\n\n* position\n\n* team"
      },
      "typeVersion": 1
    },
    {
      "id": "a8b8de6c-395d-4d7b-b6bc-2b9012e4432d",
      "name": "'Execute workflow'クリック時",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        192,
        384
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a963e97b-746f-4319-ade1-66aec84ddd93",
      "name": "レコードを作成または更新",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1088,
        384
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "upsert"
      },
      "typeVersion": 2.1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "943e1390-ee18-4212-a1f9-b578045882a7",
  "connections": {
    "0580f014-506f-458d-bbbc-0ac9717a379b": {
      "main": [
        [
          {
            "node": "6c24acb9-97de-44c4-a906-b7b68b366777",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "12a20f2f-18f0-4757-9454-0850afe7bfd8": {
      "main": [
        [
          {
            "node": "a963e97b-746f-4319-ade1-66aec84ddd93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c24acb9-97de-44c4-a906-b7b68b366777": {
      "main": [
        [
          {
            "node": "12a20f2f-18f0-4757-9454-0850afe7bfd8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a8b8de6c-395d-4d7b-b6bc-2b9012e4432d": {
      "main": [
        [
          {
            "node": "0580f014-506f-458d-bbbc-0ac9717a379b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - エンジニアリング

有料ですか?

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

ワークフロー情報
難易度
中級
ノード数8
カテゴリー1
ノードタイプ5
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Patrick Jennings

Patrick Jennings

@patjennings916

Accountant/CPA guy that's nice with a little no-code. Serving up templates in all kinds of fields for the n8n community.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34