Agent de publication automatisée SNS avec Notion et GPT-4 (Publication Instagram automatique + Threads/X/Brouillons de blog)

Avancé

Ceci est unMiscellaneous, Multimodal AIworkflow d'automatisation du domainecontenant 17 nœuds.Utilise principalement des nœuds comme Notion, Webhook, HttpRequest, OpenAi. Utiliser GPT-4, Notion et l'API Instagram pour générer et publier automatiquement du contenu pour les réseaux sociaux

Prérequis
  • Clé API Notion
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "A90U504fcvjJqgF5",
  "meta": {
    "instanceId": "ad59d09d8e026d0e92690243618d86d51b0293b236148394ca356eae1d1ea59b"
  },
  "name": "SNS Auto-Poster with Notion & GPT-4 (Instagram Auto + Threads/X/Blog Drafts)",
  "tags": [],
  "nodes": [
    {
      "id": "feef23dc-de7b-426f-9e86-26e3ba755c16",
      "name": "Étape 1 : Entrée",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        -64
      ],
      "parameters": {
        "width": 464,
        "height": 448,
        "content": "# Step 1: Input\n\n- Receive raw text via Webhook (e.g., LINE Bot)\n- Save input automatically into Notion database"
      },
      "typeVersion": 1
    },
    {
      "id": "a58fb4c9-73e7-486b-aaa4-8bb537c63117",
      "name": "Étape 2 : Générer les légendes",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -64
      ],
      "parameters": {
        "color": 3,
        "width": 2224,
        "height": 448,
        "content": "# Step 2: Generate Captions\n\n- Use GPT-4o to create captions for multiple platforms\n- Instagram (for auto-post), Threads, X/Twitter, Blog (draft only)\n- Save all drafts back into Notion for tracking and reuse"
      },
      "typeVersion": 1
    },
    {
      "id": "60353fc8-ea55-46a6-af74-744ff9bc99cf",
      "name": "Étape 3 : Gestion des images",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2416,
        -64
      ],
      "parameters": {
        "color": 4,
        "width": 416,
        "height": 448,
        "content": "# Step 3: Image Handling\n\n- Fetch book cover image from external APIs (Google Books, OpenBD, OpenLibrary)\n- Upload selected image to Cloudinary\n- Generate final optimized URL for Instagram posting"
      },
      "typeVersion": 1
    },
    {
      "id": "d6e2fe83-ee28-4917-962b-7d3eff5e3be7",
      "name": "Étape 4 : Publication Instagram",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2864,
        -64
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 448,
        "content": "# Step 4: Instagram Publish\n\n- Create a media container via Instagram Graph API\n- Publish automatically with the generated caption + image\n- Verify post status before final publishing"
      },
      "typeVersion": 1
    },
    {
      "id": "77eac861-c22d-46b9-b321-91f275c7e2a9",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Receive text input (from LINE or other source).",
      "position": [
        -288,
        160
      ],
      "webhookId": "d00a0c29-6e20-47f7-b57a-c60ed357c486",
      "parameters": {
        "path": "line-book-output",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "=onReceived"
      },
      "typeVersion": 2
    },
    {
      "id": "d9caab24-f532-455a-b19d-d9cff6dc1fe1",
      "name": "Création de page Notion",
      "type": "n8n-nodes-base.notion",
      "notes": "Create a new Notion page with input text.",
      "position": [
        -64,
        160
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "databaseId": "<your_database_id>",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Title|title",
              "textContent": "={{ $json.body.events[0].message.text }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bf244b57-2dcf-4232-9460-e77c882d5982",
      "name": "Génération de légende Instagram",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "Generate Instagram caption using GPT-4.",
      "position": [
        160,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for Instagram (<=1000 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f10bfbfa-031b-4299-b4d4-f91707ced60c",
      "name": "Sauvegarde de légende Instagram",
      "type": "n8n-nodes-base.notion",
      "position": [
        512,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Instagram Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5",
      "name": "Génération de légende Threads",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        736,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for Threads (<=500 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe",
      "name": "Sauvegarde de légende Threads",
      "type": "n8n-nodes-base.notion",
      "position": [
        1088,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Threads Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7",
      "name": "Génération de légende X",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1312,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for X/Twitter (<=280 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00",
      "name": "Sauvegarde de légende X",
      "type": "n8n-nodes-base.notion",
      "position": [
        1664,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "X Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bb04cea6-8bfe-4167-a688-74f0b56bdef8",
      "name": "Génération de brouillon de blog",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1888,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Rewrite into blog article (<=1800 chars, include Title, TOC, Body):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ba0f53a5-ac72-4fc6-925e-8bee44e32b32",
      "name": "Sauvegarde de brouillon de blog",
      "type": "n8n-nodes-base.notion",
      "position": [
        2240,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Blog Draft|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "813fdc45-f135-4f91-a35a-7711f86de3f4",
      "name": "Téléversement vers Cloudinary",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2464,
        160
      ],
      "parameters": {
        "url": "https://api.cloudinary.com/v1_1/<your_cloud_name>/image/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data1"
            },
            {
              "name": "folder",
              "value": "ig/books"
            },
            {
              "name": "public_id",
              "value": "=ig_books_{{ $json.isbn13 || Date.now() }}_cover"
            },
            {
              "name": "upload_preset",
              "value": "<your_upload_preset>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "74721ffb-a236-4fdf-b4c0-23745f357c65",
      "name": "Conteneur média Instagram",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2688,
        160
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/17841458946648987/media",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "={{$env.IG_ACCESS_TOKEN}}"
            },
            {
              "name": "image_url",
              "value": "={{$('Upload to Cloudinary').item.json.secure_url}}"
            },
            {
              "name": "caption",
              "value": "={{ $('Instagram Caption Save').item.json[\"Instagram Caption|rich_text\"][0].plain_text }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9e25da48-1164-4b10-94c7-2108cdbd67ff",
      "name": "Publication Instagram",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2992,
        160
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/17841458946648987/media_publish",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "creation_id",
              "value": "={{ $('Instagram Media Container').item.json.id }}"
            },
            {
              "name": "access_token",
              "value": "={{$env.IG_ACCESS_TOKEN}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "840dc1ba-d065-490f-85da-563e46ebe80d",
  "connections": {
    "77eac861-c22d-46b9-b321-91f275c7e2a9": {
      "main": [
        [
          {
            "node": "d9caab24-f532-455a-b19d-d9cff6dc1fe1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00": {
      "main": [
        [
          {
            "node": "bb04cea6-8bfe-4167-a688-74f0b56bdef8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba0f53a5-ac72-4fc6-925e-8bee44e32b32": {
      "main": [
        [
          {
            "node": "813fdc45-f135-4f91-a35a-7711f86de3f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9caab24-f532-455a-b19d-d9cff6dc1fe1": {
      "main": [
        [
          {
            "node": "bf244b57-2dcf-4232-9460-e77c882d5982",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7": {
      "main": [
        [
          {
            "node": "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb04cea6-8bfe-4167-a688-74f0b56bdef8": {
      "main": [
        [
          {
            "node": "ba0f53a5-ac72-4fc6-925e-8bee44e32b32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe": {
      "main": [
        [
          {
            "node": "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "813fdc45-f135-4f91-a35a-7711f86de3f4": {
      "main": [
        [
          {
            "node": "74721ffb-a236-4fdf-b4c0-23745f357c65",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f10bfbfa-031b-4299-b4d4-f91707ced60c": {
      "main": [
        [
          {
            "node": "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5": {
      "main": [
        [
          {
            "node": "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "74721ffb-a236-4fdf-b4c0-23745f357c65": {
      "main": [
        [
          {
            "node": "9e25da48-1164-4b10-94c7-2108cdbd67ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bf244b57-2dcf-4232-9460-e77c882d5982": {
      "main": [
        [
          {
            "node": "f10bfbfa-031b-4299-b4d4-f91707ced60c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Divers, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds17
Catégorie2
Types de nœuds5
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34