{
  "id": "ZhfmOgJPvGSVYbW6",
  "meta": {
    "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": "Fetch Sleeper NFL Players",
      "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": "Convert Players Object to Array",
      "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": "Filter Active Fantasy Players",
      "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": "Sticky Note",
      "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": "Sticky Note1",
      "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": "Sticky Note2",
      "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": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        192,
        384
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a963e97b-746f-4319-ade1-66aec84ddd93",
      "name": "Create or update a record",
      "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,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "943e1390-ee18-4212-a1f9-b578045882a7",
  "connections": {
    "Fetch Sleeper NFL Players": {
      "main": [
        [
          {
            "node": "Convert Players Object to Array",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Active Fantasy Players": {
      "main": [
        [
          {
            "node": "Create or update a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Players Object to Array": {
      "main": [
        [
          {
            "node": "Filter Active Fantasy Players",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Fetch Sleeper NFL Players",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}