Tokens de renovación para Facebook e Instagram
Intermedio
Este es unautomatización que contiene 13 nodos.Utiliza principalmente nodos como If, Set, DataTable, HttpRequest, ManualTrigger. Renovación automatizada de tokens de Meta usando Graph API y almacenamiento de datos
Requisitos previos
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (13)
Categoría
-
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
"id": "QRfOs6S3QrhslSFD",
"meta": {
"instanceId": "8e9162e70be518ca153a70a16d8785f5bfc6523821e135712fb7ef93fe97a5dd"
},
"name": "Facebook & Instagram Renovation Token",
"tags": [],
"nodes": [
{
"id": "56b6e307-f5e0-405e-9e1e-eb8e2d49b518",
"name": "Disparador programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-304,
-80
],
"parameters": {
"rule": {
"interval": [
{
"daysInterval": 10,
"triggerAtHour": 21
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3a4de69d-c1d8-4e83-b3bb-25e6ff1c3cd3",
"name": "Sin operación, no hacer nada",
"type": "n8n-nodes-base.noOp",
"position": [
400,
160
],
"parameters": {},
"typeVersion": 1
},
{
"id": "ed641ba7-01ec-4baa-bf2e-5cac217a7709",
"name": "Obtener fecha de expiración del token",
"type": "n8n-nodes-base.dataTable",
"position": [
-32,
0
],
"parameters": {
"limit": 1,
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "TcHt9QIGMyCs1qIB",
"cachedResultUrl": "/projects/XqoBcIeUrbWmIJt8/datatables/TcHt9QIGMyCs1qIB",
"cachedResultName": "Meta credential"
}
},
"typeVersion": 1
},
{
"id": "ebfac905-851e-42db-b4d4-5c2a67987b46",
"name": "¿Requiere renovación?",
"type": "n8n-nodes-base.if",
"position": [
176,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e62d1e04-38f2-454f-9301-6b6b896a9e5a",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ new Date($json.expires_at) <= new Date(Date.now() + 15*24*60*60*1000) }}",
"rightValue": "={{ 10 }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "1da184df-364e-4c52-844a-f368480ad132",
"name": "Transferir ID y Token",
"type": "n8n-nodes-base.set",
"position": [
400,
-16
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1d09ed8a-2288-42db-b355-63e9b0354cbb",
"name": "record_id",
"type": "number",
"value": "={{ $json.id }}"
},
{
"id": "25975e2f-4375-41d4-b9cb-97ac0cec134b",
"name": "current_token",
"type": "string",
"value": "={{ $json.token }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "42726ba6-dbab-4cdc-893e-92c299c0fe96",
"name": "Intercambio de usuario",
"type": "n8n-nodes-base.httpRequest",
"position": [
672,
-16
],
"parameters": {
"url": "https://graph.facebook.com/v20.0/oauth/access_token",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "grant_type",
"value": "fb_exchange_token"
},
{
"name": "client_id"
},
{
"name": "client_secret"
},
{
"name": "fb_exchange_token",
"value": "={{$json.current_token}}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "2e570311-fc11-408c-956a-f66a246aa5e1",
"name": "Calcular nueva expiración",
"type": "n8n-nodes-base.set",
"position": [
960,
-16
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6be317cc-adac-45eb-a36d-0440c0fbac1c",
"name": "token",
"type": "string",
"value": "={{ $json.access_token }}"
},
{
"id": "5d6562df-c638-4245-b967-c02e2617fab5",
"name": "expired_at",
"type": "string",
"value": "={{ new Date(Date.now() + ($json.expires_in)*1000).toISOString() }}"
},
{
"id": "3268497e-4040-4486-bde1-b65caf5141df",
"name": "record_id",
"type": "string",
"value": "={{ $node[\"Carry ID & Token\"].json.record_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "97cbffa5-4305-42da-bafe-26a5f06df25a",
"name": "Actualizar registro",
"type": "n8n-nodes-base.dataTable",
"position": [
1168,
-16
],
"parameters": {
"columns": {
"value": {
"token": "={{$json.token}}",
"expires_at": "={{$json.expired_at}}"
},
"schema": [
{
"id": "token",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "token",
"defaultMatch": false
},
{
"id": "expires_at",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "expires_at",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyValue": "={{$json.record_id}}"
}
]
},
"operation": "update",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "TcHt9QIGMyCs1qIB",
"cachedResultUrl": "/projects/XqoBcIeUrbWmIJt8/datatables/TcHt9QIGMyCs1qIB",
"cachedResultName": "Meta credencial"
}
},
"typeVersion": 1
},
{
"id": "e477c855-2431-4507-a8bb-8f108ab5a973",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
-240
],
"parameters": {
"width": 288,
"height": 480,
"content": "* Right now the cron runs every 10 days to avoid consuming too much n8n credits. Feel free to change it. If you change it change also the logic in the \"Needs renewal?\" node.\n* For now Facebook gives token with 60 days expiration "
},
"typeVersion": 1
},
{
"id": "9e8f62b4-187d-43eb-a40b-baa555c01eb6",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
-240
],
"parameters": {
"color": 4,
"width": 256,
"height": 480,
"content": "## Data tables\n* This workflow is using the new Data tables feature\n* Create a DataTable called \"Meta credential\" with the following fields:\n** Token - your Access Token (string)\n** expires_at - expiration date of your token (datetime)"
},
"typeVersion": 1
},
{
"id": "6afeba73-f1f4-436d-a3a4-811cc6d841de",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
-256
],
"parameters": {
"color": 5,
"width": 272,
"height": 496,
"content": "## Generate new tokens\n* If tokens has less than 15 days before expiring it generates a new one \n* In this node you need to update the following fields: \n** client_id: this is your AppID you got when creating your credential \n** client_secret: this is your AppSecret"
},
"typeVersion": 1
},
{
"id": "fef64b9c-a077-4278-9187-db0743ca7692",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
912,
-256
],
"parameters": {
"color": 2,
"width": 448,
"height": 496,
"content": "## Setting new expiration date and updating data table \n* It format the date from unix to datetime \n* It updates the row in the Data table"
},
"typeVersion": 1
},
{
"id": "2e41d7ee-aae9-4083-bdd0-4252fc764dd9",
"name": "Al hacer clic en \"Ejecutar flujo\"",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-304,
80
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "7be243a3-0f7d-4039-990a-613e2a856002",
"connections": {
"42726ba6-dbab-4cdc-893e-92c299c0fe96": {
"main": [
[
{
"node": "2e570311-fc11-408c-956a-f66a246aa5e1",
"type": "main",
"index": 0
}
]
]
},
"ebfac905-851e-42db-b4d4-5c2a67987b46": {
"main": [
[
{
"node": "1da184df-364e-4c52-844a-f368480ad132",
"type": "main",
"index": 0
}
],
[
{
"node": "3a4de69d-c1d8-4e83-b3bb-25e6ff1c3cd3",
"type": "main",
"index": 0
}
]
]
},
"1da184df-364e-4c52-844a-f368480ad132": {
"main": [
[
{
"node": "42726ba6-dbab-4cdc-893e-92c299c0fe96",
"type": "main",
"index": 0
}
]
]
},
"56b6e307-f5e0-405e-9e1e-eb8e2d49b518": {
"main": [
[
{
"node": "ed641ba7-01ec-4baa-bf2e-5cac217a7709",
"type": "main",
"index": 0
}
]
]
},
"2e570311-fc11-408c-956a-f66a246aa5e1": {
"main": [
[
{
"node": "97cbffa5-4305-42da-bafe-26a5f06df25a",
"type": "main",
"index": 0
}
]
]
},
"ed641ba7-01ec-4baa-bf2e-5cac217a7709": {
"main": [
[
{
"node": "ebfac905-851e-42db-b4d4-5c2a67987b46",
"type": "main",
"index": 0
}
]
]
},
"2e41d7ee-aae9-4083-bdd0-4252fc764dd9": {
"main": [
[
{
"node": "ed641ba7-01ec-4baa-bf2e-5cac217a7709",
"type": "main",
"index": 0
}
]
]
}
}
}Preguntas frecuentes
¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Enlaces internos del blog de Shopify
Usar text-embedding-3-small de OpenAI para generar automáticamente artículos de blog relacionados para Shopify
If
Set
Code
+
If
Set
Code
26 NodosGeoffroy
Creación de contenido
Automatización de blogs de Shopify: Artículos optimizados para SEO/AEO basados en listas de palabras clave
Usar GPT-4 y Google Sheets para generar artículos de blogs de Shopify optimizados para SEO/AEO
If
Set
Code
+
If
Set
Code
32 NodosGeoffroy
Creación de contenido
Bloque de resumen de artículos de WordPress generado por IA
Bloque de resumen generado por IA para artículos de WordPress
If
Set
Slack
+
If
Set
Slack
32 NodosDataki
Inteligencia Artificial
Reintentar ejecución cada hora
Motor de reintentos automáticos: flujo de trabajo de recuperación de errores
If
N8n
Set
+
If
N8n
Set
14 NodosFrancis Njenga
Otros
Desarrollo de leads y flujos de correo electrónico
Usar Google Maps, SendGrid e IA para automatizar el desarrollo de leads B2B y el marketing por correo electrónico
If
Set
Code
+
If
Set
Code
141 NodosEzema Kingsley Chibuzo
Generación de leads
Lector de RSS sin duplicados
Monitoreo automatizado de RSS con resumen y deduplicación por Gemini AI a Google Sheets
If
Set
Html
+
If
Set
Html
23 NodosRoman Rozenberger
Investigación de mercado
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos13
Categoría-
Tipos de nodos8
Descripción de la dificultad
Autor
Enlaces externos
Ver en n8n.io →
Compartir este flujo de trabajo