Le Social Media Agent de LangChain est un outil formidable. Il vous permet de prendre une liste de liens – des articles lus, des projets intéressants ou des billets de blog – et de générer automatiquement des publications engageantes pour les réseaux sociaux. Imaginez traiter 50 liens et les planifier sur les prochaines semaines. Vous pourriez partir en vacances l’esprit tranquille, sachant que votre feed reste actif avec du contenu que vous avez déjà validé. C’est une automatisation puissante !

Le défi : la barrière du terminal

La façon par défaut d’interagir avec le LangChain Social Media Agent passe par la ligne de commande. Pour lui soumettre un lien, vous devez généralement :

  1. Ouvrir le code source.
  2. Éditer un fichier pour y insérer l’URL souhaitée.
  3. Lancer une commande spécifique (generate_post) dans votre terminal.

Pour un traitement en continu, vous pouvez configurer un cron job (ce qui suppose de maîtriser la syntaxe cron) et intégrer Slack pour surveiller un canal. Pour ceux qui ne sont pas à l’aise avec le terminal, ces étapes peuvent devenir un vrai obstacle et les empêcher de tirer parti de cet agent.

La solution : une interface web accessible

Face à cet obstacle potentiel, j’ai voulu créer une interface web simple pour rendre l’interaction avec l’agent fluide – sans terminal. L’objectif : un front-end intuitif qui envoie les liens à l’agent tournant en local.

Pour y parvenir, j’ai apporté quelques petites modifications au code de l’agent :

  1. Modification de la commande generate_post pour accepter l’URL en argument plutôt qu’en valeur codée en dur.
  2. Ajout d’une commande generate_multiple_posts qui accepte un tableau d’URLs et un mode.
    • Mode multi-post : génère une publication par URL.
    • Mode single-post : utilise toutes les URLs fournies comme contexte pour produire une seule publication consolidée.

Ces modifications en place, j’ai construit une interface simple avec ExpressJS.

Cette interface propose trois façons simples d’envoyer des liens à l’agent :

  1. URL unique : Collez un lien, cliquez sur Envoyer, et l’agent commence le traitement.
  2. URLs multiples : Collez plusieurs liens et choisissez le mode single-post ou multi-post.
  3. Intégration Notion : Sélectionnez une page Notion contenant des liens, choisissez un mode, et importez-les tous.

Vous pouvez suivre la progression dans l’AgentInbox UI (fourni par LangChain) connecté à votre agent local, et voir les publications se générer et devenir prêtes à relire.

Intégration Notion simplifiée avec l’appel direct d’outils Arcade.dev

L’intégration Notion, c’est là que ça devient vraiment intéressant. Connecter des services externes avec Arcade.dev est d’une simplicité déconcertante.

Beaucoup d’entre nous utilisent Notion comme carnet numérique, fichier d’inspiration ou collecteur de liens. Ne serait-il pas idéal de pointer directement le Social Media Agent vers une page Notion remplie de liens sauvegardés ?

C’est exactement ce que fait cette interface, en utilisant Arcade.dev pour gérer la connexion sansfaire appel à un LLM pour l’interaction elle-même. Voici comment ça fonctionne :

  1. Indiquer la page : Dans l’interface, saisissez le titre de votre page Notion (ex. : « Link Collection »).
  2. Arcade.dev gère l’authentification : Le backend utilise l’Arcade Notion Toolkit, plus précisément l’outil GetPageContentByTitle. Si vous n’avez pas encore autorisé Arcade à accéder à votre compte Notion, Arcade envoie un événement authorization_required à l’interface.
  3. Autorisation utilisateur : L’interface affiche un lien d’autorisation. Vous cliquez dessus, sélectionnez les pages Notion auxquelles vous souhaitez donner accès à Arcade, et accordez la permission.
  4. Appel direct d’outil : Une fois autorisé, le backend effectue un appel direct d’outilvia le client Arcade (client.tools.execute). Cela exécute directement la fonction GetPageContentByTitle avec votre identifiant utilisateur et le titre de la page.
  5. Traitement des liens : Le backend reçoit le contenu de Notion, en extrait les liens et les envoie à l’agent LangChain via la commande generate_multiple_posts.

Cette approche par appel direct d’outil illustre la polyvalence des toolkits Arcade.dev. Vous pouvez exploiter la gestion de l’authentification et les intégrations prêtes à l’emploi d’Arcade dans des applications web classiques, des interfaces ou des scripts backend – pas seulement dans des agents propulsés par un LLM. Cela simplifie considérablement l’utilisation d’APIs comme Notion.

Voyez-le en action et rejoignez-nous

Dans la vidéo sur laquelle est basé cet article, j’ai montré comment ajouter un nouveau lien à ma page « Link Collection » dans Notion avec l’Web Clipper Extension, puis comment utiliser l’interface pour importer tous les liens de cette page. L’agent les a traités avec succès et créé des publications individuelles prêtes à relire dans l’AgentInbox.

Si cet aperçu vous a plu, pensez à liker la vidéo et à vous abonner à la chaîne Arcade.dev pour plus de tutoriels, de démos et de façons créatives d’intégrer Arcade dans votre workflow. N’hésitez pas à laisser un commentaire, on sera ravis de lire vos retours !

À bientôt, et bon développement !

Retrouvez le dépôt complet pour le reproduire vous-même : https://github.com/ArcadeAI/social-media-agent

Inscrivez-vous sur arcade.dev : https://app.arcade.dev/register