Flujos de trabajo de Discourse

¿Está prevista una plantilla de Community Workflow? Creo que puede aportar mucho valor a esta fantástica implementación.

No conozco las limitaciones técnicas, pero creo que Discourse Discovery podría habilitar o deshabilitar esta funcionalidad y reutilizar la conexión con el ecosistema de Discourse.

Está en el nodo de tema, tienes la operación de «bump» de tema.

Vale, no lo vi, probablemente porque tengo que actualizar. Gracias.

[Edit] Todo en orden tras la actualización, muchas gracias por ese manual Bump :grinning_face:

1 me gusta

Hola @j.jaffeux, al usar el disparador “nuevo usuario”, quiero que la siguiente acción se ejecute solo si la cuenta de ese nuevo usuario ha sido activada (para excluir a los bots que registran nuevos usuarios). ¿Tengo que usar el estado “aprobado” como filtro para eso? Gracias.

Y si mi suposición anterior es correcta, ¿cómo especifico el valor TRUE? ¿Como “True” o “T”? Gracias.

¡Parece que al final sí ha funcionado! Me alegra mucho que la función esté disponible

3 Me gusta

En lugar de arrastrar y soltar user.approved, permanece en el modo plano y selecciona user.approved en la lista; deberías ver esto:

¿Es posible tener

activador: publicaciones de usuario en estado de espera que responden en una categoría en particular

acción: el evento del tema al que respondió el usuario en estado de espera se cierra automáticamente, de manera similar a

No, nos faltan algunos detalles para esto

Gracias. ¿Te refieres a que aún faltan algunos detalles o puntos de datos en Workflows para dar soporte a este caso de uso?

1 me gusta

Gracias, lo hice, pero el filtro user.approved no parece filtrar a los usuarios que se registraron y confirmaron su cuenta.

Hola, ¿qué es el “sample pinned data”?

1 me gusta

Llevo horas intentando poner en marcha algo con los flujos de trabajo. No logro que la IA funcione sin que lance un error. Quizás cambie el modelo de IA e intente de nuevo.

Lo que estoy intentando lograr es algo así (¡y muy relacionado con la discusión reciente!):

  1. El programador se ejecuta una vez al día.
  2. Buscar publicaciones que no hayan tenido respuestas en 30-365 días. (Explorador de datos)
  3. Resumir los temas si aún no están resumidos + guardar en la tabla de datos.
  4. Dar el resumen + la última publicación a la IA, y pedirle a la IA si hubo un problema sin resolver o algo que requiera seguimiento.
  5. Guardar la opinión de la IA, si necesita una publicación de seguimiento o no. (Tabla de datos)
  6. Obtener de las publicaciones procesadas por la IA y elegir una a la que responder.
  7. Responder con un bot pidiendo un seguimiento, una actualización o preguntando si el problema se resolvió.

Básicamente, solo estoy intentando crear un flujo de trabajo que intente obtener algo de reinteracción aleatoria en publicaciones que están desactualizadas, pero que quizás necesiten una publicación de seguimiento.

¿Alguien tiene alguna idea? Logré obtener las publicaciones usando el explorador de datos y pude obtener un resumen de la IA. No logré que las tablas de datos funcionaran y no llegué a la etapa de publicación automática. Pero me acerqué bastante.

Mi idea era dividirlo en varios flujos de trabajo:

  • Un flujo de trabajo obtiene las publicaciones antiguas y escribe el resumen. (Guarda en la tabla de datos)
  • Otro flujo de trabajo revisa el resumen y la última publicación para ver si se debe publicar un seguimiento. (Guarda en la tabla de datos)
  • Otro flujo de trabajo mira la tabla de datos y selecciona la publicación que debe recibir una respuesta, determina qué tipo de respuesta debe recibir y publica la respuesta con una cuenta de bot.

No estoy seguro de si he resuelto cómo usarlo, ¡pero este plugin tiene mucho potencial!

1 me gusta

está en la salida, donde puedes definir los datos JSON tú mismo

1 me gusta

@j.jaffeux Siguiendo con mi pregunta anterior, he abierto una PR que añade una acción de Evento a Workflows:

Añade:

  • Evento → Cerrar evento
  • Evento → Abrir evento

La acción toma un ID de tema, resuelve el evento desde la primera publicación del tema y actualiza el evento a través de la ruta normal de edición de publicaciones/sincronización de eventos.

He probado la dirección original del caso de uso con:

Publicación creada → Evento / Cerrar evento

utilizando Input → topic.id.

Una respuesta al tema del evento cierra el evento manteniendo el tema abierto, y el cambio se refleja en vivo en la interfaz de usuario.

La PR incluye cobertura de pruebas unitarias/integración, y la suite completa de discourse-events pasó con 1124 ejemplos / 0 fallos.

Esto aborda el lado de la acción de Evento del caso de uso que mencioné anteriormente. Las condiciones de usuario/categoría/origen de correo electrónico pueden manejarse por separado mediante el disparador/condiciones del workflow.

2 Me gusta

¿Alguna sugerencia sobre cómo etiquetar automáticamente las respuestas de un agente de IA? Estoy probando el siguiente flujo de trabajo, pero no está detectando las respuestas del usuario del agente.

Por cierto, esta es una etiqueta oculta, pero el agente está en un grupo que tiene visibilidad sobre ella.

{
  "id": "6",
  "name": "My workflow",
  "nodes": [
    {
      "id": "a8490306-e7e7-42e4-b909-851f3c4fbcba",
      "type": "trigger:topic_created",
      "typeVersion": "1.0",
      "name": "When a new personal message is created",
      "parameters": {
        "topic_type": "personal_messages"
      },
      "credentials": {},
      "webhookId": null,
      "position": {
        "x": 178.6210678807947,
        "y": -18.94519916824343
      }
    },
    {
      "id": "a80813a3-35cf-414e-98b8-9892f3eab496",
      "type": "condition:filter",
      "typeVersion": "1.0",
      "name": "Keep PMs from Navigator",
      "parameters": {
        "combinator": "and",
        "conditions": [
          {
            "id": "sender_is_navigator",
            "operator": {
              "type": "string",
              "operation": "equals",
              "singleValue": false
            },
            "leftValue": "={{ $json.post.username }}",
            "rightValue": "Navigator"
          }
        ]
      },
      "credentials": {},
      "webhookId": null,
      "position": {
        "x": 290.515625,
        "y": -18.281249999999993
      },
      "notes": "",
      "notesInFlow": false,
      "alwaysOutputData": false
    },
    {
      "id": "acfcf305-1a04-4d2e-876c-48b015dc038c",
      "type": "action:topic_tags",
      "typeVersion": "1.0",
      "name": "Add onboarding-initiated tag",
      "parameters": {
        "topic_id": "={{ $json.topic.id }}",
        "operation": "add",
        "tag_names": "onboarding-initiated",
        "actor_username": "Navigator"
      },
      "credentials": {},
      "webhookId": null,
      "position": {
        "x": 513.1770833333333,
        "y": -27.32031249999998
      },
      "notes": "",
      "notesInFlow": false,
      "alwaysOutputData": false
    }
  ],
  "connections": {
    "Keep PMs from Navigator": {
      "main": [
        [
          {
            "node": "Add onboarding-initiated tag",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When a new personal message is created": {
      "main": [
        [
          {
            "node": "Keep PMs from Navigator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {},
  "staticData": {},
  "pinData": {},
  "versionId": "6271bac1-9349-4594-8bc5-2b1aeb154fcc",
  "activeVersionId": "6271bac1-9349-4594-8bc5-2b1aeb154fcc",
  "versionCounter": 31
}
1 me gusta

Me encantaría que hubiera una acción automática al crear un evento: que el autor se inscriba automáticamente por defecto. Esto permitiría adaptarse a todos los casos, ¡y especialmente al mío! :grin:

2 Me gusta

tenemos un nodo para el evento que viene la próxima semana

4 Me gusta

Sí, creo que esto podría encajar de forma natural en la misma sección de Event de Workflows.

En mi PR actual, FEATURE: Add event actions to workflows - Pull Request #42932 - discourse/discourse - GitHub , he añadido una sección Event en el constructor de workflows. En la captura de pantalla de la descripción de la PR, al abrir ese menú de Event, actualmente se muestran dos operaciones:

  • Cerrar evento
  • Abrir evento

Estas son deliberadamente las únicas dos operaciones en esa PR, ya que ese es el alcance del cambio que estoy intentando que se revise.

Tu caso de uso podría añadir potencialmente otra operación a ese mismo menú de Event, algo así como Establecer asistencia / Añadir asistente. Un workflow podría entonces usar al autor del evento como usuario y establecer su asistencia como Irá cuando se cree el evento.

Creo que sería mejor implementarlo de forma genérica — eligiendo el usuario y el estado de asistencia — en lugar de tener una acción especial solo para “registrar automáticamente al autor”.

Lo revisaré como un seguimiento, probablemente como una PR separada para que la PR actual de Abrir/Cerrar Evento se mantenga enfocada.

1 me gusta

No había visto tu respuesta antes de publicar la mía arriba.

Dado que mencionaste que un nodo de Evento llegará la próxima semana, también probaré mi PR actual localmente contra las otras ramas de PR abiertas de discourse-events / Workflows que afectan el mismo área, en lugar de depender solo de CI contra main.

Si encuentro alguna superposición o conflicto real, lo reportaré en la PR de GitHub correspondiente, en lugar de saturar este tema.

1 me gusta

Creo que esto se debe a que este usuario debe estar en pm_tags_allowed_for_groups; por supuesto, el mensaje de error podría ser más claro… Lo mejoraré.

EDIT: se mejorará en FIX: provides a better error when user can't tag PM - Pull Request #43019 - discourse/discourse - GitHub

5 Me gusta