{
  "meta": {
    "templateId": "2535"
  },
  "nodes": [
    {
      "id": "11a68266-f7ec-4c56-9327-c4fd0e4478f6",
      "name": "Set Parameter",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b1f6b8a1-dc25-4b1e-9aa3-0c0e452ae2de",
              "name": " client_id",
              "type": "string",
              "value": "651431600883439"
            },
            {
              "id": "9a63879a-c359-49ad-9fec-19c9e4c78dd6",
              "name": " client_secret",
              "type": "string",
              "value": "8be00a2b58c01c0d8ca3a7c0e9855396"
            },
            {
              "id": "6971a841-ed5e-4d96-bdab-1eaec2d51ccc",
              "name": "user_access_token",
              "type": "string",
              "value": "=EAAJQeT0qhu8BPmFJqHqKGzLwJpnaPegdRxkjucArXp5ZCwo6CgFWOhl8C4JR1BtZBCWeBhZB4aJPWOvRsC6TBYaQLE88wdboeslVxfxIfySHsXT8WWGFgUKeMkDfXzfnXme4yvZBWFDUzVsVXAM95J3o1rVJc30faaX5dgWfIAcHg0IeEpmkUjK1xSZBQw0tpxicBrAGZAGDGXdlOV"
            },
            {
              "id": "c75d5e50-62ea-4ee0-bfaa-5f79cf4d147e",
              "name": "app_scoped_user_id",
              "type": "string",
              "value": "2098981707228804"
            },
            {
              "id": "75516211-496a-46bf-82ad-2352f7080512",
              "name": "long_user_access_token",
              "type": "string",
              "value": "={{ $json.body.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c844cc76-6a73-4e4c-b5af-dd3b0c391a66",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        352,
        880
      ],
      "parameters": {
        "include": "allOtherFields",
        "options": {
          "includeBinary": false
        },
        "fieldToSplitOut": "body.data"
      },
      "typeVersion": 1
    },
    {
      "id": "5bbff2d4-0b0e-4194-97f7-c1a4c09c7c77",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        544,
        880
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "fead0c79-b7a9-4da8-adc8-c68ea86041af",
              "name": "access_token",
              "type": "string",
              "value": "={{ $json['body.data'].access_token }}"
            },
            {
              "id": "98467cc1-4960-4291-a685-b7dd04f24211",
              "name": "name",
              "type": "string",
              "value": "={{ $json['body.data'].name }}"
            },
            {
              "id": "6b7b8c21-ef78-40ba-86df-0a7f46057bca",
              "name": "id",
              "type": "string",
              "value": "={{ $json['body.data'].id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "fa84d8ed-511e-42b7-a954-a35bb5b70dd8",
      "name": "Upsert row(s)",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        736,
        880
      ],
      "parameters": {
        "columns": {
          "value": {
            "token": "={{ $json.access_token }}",
            "id_page": "={{ $json.id }}",
            "name_page": "={{ $json.name }}"
          },
          "schema": [
            {
              "id": "name_page",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "name_page",
              "defaultMatch": false
            },
            {
              "id": "id_page",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "id_page",
              "defaultMatch": false
            },
            {
              "id": "token",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "token",
              "defaultMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "filters": {
          "conditions": [
            {
              "keyName": "id_page",
              "keyValue": "={{ $json.id }}"
            }
          ]
        },
        "matchType": "allConditions",
        "operation": "upsert",
        "dataTableId": {
          "__rl": true,
          "mode": "list",
          "value": "tmKVoWFoXqgiVHtI",
          "cachedResultUrl": "/projects/ZsXeoU4uGUhTbvTf/datatables/tmKVoWFoXqgiVHtI",
          "cachedResultName": "n8n"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "76b1d58f-41d6-4088-99e1-da2a3663116e",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        272,
        240
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "months",
              "monthsInterval": 2
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "831a32d7-ea1a-4d5b-bd2e-e9e715e6d7a1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        176
      ],
      "parameters": {
        "color": 6,
        "width": 1072,
        "height": 288,
        "content": "## Step 1\n**Get  client_id,  client_secret** [here](https://developers.facebook.com/apps)\n\n**Get  user_access_token** [here](https://developers.facebook.com/tools/explorer/)\n\n**Get  app_scoped_user_idn** [here](https://developers.facebook.com/tools/debug/accesstoken/)"
      },
      "typeVersion": 1
    },
    {
      "id": "cfbc57a3-bfb2-4237-b7b0-88d339362931",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        512
      ],
      "parameters": {
        "color": 3,
        "width": 1072,
        "height": 288,
        "content": "## Step 2 \n**Get long lived facebook page token**"
      },
      "typeVersion": 1
    },
    {
      "id": "dddf5f0d-2cab-4b75-8cc4-ecbcd5e3cbcc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        848
      ],
      "parameters": {
        "width": 1072,
        "height": 288,
        "content": "## Step 3 \n**Now the Facebook Page token has \n\nbeen renewed and will be stored in \n\nthe data tables. This information \n\nwill also be updated whenever you \n\nrun this workflow.**"
      },
      "typeVersion": 1
    },
    {
      "id": "9f3d0b85-8c02-4d78-9da8-f9ce98b189b2",
      "name": "Get long lived facebook user token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        304,
        560
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/oauth/access_token",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "grant_type",
              "value": "fb_exchange_token"
            },
            {
              "name": "client_id",
              "value": "={{ $json[' client_id'] }}"
            },
            {
              "name": "client_secret",
              "value": "={{ $json[' client_secret'] }}"
            },
            {
              "name": "fb_exchange_token",
              "value": "={{ $json.user_access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "84e16f5c-6be3-4639-9d34-18cc057725e6",
      "name": "Get list facebook page",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        512,
        560
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/me/accounts",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "={{ $json.body.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4e898760-43cd-4d4f-a76c-555175fb2a27",
      "name": "Get long lived facebook page token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        720,
        560
      ],
      "parameters": {
        "url": "=https://graph.facebook.com/v23.0/{{ $('Set Parameter').item.json.app_scoped_user_id }}/accounts",
        "method": "=GET",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": " access_token",
              "value": "={{ $('Get long lived facebook user token').item.json.body.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4716bf4a-0d1b-4cc5-bf24-a54f4861c538",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        176
      ],
      "parameters": {
        "width": 544,
        "height": 976,
        "content": "# \ud83d\ude80 **About the Creator**: \n## This workflow is crafted by [**\u0110\u1ed7 Th\u00e0nh Nguy\u00ean**](https://hub.dothanhnguyen.com), \n### an automation architect and creator behind [**hub.dothanhnguyen.com**](https://hub.dothanhnguyen.com) \u2014 a space dedicated to smart workflows, content automation, and no-code productivity systems.\n\n## \ud83d\udca1 Passionate about connecting ideas with execution, Nguy\u00ean builds practical automations that bridge **Airtable, Telegram, n8n, and AI tools** into seamless ecosystems.\n\n# \ud83e\udde9 Deploy your own n8n instance via [**Tino.vn VPS**](https://tino.vn/vps-n8n?affid=388) \u2014 around **$65/year**, use code **VPSN8N** for up to **39% off** *(affiliate link)*.\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Split Out": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Upsert row(s)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Parameter": {
      "main": [
        [
          {
            "node": "Get long lived facebook user token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert row(s)": {
      "main": [
        []
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set Parameter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get list facebook page": {
      "main": [
        [
          {
            "node": "Get long lived facebook page token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get long lived facebook page token": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get long lived facebook user token": {
      "main": [
        [
          {
            "node": "Get list facebook page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}