Tutoriels

Comment créer un connecteur Meta Muse pour publier sur X

Taras Shynkarenko
Taras Shynkarenko
Mis à jour : 9 min de lecture
Comment créer un connecteur Meta Muse pour publier sur XComment créer un connecteur Meta Muse pour publier sur X

TL;DR, Réponse Rapide

9 min de lecture

Meta ne liste aucun connecteur X pour Muse, et X appartient à un concurrent de Meta, donc la voie d'entrée est un Custom Connector construit à partir de la spécification OpenAPI publique d'AdaptlyPost. Le champ que Muse doit envoyer est twitterConnectionIds, confirmé dans la spécification le 20 septembre 2026. Un fil X est une séquence de publications minutées via le point d'accès en masse, et Bluesky voyage dans le même appel.

Meta ne liste aucun connecteur X, donc un connecteur Meta Muse pour publier sur X est un connecteur que vous construisez vous-même en un seul message. Muse écrit son propre client à partir d'une spécification d'API publique, sur sa machine virtuelle dans le cloud, ce qui réduit le travail à un copier-coller, un token et un nom de champ que l'agent se trompe si personne ne le lui dit. Ce champ est twitterConnectionIds, et la spécification AdaptlyPost le confirmait encore le 20 septembre 2026.

En bref : donnez à Muse la spécification sur post.adaptlypost.com/post/api/v1/openapi.json, collez un token adaptly_ dans le champ sécurisé des identifiants, et dites-lui que le champ X est twitterConnectionIds avec l'énumération de plateforme TWITTER. Ensuite, programmez vos fils phrase par phrase.

Pourquoi n'y a-t-il aucun connecteur Meta Muse pour X dans la liste de Meta ?

Au 20 septembre 2026, Meta ne publie aucun annuaire de connecteurs en dehors du produit, et X n'apparaît dans aucune des listes partielles qui existent. Le directeur de l'IA Alexandr Wang a publié un inventaire le 8 septembre 2026 couvrant Gmail, Google Calendar, Outlook, Plaid, OpenTable, Google Docs, Spotify, Function Health, Withings, Tailscale et Peloton, plus Facebook, Instagram, Threads et Messenger. La liste de lancement de Parallel du 14 septembre 2026 nomme un ensemble en partie différent, ajoutant Ticketmaster et Apple Health et retirant Outlook, Google Docs, Withings, Tailscale et Messenger. Aucune des deux ne nomme X.

Il y a ici une seconde couche qui mérite d'être posée pour ce qu'elle est, un fait commercial. X appartient à un concurrent de Meta, et Threads est le réseau court de Meta elle-même, celui qui se connecte automatiquement à Muse quand les comptes partagent un Accounts Centre. Au 20 septembre 2026, Meta n'a annoncé aucun connecteur qui publie sur un fil concurrent.

X passe donc par un Custom Connector, la réponse que Meta documente pour un service absent de la liste : Muse récupère les informations d'API et écrit le client lui-même. Meta déclare aussi sans détour qu'elle ne vérifie ni les connecteurs personnalisés ni l'usage qu'ils font de vos informations. La construction complète, le flux des identifiants et le fonctionnement de la machine virtuelle vivent dans le guide pilier. Ce billet couvre la moitié X.

Que faut-il coller dans Muse pour construire le connecteur X ?

Le texte à coller est celui du guide pilier plus une ligne. L'URL de la spécification, la consigne de configuration, l'en-tête d'authentification et la règle du champ des identifiants sont tous dans le guide pilier. Le delta X tient dans la dernière instruction :

Build a custom connector for AdaptlyPost so you can post to X, following the
setup in the pillar paste.
 
Do not publish anything yet. Call GET /social-accounts, show me the X handle
you can post as, and confirm from the spec that the X field is
twitterConnectionIds and the platform enum value is TWITTER.
L'étape X que le guide pilier ne couvre pas
1
Faites d'abord la configuration du guide pilier. Le token, le texte à coller et le champ des identifiants sont dans le guide pilier.
2
Faites-lui relire le handle X. GET /social-accounts renvoie l'identifiant de connexion et le handle qui y est attaché.
L'étape 2 est celle sur laquelle insister. Publier depuis le mauvais handle est l'erreur sur X qu'on rattrape le plus difficilement.

Pourquoi la spécification AdaptlyPost dit-elle toujours twitterConnectionIds ?

Le champ s'appelle twitterConnectionIds parce que la spécification a figé le nom avant le changement de marque, et le billet sur le modèle de Grok bot explique pourquoi il est resté. Ce qui compte pour Muse est plus étroit : un agent qui lit la spécification envoie le bon champ, un agent qui raisonne à partir du nom de marque non. La spécification AdaptlyPost a été récupérée de nouveau le 20 septembre 2026 pour le confirmer : twitterConnectionIds figure dans le schéma de requête, la valeur d'énumération de plateforme est TWITTER, et xConnectionIds n'apparaît nulle part dans le document.

Un agent qui improvise à partir du nom de marque invente xConnectionIds. La spécification ne définit aucun champ de ce nom, donc rien dans la requête ne pointe vers une connexion X et la publication part sans cible X.

Ce que Muse doit envoyer pour X
Ce qu'un agent devine
  • xConnectionIds
  • platforms: [X_TWITTER]
  • Aucun champ de ce nom dans la spécification, la publication n'atteint jamais X
Ce que définit la spécification
  • twitterConnectionIds
  • platforms: [TWITTER]
  • La publication arrive sur le fil
La colonne de droite est ce que définissait la spécification en ligne lors de sa dernière récupération, le 20 septembre 2026. La colonne de gauche est ce que produit un connecteur quand personne ne fixe le champ, et aucune de ces deux valeurs n'apparaît dans le document.

Une personne tape sur un ordinateur portable à son bureau et planifie une série de publications programmées.

Muse peut-il programmer un fil sur X ?

Muse programme un fil comme une séquence de publications minutées via POST /social-posts/bulk, espacées par scheduledAt. AdaptlyPost n'a aucun objet fil, donc rien n'enchaîne les réponses à votre place. Dites-le à Muse d'emblée, parce qu'un agent à qui l'on demande un fil en douze parties décrira sinon un enchaînement de réponses qu'il ne sait pas faire.

Le point d'accès en masse accepte de 1 à 100 publications en un seul appel. platforms, timezone et les tableaux d'identifiants de connexion se placent une seule fois en tête de la requête ; chaque entrée de posts porte son propre contentType, son text et son scheduledAt. De toute façon, cet espacement est ce que vous vouliez. Un fil déversé d'un coup se lit comme un déversement ; les mêmes publications à deux minutes d'intervalle se lisent comme un fil en train de s'écrire.

You:  Schedule a 4-part thread on the connector launch, from 9am,
      two minutes apart, X only.
 
Muse: POST /social-posts/bulk
        { platforms: ["TWITTER"],
          twitterConnectionIds: ["..."],
          timezone: "Europe/Kyiv",
          posts: [
            { contentType: "TEXT", text: "1/ ...", scheduledAt: "2026-09-22T09:00:00" },
            { contentType: "TEXT", text: "2/ ...", scheduledAt: "2026-09-22T09:02:00" },
            { contentType: "TEXT", text: "3/ ...", scheduledAt: "2026-09-22T09:04:00" },
            { contentType: "TEXT", text: "4/ ...", scheduledAt: "2026-09-22T09:06:00" } ] }

Un détail propre à Muse s'applique ici et pas aux autres agents. Sentinel, le composant qui autorise chaque requête sortante de la machine virtuelle, crée une approbation en attente et arrête l'exécution quand il a besoin de vous. La fenêtre d'approbation de Meta propose Allow once, Allow for this task, Allow for this site, Always allow et Deny. Pour un fil, Allow for this task est l'option qui vous évite de valider quatre fois.

Comment X et Bluesky partagent-ils un seul appel ?

Au 20 septembre 2026, la spécification définit des objets de configuration par plateforme pour cinq réseaux seulement : Pinterest, TikTok, Instagram, Facebook et YouTube. X, Bluesky, LinkedIn et Threads prennent un tableau d'identifiants de connexion, du texte et des médias optionnels, rien d'autre. X prend twitterConnectionIds, Bluesky prend blueskyConnectionIds, donc mettre les deux dans une même requête ajoute deux tableaux et aucun bloc de configuration.

Utilisez platformTexts plutôt qu'une chaîne partagée quand vous publiez sur les deux à la fois. Chaque entrée associe une plateforme et un texte, donc la même idée reçoit une version écrite pour chaque fil au lieu d'une seule légende rabotée à la plus stricte des deux limites. AdaptlyPost ne fixe aucune longueur maximale sur text dans la spécification, donc chaque réseau applique sa propre limite au texte qu'il reçoit.

Gros plan sur un maillon de chaîne brisé, image d'une publication programmée qui échoue quand une connexion expire.

AdaptlyPost
AdaptlyPost

Essai gratuit de 7 jours

Analyses multiplateforme

Boîte sociale

Assistant IA

Qu'est-ce qui casse spécifiquement sur X ?

Une connexion X expirée ou révoquée échoue au moment de la publication, pas au moment de la programmation. Un fil réservé pour mardi prochain est accepté aujourd'hui, la connexion expire entre-temps, et la publication échoue le jour J sans que rien dans la réponse initiale vous ait averti. GET /social-posts/{id}/results rapporte le résultat par plateforme et POST /social-posts/{id}/retry relance uniquement les échecs une fois la connexion rétablie.

Muse aggrave cela si vous le laissez faire. Le connecteur rapporte ce qu'a renvoyé l'appel de programmation, donc Muse vous dira que le fil est réservé et considérera le travail terminé. Mettez l'appel aux résultats dans la skill enregistrée, pour que la vérification des résultats fasse partie de la publication au lieu d'être une question que vous pensez à poser.

Deux autres points, propres à aucun des deux mais plus vifs ici. Les médias exigent l'aller-retour POST /upload-urls avant POST /social-posts, et la vidéo X monte par une séquence initialize, append et finalize plus longue qu'une image. AdaptlyPost compte ses propres limites de débit par clé d'API et les renvoie sur chaque réponse sous RateLimit-Limit, RateLimit-Remaining et RateLimit-Reset, avec Retry-After sur un 429. Dites à Muse de lire ces en-têtes entre deux appels groupés plutôt que de rythmer un lot au jugé.

Comment un fil X programmé échoue
1
Réserver. Muse programme le fil via l'endpoint bulk et l'API l'accepte.
2
Expirer. La connexion X expire ou est révoquée avant l'heure du fil.
3
Échouer. La publication échoue le jour même, sans rien dans la réponse initiale pour vous prévenir.
4
Vérifier. GET /social-posts/{id}/results indique le résultat par plateforme.
5
Relancer. Reconnectez le compte, puis POST /social-posts/{id}/retry ne relance que les échecs.
Muse annonce la réservation comme terminée, donc l'appel des résultats doit figurer dans la skill enregistrée.

Questions fréquentes

Muse peut-il publier sur X sans aucun connecteur ?

Muse peut piloter l'application web de X avec son sous-agent navigateur, qui lit un instantané de l'arbre d'accessibilité plutôt que le DOM brut et ne peut pas exécuter de JavaScript dans la page. Cela fonctionne jusqu'à ce qu'un bouton change de place. Il n'y a aucune erreur par plateforme sur laquelle relancer une tentative ni aucune programmation, donc un connecteur construit sur une spécification publiée est le meilleur compromis pour tout ce qui est minuté.

Le connecteur peut-il lire mes mentions ou mes réponses sur X ?

Non. Lire les mentions demande l'API propre à X, que la spécification AdaptlyPost n'enveloppe pas. Un connecteur Muse construit sur cette spécification publie, rapporte le résultat par plateforme et peut lire les endpoints /analytics/*, mais la spécification ne définit aucun endpoint pour un fil de mentions ou de réponses.

Le connecteur fonctionne-t-il avec un compte X Premium ?

Oui. La spécification ne fixe aucun maxLength sur text, donc rien dans le schéma ne rejette un post de longueur Premium, et X applique la limite que porte votre compte. Écrivez la version longue dans platformTexts pour TWITTER et une version courte pour les autres réseaux dans le même appel.

En quoi est-ce différent de la voie du Grok bot ?

Le modèle de Grok bot pour publier sur X est un lien de partage qui installe une configuration déjà prête, donc la connaissance de l'API arrive avec le modèle. Les pages d'aide de Meta sur les connecteurs, les approbations et la confidentialité ne décrivent aucun mécanisme de modèle ni de lien de partage pour Muse au 20 septembre 2026. Muse lit la spécification et écrit le client lui-même, puis enregistre le résultat comme une skill réutilisable qui persiste d'une conversation à l'autre.

Le token limite-t-il le compte X depuis lequel Muse publie ?

Non. Le handle X est choisi par l'identifiant de connexion que vous mettez dans twitterConnectionIds, pas par le token. Appelez GET /social-accounts et relisez le handle avant la première publication. Le champ des identifiants et le flux de révocation sont dans le guide pilier.

Combien de posts X un appel bulk peut-il programmer ?

POST /social-posts/bulk accepte de 1 à 100 posts en un seul appel. Les plateformes, timezone et les tableaux d'ID de connexion figurent une seule fois en haut de la requête, et chaque post porte son propre contentType, text et scheduledAt.

Quel champ Muse utilise-t-il pour ajouter Bluesky à la même requête ?

Bluesky utilise blueskyConnectionIds, à côté de twitterConnectionIds pour X. La spécification ne définit aucun bloc de configuration pour ces deux réseaux, la requête gagne donc simplement un second tableau.

Que se passe-t-il si ma connexion X expire avant un post programmé ?

Le post échoue au moment de la publication, pas de la programmation, et la réponse initiale ne prévient de rien. GET /social-posts/{id}/results montre le résultat par plateforme. Une fois la reconnexion faite, POST /social-posts/{id}/retry ne relance que les échecs.

Comment éviter d'approuver chaque post d'un fil ?

Choisissez Allow for this task dans l'invite d'approbation de Meta. Sentinel autorise chaque requête sortante de la VM, et cette option couvre toute l'exécution au lieu de demander à chaque post. Les autres choix sont Allow once, Allow for this site, Always allow et Deny.

Meta examine-t-il un connecteur personnalisé pour X ?

Non. Meta indique qu'il n'examine ni les connecteurs personnalisés ni l'usage qu'ils font de vos informations. Relisez le handle X avec GET /social-accounts avant la première publication.

Créez un token API AdaptlyPost et donnez la spécification à Muse, ou lisez d'abord la consigne de configuration pour agents. L'accès API est inclus dans Creator à $19 par mois, Pro à $39 et Enterprise à $89, ainsi que dans l'essai de 7 jours.

Sources : l'article d'aide de Meta sur les connecteurs Muse, le billet d'ingénierie de Meta sur la sécurité, le compte rendu de Parallel sur les intégrations personnalisées (14 septembre 2026) et la spécification OpenAPI d'AdaptlyPost. Vérifié le 20 septembre 2026.

AdaptlyPost
AdaptlyPost

Essai gratuit de 7 jours

Analyses multiplateforme

Boîte sociale

Assistant IA

Cet article vous a-t-il été utile ?

Dites-nous ce que vous en pensez !

Nous voir plus souvent sur Google

Un clic définit AdaptlyPost comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.

Avant de partir...

AdaptlyPost

AdaptlyPost

Planifiez vos contenus sur toutes les plateformes

Gérez tous vos comptes de réseaux sociaux en un seul endroit avec AdaptlyPost.

Analyses multiplateforme

Boîte sociale

Assistant IA

Articles Connexes