3
Copiar JSON Completo del Flujo de Trabajo
Copia el JSON completo a continuación e impórtalo en tu instancia de n8n:
Este flujo de trabajo está diseñado para generar 18 publicaciones diarias (9 de productos + 9 de categorías) distribuidas en Facebook e Instagram.
{
'name': 'Automatización Diaria de Redes Sociales WooCommerce',
'nodes': [
{
'name': 'Disparador Diario',
'type': 'n8n-nodes-base.scheduleTrigger',
'position': [250, 300],
'parameters': {
'rule': { 'interval': [{ 'field': 'days', 'minutesInterval': 1440 }] }
}
},
{
'name': 'Configuración WooCommerce',
'type': 'n8n-nodes-base.woocommerce',
'position': [450, 300],
'parameters': {
'authentication': 'genericCredentialType',
'url': '={{$credentials.woocommerce.url}}',
'consumerKey': '={{$credentials.woocommerce.consumerKey}}',
'consumerSecret': '={{$credentials.woocommerce.consumerSecret}}'
}
},
{
'name': 'Obtener 3 Productos Aleatorios',
'type': 'n8n-nodes-base.woocommerce',
'position': [650, 200],
'parameters': {
'resource': 'product',
'operation': 'getAll',
'limit': 100,
'additionalFields': {
'orderby': 'rand',
'status': 'publish'
}
}
},
{
'name': 'Obtener 3 Categorías Aleatorias',
'type': 'n8n-nodes-base.woocommerce',
'position': [650, 400],
'parameters': {
'resource': 'category',
'operation': 'getAll',
'limit': 100,
'additionalFields': {
'orderby': 'rand',
'hide_empty': true
}
}
},
{
'name': 'Generar Publicaciones de Productos',
'type': 'n8n-nodes-base.code',
'position': [850, 200],
'parameters': {
'language': 'javaScript',
'code': 'const product = items[0].json;
const posts = [
{
platform: 'facebook',
content: `¡NUEVA LLEGADA! ¡Echa un vistazo a nuestro ${product.name}!\n\nPrecio: $${product.price}\n\nCompra ahora: ${product.permalink}\n\n#woocommerce #comprasonline`,
type: 'photo',
media_url: product.images ? product.images[0]?.src : null
},
{
platform: 'instagram',
content: `¡${product.name} acaba de llegar!\n\nDesliza hacia arriba para comprar\n\n$${product.price}\n\n#compralocal #comprasonline #woocommerce`,
type: 'photo',
media_url: product.images ? product.images[0]?.src : null
},
{
platform: 'facebook',
content: `¡ALERTA DE OFERTA!\n\n¿Te encanta ${product.name}? Aquí te explicamos por qué los clientes hablan maravillas de él:\n\nAlta calidad\nExcelente relación calidad-precio\nReseñas excelentes\n\n¡Consigue el tuyo hoy mismo!\n\n${product.permalink}\n\n#oferta #compras`,
type: 'photo',
media_url: product.images ? product.images[1]?.src : product.images[0]?.src
}
];
return posts.map(post => ({ json: { ...post, product_id: product.id } }));'
}
},
{
'name': 'Generar Publicaciones de Categorías',
'type': 'n8n-nodes-base.code',
'position': [850, 400],
'parameters': {
'language': 'javaScript',
'code': 'const category = items[0].json;
const posts = [
{
platform: 'facebook',
content: `¡EXPLORA NUESTRA COLECCIÓN DE ${category.name.toUpperCase()}!\n\nDescubre productos increíbles en nuestra categoría ${category.name}.\n\nVer colección: ${category.link}\n\n#${category.name.replace(/\\s+/g, '')} #compras`,
type: 'photo',
media_url: category.image ? category.image.src : null
},
{
platform: 'instagram',
content: `Explora nuestra ${category.name}\n\n¡Colección curada solo para ti!\n\nToca el enlace en la biografía\n\n#${category.name.replace(/\\s+/g, '')} #tienda #instagram`,
type: 'carousel',
media_url: category.image ? category.image.src : null
},
{
platform: 'facebook',
content: `¿BUSCANDO ${category.name.toUpperCase()}?\n\n¡Tenemos la mejor selección!\n\nAmplia variedad\nPrecios competitivos\nEnvío rápido\n\nCompra ahora: ${category.link}\n\n#${category.name.replace(/\\s+/g, '')} #tiendaonline`,
type: 'photo',
media_url: category.image ? category.image.src : null
}
];
return posts.map(post => ({ json: { ...post, category_id: category.id } }));'
}
},
{
'name': 'Programar Publicaciones',
'type': 'n8n-nodes-base.code',
'position': [1050, 300],
'parameters': {
'language': 'javaScript',
'code': 'const allPosts = items.flatMap(item => item.json);
const startHour = 9;
const endHour = 21;
const scheduledPosts = allPosts.map((post, index) => {
const postTime = new Date();
const timeInterval = (endHour - startHour) * 60 / allPosts.length;
postTime.setHours(startHour);
postTime.setMinutes(Math.floor(index * timeInterval));
postTime.setSeconds(0);
if (postTime < new Date()) {
postTime.setDate(postTime.getDate() + 1);
}
return {
json: {
...post,
scheduled_time: postTime.toISOString(),
scheduled_time_readable: postTime.toLocaleString()
}
};
});
return scheduledPosts;'
}
},
{
'name': 'Publicador de Facebook',
'type': 'n8n-nodes-base.facebookGraphApi',
'position': [1250, 200],
'parameters': {
'resource': 'post',
'operation': 'create',
'pageId': '={{$credentials.facebook.pageId}}',
'message': '={{$json.content}}',
'additionalFields': {
'scheduled_publish_time': '={{new Date($json.scheduled_time).getTime() / 1000}}'
}
}
},
{
'name': 'Publicador de Instagram',
'type': 'n8n-nodes-base.instagramGraphApi',
'position': [1250, 400],
'parameters': {
'resource': 'media',
'operation': 'create',
'mediaType': '={{$json.type}}',
'imageUrl': '={{$json.media_url}}',
'caption': '={{$json.content}}'
}
},
{
'name': 'Notificación de Éxito',
'type': 'n8n-nodes-base.emailSend',
'position': [1450, 300],
'parameters': {
'subject': 'Publicaciones en Redes Sociales Programadas con Éxito',
'text': '={{`Se programaron ${$input.all().length} publicaciones con éxito.`}}'
}
}
],
'connections': {
'Disparador Diario': { 'main': [[{'node': 'Configuración WooCommerce', 'index': 0}]] },
'Configuración WooCommerce': { 'main': [[{'node': 'Obtener 3 Productos Aleatorios', 'index': 0}], [{'node': 'Obtener 3 Categorías Aleatorias', 'index': 1}]] },
'Obtener 3 Productos Aleatorios': { 'main': [[{'node': 'Generar Publicaciones de Productos', 'index': 0}]] },
'Obtener 3 Categorías Aleatorias': { 'main': [[{'node': 'Generar Publicaciones de Categorías', 'index': 0}]] },
'Generar Publicaciones de Productos': { 'main': [[{'node': 'Programar Publicaciones', 'index': 0}]] },
'Generar Publicaciones de Categorías': { 'main': [[{'node': 'Programar Publicaciones', 'index': 1}]] },
'Programar Publicaciones': { 'main': [[{'node': 'Publicador de Facebook', 'index': 0, 'condition': {'type': 'if', 'conditions': [{'leftValue': '={{$json.platform}}', 'operator': 'equal', 'rightValue': 'facebook'}]}}], [{'node': 'Publicador de Instagram', 'index': 1, 'condition': {'type': 'if', 'conditions': [{'leftValue': '={{$json.platform}}', 'operator': 'equal', 'rightValue': 'instagram'}]}}]] },
'Publicador de Facebook': { 'main': [[{'node': 'Notificación de Éxito', 'index': 0}]] },
'Publicador de Instagram': { 'main': [[{'node': 'Notificación de Éxito', 'index': 1}]] }
}
}