Que construisons-nous ?
La version débutant comprend quatre étapes fonctionnelles :
| Étape |
Nœud n8n |
Ce qu'il fait |
| Recueillir le brief |
Form Trigger |
Demande le sujet, l'audience, les notes sources, le ton, l'objectif et le CTA |
| Générer le brouillon |
HTTP Request |
Appelle un modèle de texte GPT Proto |
| Extraire le texte |
Edit Fields |
Récupère la publication générée depuis la réponse de l'API |
| Afficher le résultat |
Form |
Affiche le brouillon final dans le navigateur |
Le Form Trigger de n8n crée la page de saisie, vous n’avez donc pas besoin de construire un site web séparé. Son nœud Form peut ensuite afficher du texte personnalisé ou du HTML à la fin du workflow.
Le workflow minimal est :
Form Trigger → HTTP Request → Edit Fields → Form Ending
Une fois que cela fonctionne, la version facultative de publication devient :
Form Trigger → HTTP Request → Edit Fields → LinkedIn → Form Ending
Construisez d’abord la version brouillon uniquement. Elle supprime l’authentification LinkedIn de la configuration initiale et conserve une revue humaine avant la publication.
Ce dont vous avez besoin avant de commencer
Pour le générateur de brouillons, préparez :
Un compte n8n Cloud ou une instance n8n auto-hébergée
Un compte GPT Proto avec un solde disponible
Une clé API GPT Proto
Un ID de modèle de texte GPT Proto
Ce guide utilise gemini-3.5-flash-lite. Une courte publication sociale ne nécessite normalement pas de modèle de raisonnement coûteux, mais vous pouvez tester un autre modèle de texte GPT Proto en modifiant la valeur model.
La publication automatique a des exigences supplémentaires :
Un compte LinkedIn
Une page Entreprise LinkedIn associée à votre application développeur
Une application développeur LinkedIn
Des identifiants OAuth LinkedIn dans n8n
Selon le guide des identifiants LinkedIn de n8n, les nouvelles applications utilisent Community Management OAuth2. La publication au nom d’une organisation nécessite également une Community Management App Review.
Étape 1 : Créer le formulaire de saisie de la publication LinkedIn
Créez un nouveau workflow n8n et ajoutez n8n Form Trigger comme premier nœud.
Utilisez ces paramètres :
Titre du formulaire : Générateur de publications LinkedIn par IA
Description du formulaire : Transformez vos notes en un brouillon prêt pour LinkedIn.
Répondre quand : Le workflow se termine
Libellé du bouton : Générer le brouillon
Ajoutez les champs suivants. Définissez les noms internes des champs exactement comme indiqué afin que les expressions plus loin dans ce guide fonctionnent sans modification.
| Libellé du champ |
Nom du champ |
Type |
Obligatoire ? |
| Sujet |
topic |
Texte |
Oui |
| Audience cible |
target_audience |
Texte |
Oui |
| Notes sources |
source_notes |
Zone de texte |
Oui |
| Ton |
tone |
Liste déroulante |
Oui |
| Objectif de la publication |
post_goal |
Liste déroulante |
Oui |
| Appel à l'action |
cta |
Texte |
Non |
| Affirmations ou formulations à éviter |
avoid |
Zone de texte |
Non |
Les options de ton utiles incluent Pratique, Personnel, À contre-courant, et Éducatif. Pour l’objectif de la publication, utilisez des options telles que Lancer une discussion, Partager une leçon, Expliquer une mise à jour produit, et Générer un intérêt qualifié.
Ne faites pas du sujet la seule entrée obligatoire. « Écrire sur les agents IA » invite à une sortie générique. Le champ source_notes doit contenir les faits, exemples ou opinions qui rendent la publication digne d’intérêt.
Par exemple :
Sujet : Pourquoi les petites équipes devraient documenter les échecs d’API
Audience cible : fondateurs de SaaS et responsables techniques
Notes sources :
- Nous avons perdu deux heures parce qu’une réponse 403 a été journalisée comme un échec de requête générique.
- La correction a été un tableau d’une page associant les codes de statut aux causes probables et aux responsables.
- Le tableau a réduit les questions Slack répétées lors de la prochaine version.
Ton : Pratique
Objectif de la publication : Partager une leçon
Appel à l’action : Demandez aux lecteurs ce que leurs équipes documentent après un incident.
Affirmations ou formulations à éviter : N’inventez pas de pourcentages ou de résultats clients.
Utilisez l’URL de test du Form Trigger pendant la configuration. Passez à l’URL de production seulement après que le workflow a réussi et est publié dans n8n.
Étape 2 : Créer et stocker votre clé API GPT Proto
Créez une clé depuis votre tableau de bord GPT Proto et stockez-la comme identifiant n8n. Ne placez pas la clé brute dans le corps de la requête ni dans une capture d’écran.
Dans le nœud HTTP Request, utilisez un identifiant générique Header Auth :
Remplacez l’espace réservé par votre vraie clé. Gardez Bearer suivi d’un espace.
Cet identifiant autorise uniquement les requêtes de modèle. Il ne donne pas au workflow l’autorisation de publier sur votre compte LinkedIn.
Créez un compte GPT Proto et une clé API.
Étape 3 : Configurer le nœud HTTP Request GPT Proto
Ajoutez un nœud HTTP Request après le Form Trigger. n8n documente ce nœud comme sa méthode générale pour appeler des services exposant une API REST, et il prend en charge les en-têtes et les corps de requête JSON. Consultez la documentation du nœud HTTP Request pour la référence complète des champs.
Configurez-le comme suit :
| Paramètre |
Valeur |
| Méthode |
POST |
| URL |
https://gptproto.com/v1/chat/completions |
| Authentification |
Type d’identifiant générique |
| Type d’authentification générique |
Header Auth |
| Envoyer les en-têtes |
Activé |
| En-tête |
Content-Type: application/json |
| Envoyer le corps |
Activé |
| Type de contenu du corps |
JSON |
| Spécifier le corps |
Utiliser JSON |
| Format de réponse |
JSON |
Collez ce qui suit dans le corps JSON :
{
"model": "gemini-3.5-flash-lite",
"messages": [
{
"role": "system",
"content": "You are a careful LinkedIn editor. Turn the user's real notes into one publishable LinkedIn draft. Preserve the user's opinion and facts. Do not invent personal experience, statistics, customers, quotations, outcomes, or product capabilities. Use a specific opening, short readable paragraphs, and a natural closing question or call to action. Avoid generic hype, motivational filler, excessive emojis, and unnecessary hashtags. Return only the final post, with no explanation or label."
},
{
"role": "user",
"content": "Topic: {{$json.topic}}\nTarget audience: {{$json.target_audience}}\nSource notes: {{$json.source_notes}}\nTone: {{$json.tone}}\nPost goal: {{$json.post_goal}}\nRequested CTA: {{$json.cta}}\nClaims or phrases to avoid: {{$json.avoid}}"
}
],
"temperature": 0.7,
"max_tokens": 900,
"stream": false
}
Les noms à l’intérieur de {{$json...}} doivent correspondre aux noms internes des champs du Form Trigger. Renommez le champ ou mettez à jour l’expression s’ils diffèrent.
La requête suit la structure de chat compatible OpenAI de GPT Proto : un ID de modèle, un tableau messages, et une réponse non-streaming. La référence API de GPT Proto montre le même point de terminaison /v1/chat/completions et la même forme de réponse.
Tester l’API en dehors de n8n
Si le nœud n8n échoue et que vous devez distinguer un problème d’API d’un problème de workflow, exécutez cette requête cURL dans un terminal :
curl --request POST 'https://gptproto.com/v1/chat/completions' \
--header 'Authorization: Bearer YOUR_GPTPROTO_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.5-flash-lite",
"messages": [
{
"role": "user",
"content": "Write one concise LinkedIn post about documenting API errors. Do not invent data."
}
],
"stream": false
}'
Si cURL réussit mais que n8n échoue, vérifiez à nouveau l’identifiant, le corps JSON et les expressions. Si les deux échouent, inspectez la clé API, le solde, l’ID du modèle et la fréquence des requêtes.
Étape 4 : Extraire la publication LinkedIn générée
Une réponse réussie de chat-completions place le texte généré dans :
choices[0].message.content
Ajoutez un nœud Edit Fields (Set) après le nœud HTTP Request. Sélectionnez Manual Mapping, ajoutez un champ String nommé linkedin_post, et utilisez cette expression comme valeur :
{{$json.choices[0].message.content}}
Exécutez le workflow une fois. Un résultat réussi devrait ressembler à :
{
"linkedin_post": "We lost two hours to an API error that was technically logged..."
}
Vérifiez que le brouillon n’utilise que les faits fournis et ne transforme pas une leçon modeste en une success story non étayée.
Étape 5 : Afficher le brouillon sur une page de résultats
Ajoutez un nœud n8n Form après Edit Fields et définissez Page Type sur Form Ending.
Sous On n8n Form Submission, sélectionnez Show Text. Le nœud Form peut afficher du texte brut ou du HTML personnalisé sur la page finale. Collez ce qui suit dans le champ Text :
<h2>Votre brouillon LinkedIn est prêt</h2>
<p>Vérifiez les faits et modifiez la formulation avant de publier.</p>
<div style="white-space: pre-wrap; padding: 16px; border: 1px solid #d0d5dd; border-radius: 8px;">
{{$json.linkedin_post}}
</div>
Soumettez le formulaire de test et attendez la page de résultats. Vous disposez maintenant d’un générateur de publications LinkedIn par IA fonctionnel avec n8n et l’API GPT Proto. Testez-le avec une leçon personnelle, une mise à jour produit factuelle et un brief éducatif B2B. Si tous les résultats se ressemblent, ajoutez des notes plus spécifiques ou des exemples de la voix de l’auteur.
Facultatif : Publier automatiquement le brouillon approuvé sur LinkedIn
Le nœud LinkedIn natif de n8n prend en charge l’opération Post → Create. Il peut publier en tant que personne ou organisation et accepte du texte, des liens d’article ou des catégories de médias pris en charge par le nœud.
Pour ajouter la publication :
Créez et connectez vos identifiants LinkedIn dans n8n.
Insérez un nœud LinkedIn entre Edit Fields et Form Ending.
Sélectionnez Post → Create.
Choisissez Person ou Organization sous Post As.
Mappez le champ Text sur {{$json.linkedin_post}}.
Testez avec un processus interne privé avant d’activer les exécutions planifiées.
GPT Proto et LinkedIn utilisent des identifiants différents, une étape peut donc réussir pendant que l’autre échoue. La publication au nom d’une organisation peut également nécessiter une revue d’application LinkedIn.
Pour un workflow débutant, je m’arrêterais avant ce nœud et publierais manuellement. La minute de revue supplémentaire coûte moins cher que de supprimer une publication confiante mais inexacte d’une page d’entreprise.
Transformez-le en générateur automatique de publications LinkedIn pour les équipes B2B
Une fois que la version formulaire fonctionne, dupliquez-la avant d’ajouter la planification. Remplacez Form Trigger par Schedule Trigger et lisez les briefs approuvés depuis un tableur ou une base de données.
Un flux B2B pratique ressemble à ceci :
Schedule Trigger
→ Lire un brief de contenu approuvé
→ GPT Proto génère un brouillon
→ Enregistrer le brouillon pour revue
→ Vérifier le statut d’approbation
→ LinkedIn publie la publication approuvée
→ Enregistrer l’ID et l’horodatage de la publication LinkedIn
Conservez les preuves avec chaque brief : URL source, faits confirmés, responsable, audience et affirmations interdites. Stockez aussi un ID de contenu unique et un statut tel que draft, approved, published, ou failed ; sinon, une nouvelle tentative après une défaillance partielle peut créer une publication en double.
Une clé GPT Proto peut appeler différents modèles de texte pris en charge via le même point de terminaison. Modifiez la chaîne du modèle, exécutez les mêmes briefs et comparez la rigueur factuelle, la correspondance de voix, la latence et le coût.
Erreurs courantes et comment les corriger
401 Non autorisé
La clé est manquante ou invalide. Confirmez que Header Auth commence par Bearer et ne contient pas d’espaces supplémentaires.
403 Interdit
Vérifiez le solde GPT Proto et l’accès au modèle. Pour une erreur 403 LinkedIn, inspectez plutôt les scopes LinkedIn et les autorisations du compte.
429 Trop de requêtes
Ajoutez une attente entre les tentatives et vérifiez si le formulaire ou la planification s’est exécuté plus d’une fois.
Le workflow s’exécute mais linkedin_post est vide
Confirmez que la réponse contient choices, puis vérifiez :
{{$json.choices[0].message.content}}
Une réponse d’erreur n’a pas de choices[0] ; corrigez d’abord la requête HTTP.
Le modèle invente des résultats ou une expérience personnelle
Ajoutez les faits manquants dans source_notes. Précisez quelles affirmations le modèle peut utiliser et ne doit pas créer ; « rendez-le plus humain » peut encourager l’invention de détails personnels.
Le brouillon est généré mais LinkedIn ne publie pas
Inspectez LinkedIn séparément : identité de publication, produits, accès à l’organisation et statut de revue d’application.
Combien coûte une publication LinkedIn générée ?
GPT Proto liste actuellement Gemini 3.5 Flash-Lite à 0,18 $ pour 1 million de tokens d’entrée et 1,50 $ pour 1 million de tokens de sortie. Consultez la page du modèle en direct avant de publier une estimation fixe.
Aux tarifs indiqués, une requête utilisant 1 000 tokens d’entrée et 500 tokens de sortie coûte environ :
Entrée : 1 000 ÷ 1 000 000 × 0,18 $ = 0,00018 $
Sortie : 500 ÷ 1 000 000 × 1,50 $ = 0,00075 $
Total : 0,00093 $
Les tentatives supplémentaires ou un second modèle d’édition ajoutent une utilisation distincte. Suivez le coût par publication approuvée, pas seulement le coût par requête.
À retenir
Vous n’avez pas besoin d’une machine de contenu autonome pour automatiser la partie la plus lente de la rédaction LinkedIn. Une première version utile ne nécessite qu’un formulaire, une requête GPT Proto, un champ d’extraction et une page de résultats :
Brief → Brouillon GPT Proto → Revue → Publier
Une fois qu’il produit des brouillons exacts, ajoutez une file d’attente de contenu, des états d’approbation, une planification et le nœud LinkedIn. GPT Proto génère ; n8n orchestre ; LinkedIn OAuth contrôle la publication.
Explorez les modèles de texte GPT Proto et construisez le premier workflow de brouillon avec une clé API.