Usa las plantillas de Zap de Zapier para Discourse

Zapier ofrece varias plantillas oficiales de Zap para Discourse. Estas plantillas permiten conectar Discourse con una aplicación externa con una configuración mínima. Puedes encontrarlas aquí:

Desplázate hacia abajo en esa página para ver la lista de las integraciones disponibles actualmente.

Estas plantillas se dividen en dos tipos. En el primer tipo, Discourse es la aplicación desencadenante. Estas plantillas te permiten publicar publicaciones de Discourse en Slack, Mattermost, Discord, Grupos de Facebook, Páginas de Facebook, Hojas de cálculo de Google y otros servicios. En el segundo tipo de plantilla, Discourse es la aplicación de acción. Con estas plantillas puedes publicar publicaciones desde WordPress y Ghost hacia Discourse. También existe una plantilla para transmitir en vivo de Twitch a Discourse.

Agregar tus credenciales de Discourse en Zapier

Para utilizar cualquiera de las integraciones de Zapier con Discourse, deberás agregar la URL base de tu foro, así como tu nombre de usuario de Discourse y tu clave API cuando configures el Zap por primera vez.

En la mayoría de los casos, el Zap debe ser configurado por un administrador del sitio con su nombre de usuario de Discourse y su clave API. Las claves API se pueden crear en Discourse desde la página Administración / API / Claves. Ten en cuenta que el valor completo de la clave API solo se muestra una vez al crearla por primera vez, así que asegúrate de copiarlo en ese momento.

Después de agregar tus credenciales de Discourse en Zapier, haz clic en el botón Continuar. Deberías ver un mensaje de Éxito en la pantalla.

Configurar qué publicaciones recuperará el Zap

Cuando Discourse es la aplicación desencadenante, por defecto todas las nuevas publicaciones en tu sitio activarán el Zap. Puedes limitar el Zap para que solo se active por publicaciones creadas en un tema específico, o solo por publicaciones creadas por un usuario específico, en el paso opcional “Editar opciones”.

Utiliza el menú desplegable Tema del paso para seleccionar un tema específico que debe activar el Zap. Cuando esto se configura, solo las publicaciones creadas en el tema elegido serán recuperadas por Zapier. Utiliza el menú desplegable Autor del paso para seleccionar un nombre de usuario para el Zap. Cuando se configura, solo las publicaciones creadas por este usuario serán recuperadas por Zapier.

Agregar un paso de filtro para un control más fino sobre las publicaciones

Si el paso “Editar opciones” no te da suficiente control sobre qué publicaciones se utilizan para activar el Zap, puedes agregar un paso de Filtro opcional al Zap. Un ejemplo de lo que se puede hacer con un Filtro es elegir que el Zap solo continúe si la publicación es la primera en una categoría específica. Para agregar un Filtro, haz clic en el icono :heavy_plus_sign: que está debajo del Desencadenante y luego selecciona “Filtro” en el menú.

El filtro te permitirá establecer las condiciones bajo las cuales el Zap debe continuar. El ejemplo a continuación solo continuará si la publicación es la primera en un tema que está en la categoría con un ID de 2.

Seleccionar el contenido de Discourse a publicar

Al publicar publicaciones desde Discourse hacia otra aplicación, Zapier te permitirá seleccionar qué parte de la publicación deseas publicar. Lo que elijas publicar dependerá de la aplicación a la que estés publicando. Usaré como ejemplo la publicación de una publicación de Discourse en un Grupo de Facebook.

El campo Mensaje del formulario establece el contenido que se publicará. Para publicar el contenido completo de la publicación, selecciona el campo “Raw” (Sin formato) en el menú desplegable de Mensaje. Para publicar solo el título del tema, selecciona “Título del tema” en el menú desplegable.

Construir un enlace a una publicación o a un tema

Al publicar una publicación de Discourse en una aplicación externa, es posible que necesites construir un enlace a la publicación o a su tema a partir de los datos devueltos por Discourse. Para ello, ingresa la URL base de tu sitio en el campo donde estás agregando el enlace, seguido de /t/. Por ejemplo, si la URL de tu sitio es https://discourse.example.com, ingresa https://discourse.example.com/t/ en el formulario.

Ahora abre el menú desplegable del campo y selecciona “Slug del tema” en el menú.

Zapier agregará un marcador de posición para el slug del tema en el campo.

Ahora ingresa una barra (/) después del marcador de posición del slug del tema y luego selecciona “ID del tema” en el menú desplegable.

El resultado final se verá similar a la captura de pantalla a continuación.

Para construir un enlace a publicaciones específicas en un tema, agrega otra barra (/) al campo y luego selecciona “Número de publicación” en el menú.

Ten en cuenta que los valores de cualquier marcador de posición que uses al configurar el Zap serán reemplazados por los valores pasados desde Discourse cuando se publique una nueva publicación.

Crear integraciones sin una plantilla

Las plantillas de Zapier que se listan en su página de integraciones están diseñadas para facilitar la conexión de Discourse con una aplicación externa. Si deseas conectar Discourse con una aplicación que no tiene una plantilla, o si deseas crear un Zap que escuche un webhook de Discourse o realice una solicitud POST a la API de Discourse, puedes hacerlo siguiendo o modificando una de las guías listadas aquí:

17 Me gusta

Obtengo lo siguiente en la pantalla de agregar credenciales de Zapier

Ocurrió un error al agregar tu nueva cuenta

autenticación fallida: Código de error 500: {“status”:500,“error”:“Error interno del servidor”}

Todos los detalles son correctos.

Discourse informa el uso exitoso de la clave de API:

Y el siguiente registro de error:

Mensaje

Draft::OutOfSequence (Draft::OutOfSequence)
/var/www/discourse/app/models/draft.rb:124:in `get'

Rastreo

/var/www/discourse/app/models/draft.rb:124:in `get'
/var/www/discourse/lib/topic_list_responder.rb:11:in `respond_with_list'
/var/www/discourse/app/controllers/list_controller.rb:152:in `block in generate_message_route'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/base.rb:195:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rescue.rb:22:in `process_action'

Entorno

HTTP HOSTS: discuss.bevry.me

Ejecutando 2.5.0.beta4 (811bc3544f)


Dicho esto, al actualizar la página de agregar Zap que provocó la ventana emergente, aparece lo siguiente:

Parece que se agregó correctamente a pesar del error


Sin embargo, al seleccionar una de las entradas agregadas, simplemente se solicita nuevamente el flujo de autenticación:

4 Me gusta

¿Estás usando una clave de API de Discourse para todos los usuarios y el nombre de usuario de un administrador en tu sitio? No estoy seguro de que eso sea lo requerido, pero la semana pasada configuré una nueva cuenta de Zapier Discourse con credenciales de API de administrador. Funcionó para mí entonces.

1 me gusta

Nos encontramos con este problema también.

Ahora es edición: era imposible hacer casi nada (bueno, bastante) con un usuario con un ID negativo, debido a este cambio:

@tgxworld Sería genial si fuera posible desactivar este nuevo comportamiento y/o incluir cuentas en una lista blanca.

3 Me gusta

Eso era un error y se ha corregido en

3 Me gusta

¡De hecho, algo con lo que nos encontramos ayer :laughing: .
¡Gracias!! (y debería haberlo comprobado antes de hacer este post)

3 Me gusta

¡Muchas gracias, funciona de maravilla!

1 me gusta

Hola, ¿hay alguna manera de filtrar las publicaciones de Discourse que actúan como desencadenante para retener solo los nuevos temas (la primera publicación en un hilo) y descartar las respuestas en un hilo? Gracias.

Finalmente encontré cómo hacerlo:

1 me gusta

Todavía me devuelve un error 403, específicamente dentro de la parte “Configurar desencadenador” de Zap donde se supone que debo especificar el Autor:

He probado tanto la configuración “Todos los usuarios, Global” y “Usuario único, Global”, así como la configuración “Todos los usuarios, Solo lectura”. Todas devuelven el mismo error (403).

1 me gusta