Cómo conectar Discourse con cientos de aplicaciones usando Make

Ahora puedes integrar Discourse usando Make. Make es una plataforma de integración sin código donde puedes conectar fácilmente casi cualquier aplicación o API a Discourse. La aplicación de Discourse en Make cuenta con varios módulos (acciones, desencadenantes y búsquedas) que te permiten automatizar tus comunicaciones en Discourse y sincronizar datos automáticamente.

What is integromat@2x

Los módulos de Discourse te permiten monitorear, crear, actualizar, recuperar o eliminar publicaciones y temas en tu cuenta de Discourse. Los desencadenantes disponibles pueden observar publicaciones, temas y mensajes privados en Discourse para luego transferir y almacenar datos en otra aplicación.

Make te permite crear cualquier integración que puedas imaginar. Utilizando el constructor visual, puedes arrastrar y soltar tantas aplicaciones o pasos como sea necesario para simular el flujo de trabajo real. Actualmente hay más de 700 aplicaciones disponibles, además de una variedad de aplicaciones genéricas que te permiten conectarte a cualquier API a través de HTTP/JSON.

Consulta la lista completa de módulos de Discourse disponibles y plantillas de integración preconstruidas, o haz clic en las capturas de pantalla a continuación para ver el escenario:

Estas plantillas preconstruidas facilitan mucho la creación de escenarios. El asistente de Make te guiará paso a paso en el proceso de construcción. Por supuesto, siempre puedes expandir y personalizar el escenario para satisfacer tus necesidades individuales o crear el tuyo propio.

Para comenzar, necesitarás registrarte en una cuenta de Make y luego establecer una conexión con tu cuenta de Discourse. Una vez que te registres e inicies sesión, sigue esta guía paso a paso.

Para comenzar a crear un escenario (los escenarios son el término que usa Make para referirse a las integraciones), ingresarás al constructor visual de escenarios. Comienza eligiendo la acción de Discourse que deseas, y luego se te pedirá que crees una conexión. Para conectar tu cuenta de Discourse a Make, necesitarás obtener la clave API e insertarla en el cuadro de diálogo “Crear una conexión” de Make.

Características

  • Recupera los detalles de una publicación cuando se crea una nueva publicación

  • Recupera una lista de las publicaciones más recientes en todos los temas

  • Recupera los detalles de una publicación

  • Actualiza una publicación existente

  • Elimina una publicación existente

  • Recupera los detalles de un tema cuando se crea un nuevo tema

  • Recupera una lista de temas

  • Recupera los detalles de un tema

  • Te permite actualizar el título y/o la categoría de un tema existente

  • Elimina un tema existente

  • Recupera los detalles de un mensaje cuando se recibe un nuevo mensaje privado

  • Recupera mensajes privados en tu cuenta

  • Crea una publicación, un tema o un mensaje privado

  • Te permite realizar una llamada API personalizada

:arrow_right: Instalar: Sigue la guía de instalación del complemento para conectar Discourse con Make

Configuración

1. Inicia sesión en tu cuenta de Discourse.

2. Abre el menú en la esquina superior derecha.

3. Navega a Administración > API.

01

4. Haz clic en el botón Nueva clave API.

5. Configura la clave API de la siguiente manera:

  • Descripción: Ingresa el nombre para la clave API.

  • Nivel de usuario: Selecciona la opción Usuario único para restringir el acceso vía API al usuario especificado en el campo Usuario a continuación.

  • Usuario: Selecciona el usuario al que deseas otorgar acceso API a tu cuenta de Discourse. Los nombres de usuario disponibles se mostrarán a medida que escribas.

  • Clave global (permite todas las acciones): Activa esta opción para permitir todas las acciones. De lo contrario, define los alcances específicos que deseas habilitar para el acceso API.

6. Haz clic en el botón Guardar y copia la clave API proporcionada.

7. Ve a Make y abre el cuadro de diálogo Crear una conexión del módulo de Discourse. Completa los siguientes campos:

  • Nombre de la conexión: Ingresa el nombre para la conexión a tu cuenta de Discourse.

  • URL del host: Selecciona la URL de tu dominio de Discourse (incluyendo HTTPS), por ejemplo, https://.discourse.group

  • Clave API: Ingresa la clave API que copiaste en el paso 6 anterior.

  • Nombre de usuario de la API: Ingresa el nombre de usuario del usuario asignado a la clave API.

8. Haz clic en el botón Continuar para establecer la conexión.

Ahora puedes continuar configurando el módulo y conectando el resto de tus aplicaciones de manera similar. Si necesitas ayuda para configurar tus integraciones, puedes contactar al equipo de soporte de Make enviando un ticket.

16 Me gusta

¡Gran publicación! Integromat es increíble :heart:

2 Me gusta

¿No serás Michaela Staffova, especialista en soluciones generalista de Integromat por casualidad?

5 Me gusta

Eso es correcto :slightly_smiling_face: Y estoy muy feliz de trabajar para Integromat mientras lo encuentro increíble :pray:

4 Me gusta

¡Esta es mi plataforma de automatización favorita :clap:! Ya la he estado usando con la API de Discourse durante mucho tiempo; supongo que ahora puedo migrar algunos de mis módulos :slight_smile:

8 Me gusta

¡Gracias por los continuos comentarios positivos, @bartv! También vimos la publicación que最近 publicaste sobre nosotros :slightly_smiling_face:

3 Me gusta

¡La tarifa es realmente buena en comparación con Zapier. Además, tiene un plan gratuito mucho mejor. Voy a probarlo para explorar algunas funcionalidades posibles con mi comunidad. Me gustaría vincular las comunicaciones de Discourse y del grupo de Telegram.

2 Me gusta

Claro, @Bill, también tenemos Telegram, puedes verlo aquí. Si necesitas ayuda para configurar tus escenarios, por favor contacta al Equipo de Soporte de Integromat :slight_smile:

1 me gusta

Aquí tienes uno de mis escenarios favoritos, que escribí para un resumen semanal de las mejores obras de arte en Blender Artists, que publico en mi otro sitio, BlenderNation. Creo una hoja de cálculo de Google con las URLs de las publicaciones que quiero destacar. El escenario carga cada tema, obtiene la imagen en miniatura, la sube a WordPress y construye todo el artículo. Lo único que tengo que hacer es hacer clic en publicar. Lo que antes me llevaba al menos una hora ahora se reduce a cinco minutos de trabajo. (El escenario que publiqué arriba es el paso 2 de este proceso: toma la misma hoja de cálculo, felicita a todos, les otorga una insignia, etc.).

13 Me gusta

¡Guau, @bartv, esto es increíblemente impresionante, gracias por compartirlo! Siempre es un placer toparse con un usuario avanzado :slightly_smiling_face:. Sigue con el gran trabajo y gracias por automatizar con nosotros :pray:

3 Me gusta

He abierto una solicitud de funcionalidad para el soporte de etiquetas de Discourse:
https://www.integromat.com/en/requests/requests-to-update-existing-apps/p/discourse-add-tag-support

No pude encontrar nada relacionado con etiquetas en los campos disponibles en Integromat. Creo que sería muy útil tener esta opción disponible.

En mi caso concreto, quiero poder asignar una etiqueta a un tema en Discourse y utilizarla como desencadenante en Integromat para transferir luego el contenido de ese tema a ClickUp. Más específicamente, lo usaré para marcar ciertos temas del foro para su seguimiento de desarrollo en ClickUp (por ejemplo, nueva funcionalidad, error, etc.).

No todos los temas del foro deben ir a ClickUp, y queremos poder utilizar las categorías para diferenciar, por ejemplo, entre errores y nuevas funcionalidades (u otras cosas). Una solución temporal podría ser mover un tema a una categoría especial llamada “ClickUp” y utilizar la compatibilidad actual de datos de Integromat para gestionar esto, pero sería mucho mejor y menos intrusivo con las etiquetas.

¡Gracias por el excelente soporte de Integromat!

¡Hola @oshyan! Espero que estés bien y gracias por automatizar con nosotros.

Desafortunadamente, actualmente no existe una forma elegante de lograr lo que buscas. Esto se debe principalmente a las limitaciones de la API de Discourse. El problema principal es que no hay una manera sencilla de monitorear asignaciones recientes de etiquetas.

Existe una solución, pero, como se mencionó antes, no es muy elegante:

  1. Obtén una lista de todas las etiquetas mediante el módulo “Realizar una llamada a la API” (aprende a realizar llamadas a la API con Integromat aquí).
  2. Obtén los detalles de cada etiqueta = obtén la lista de temas asignados mediante el módulo “Realizar llamada a la API”.
  3. Guarda el estado actual en una base de datos (podría ser un Almacén de Datos dentro de Integromat).
  4. Compara el estado actual con el anterior.
  5. Identifica qué temas tienen nuevas etiquetas.
  6. Ejecuta la acción deseada en ClickUp.

Lo lamentable es que este escenario consumiría un número considerable de operaciones. Somos conscientes de que esto no es muy conveniente, pero Integromat solo puede trabajar con lo que permite la API específica.

Esperamos que esto aclare la situación :slightly_smiling_face:

Si tienes alguna pregunta, no dudes en preguntar y nos aseguraremos de brindarte más contexto.

¡Que tengas un gran día!

1 me gusta

¡Vaya, gracias, eso es muy útil e informativo! Parece que tendré que solicitar algunas actualizaciones de la API al equipo de Discourse.

Suponiendo que la API se actualice para permitir consultar nuevas etiquetas en los temas, ¿imagino que no sería difícil añadir soporte para etiquetas en Integromat en ese momento?

¿No podría funcionar esto con un webhook de temas? Por ejemplo, cada vez que se actualice un tema en Discourse y tenga una etiqueta, asegurarse de que se agregue a ClickUp.

1 me gusta

Interesante. No estoy seguro exactamente de cómo funciona esto ni de cómo configurarlo. Mientras pueda coincidir cuando se agrega una nueva etiqueta a un tema previamente creado y solo realice la acción “agregar a ClickUp” con una etiqueta específica (o varias), entonces cubriría mi necesidad, al menos.

Aún creo que la API parece necesitar un mejor soporte para etiquetas.

Necesitaba algo similar: quería un feed de temas con una etiqueta específica, ordenados por fecha de etiquetado. Finalmente, lo solventé configurando una consulta en el explorador de datos y luego llamando al informe desde un script externo. Me encantaría compartir los detalles si eso te ayuda.

3 Me gusta

¡Gracias! Creo que eso me da una dirección para explorar si una solución basada en Integromat no funciona. Te avisaré si los detalles son útiles. ¡Gracias de nuevo! :slight_smile:

1 me gusta

@oshyan @bartv @JonathanShaw

:raised_hand_with_fingers_splayed: ¡Hola a todos!

Tras una investigación más profunda, podemos confirmar que una solución a través de nuestro módulo genérico de webhooks podría ser una opción viable.

Si puedes configurar webhooks en tu cuenta de Discourse y utilizar una URL de webhook genérica de Integromat como oyente, podrás escuchar eventos de “topic” que incluyen información de etiquetas en la carga útil.

Un inicio de escenario podría verse así:

Como sabes, un tema puede tener más de una etiqueta, por lo que deberías iterar a través de las etiquetas antes de realizar cualquier acción. Nuestro escenario de ejemplo termina con “Iterator”, pero necesitarías agregar más módulos para realizar las acciones deseadas (por ejemplo, en la aplicación ClickUp mencionada anteriormente).

También puedes revisar las partes más importantes del escenario en las siguientes capturas:



También estamos investigando si podríamos agregar soporte nativo de webhooks dentro de la aplicación Discourse existente con nuestro equipo de desarrollo, pero dado que los webhooks en Discourse existen desde 2016, podría haber un problema técnico que nos impida hacerlo.

¡Esperamos que esto te sea útil!
Háganos saber si necesita más ayuda :robot:

1 me gusta

¡Vaya, este es un excelente soporte! Gracias de nuevo. ¿Esto evita entonces la necesidad de usar un almacén de datos y un proceso de comparación?

¡Con gusto te ayudo, @oshyan :slightly_smiling_face:

Para responder a tu pregunta:

Sí, en este caso específico, no deberías preocuparte por el almacén de datos (un 90% seguro al respecto), y esto es por qué:

  1. Asumimos que, una vez que se asigna una etiqueta a un tema, rara vez se elimina. Solo podrían agregarse nuevas etiquetas.
  2. Cada cambio en un tema generará un nuevo ping con el conjunto actual de etiquetas asignadas al tema; por lo tanto, en cuanto tus etiquetas “monitoreadas” aparezcan asignadas a un tema, tu escenario que genera acciones en ClickUp se activará de inmediato.

Aún podría haber una razón para usar un almacén de datos si deseas que el escenario sea totalmente sólido (y bastante complicado, para ser honesto):

  1. Por ejemplo, un tema recibe una etiqueta, luego se elimina esa etiqueta y más tarde se vuelve a agregar la misma etiqueta =\u003e Esto activaría tu escenario para realizar la misma acción que ya se había procesado antes. En este caso, podrías querer almacenar información sobre qué se ha enviado a ClickUp y qué no, y no proceder si el elemento ya fue enviado a ClickUp… Por otro lado, podrías simplemente “Listar todas las tareas” antes de enviar a ClickUp y solo enviar a ClickUp si la tarea aún no está allí, sin necesidad de preocuparte por un almacén de datos. Esto realmente depende de tu lógica de negocio.
  2. Un almacén de datos podría simplemente ser un buen registro de los elementos procesados si alguna vez deseas ver qué sucedió en una fecha XYZ. Por otro lado, también podrías guardar el registro en Google Sheets… Y, una vez más, esto depende de tu lógica de negocio.

Avísanos si necesitas más aclaraciones.

1 me gusta