LangChain’s Social Media Agent es una herramienta fantástica. Te permite tomar una lista de enlaces (artículos que leíste, proyectos interesantes o publicaciones del blog de tu empresa) y generar automáticamente actualizaciones atractivas para redes sociales. Imagina procesar 50 enlaces y programarlos para las próximas semanas. Podrías irte de vacaciones sabiendo que tu feed sigue activo y coherente con contenido que ya aprobaste. ¡Eso es automatización poderosa!

El reto: la barrera de la terminal

Aunque es poderoso, la forma predeterminada de interactuar con el Social Media Agent de LangChain involucra la línea de comandos. Para darle un enlace, normalmente tienes que:

  1. Abrir el código base.
  2. Editar un archivo para insertar la URL que quieres.
  3. Ejecutar un comando específico (generate_post) en tu terminal.

Para procesamiento continuo, puedes configurar un cron job (lo que requiere conocer la sintaxis de cron) y configurar la integración con Slack para monitorear un canal en busca de enlaces. Para quienes no se sienten cómodos trabajando directamente en la terminal, estos pasos pueden ser tan difíciles que les impide aprovechar este agente tan útil.

La solución: una interfaz web accesible

Al ver esta barrera, quise crear una UI web sencilla para que interactuar con el agente fuera sin fricciones, sin necesidad de terminal. El objetivo era ofrecer un front-end intuitivo que se encargara de enviarle enlaces al agente que corre de forma local.

Para lograrlo, hice un par de ajustes pequeños al código del agente:

  1. Modifiqué el comando generate_post para que acepte la URL como argumento en lugar de tenerla escrita en duro.
  2. Agregué un comando generate_multiple_posts que acepta un arreglo de URLs y un modo.
    • Modo multi-post: genera una publicación en redes sociales por cada URL.
    • Modo single-post: usa todas las URLs proporcionadas como contexto para generar una sola publicación consolidada.

Con estos cambios listos, construí una UI sencilla usando ExpressJS.

Esta UI ofrece tres formas directas de enviarle enlaces al agente:

  1. URL única: Pega un enlace, haz clic en enviar y el agente empieza a procesarlo.
  2. Múltiples URLs: Pega varios enlaces y elige el modo single-post o multi-post.
  3. Integración con Notion: Selecciona una página de Notion con enlaces, elige un modo e ingéstalos todos.

Puedes monitorear el progreso en la AgentInbox UI (proporcionada por LangChain) conectada a tu agente local, viendo cómo se generan las publicaciones y quedan listas para revisión.

Integración sencilla con Notion gracias al Direct Tool Calling de Arcade.dev

La integración con Notion es donde las cosas se ponen muy interesantes. Conectar servicios externos con Arcade.dev es increíblemente fácil.

Muchos usamos Notion como cuaderno digital, archivo de referencias o colector de enlaces. ¿No sería genial apuntar el Social Media Agent directo a una página de Notion llena de enlaces que ya guardaste?

Eso es exactamente lo que hace la UI, y usa Arcade.dev para manejar la conexión sindepender de un LLM para la interacción. Así funciona:

  1. Especifica la página: En la UI, escribes el título de tu página de Notion (por ejemplo, “Colección de enlaces”).
  2. Arcade.dev gestiona la autenticación: El backend usa el Arcade Notion Toolkit, específicamente la herramienta GetPageContentByTitle. Si no has autorizado a Arcade para acceder a tu cuenta de Notion antes, Arcade envía un evento authorization_required a la UI.
  3. El usuario autoriza: La UI muestra un enlace de autorización. Haces clic, seleccionas las páginas de Notion a las que quieres que Arcade acceda y otorgas el permiso.
  4. Direct Tool Calling: Una vez autorizado, el backend hace una llamada directa a la herramienta usando el cliente de Arcade (client.tools.execute). Esto ejecuta directamente la función GetPageContentByTitle con tu ID de usuario y el título de la página.
  5. Procesa los enlaces: El backend recibe el contenido de Notion, extrae los enlaces y los envía al agente de LangChain con el comando generate_multiple_posts.

Este enfoque de direct tool calling muestra la versatilidad de los toolkits de Arcade.dev. Significa que puedes aprovechar el manejo de autenticación y las integraciones de herramientas preconstruidas de Arcade dentro de aplicaciones web estándar, UIs o scripts de backend, no solo dentro de agentes impulsados por LLMs. Simplifica notablemente el uso de APIs como la de Notion.

Míralo en acción y únete

En el video en el que se basa este post, mostré cómo agregar un nuevo enlace a mi página “Colección de enlaces” en Notion con la Web Clipper Extension, y luego usar la UI para ingestar todos los enlaces de esa página. El agente los procesó con éxito y creó publicaciones individuales listas para revisar en AgentInbox.

Si te gustó este resumen, considera darle like al video y suscribirte al canal de Arcade.dev para más tutoriales, demos y formas divertidas de integrar Arcade en tu flujo de desarrollo. ¡No olvides dejar un comentario! Nos encantaría leer lo que piensas.

¡Hasta la próxima, a construir!

Mira el repositorio completo para construirlo tú mismo en: https://github.com/ArcadeAI/social-media-agent

Regístrate en arcade.dev: https://app.arcade.dev/register