Habilitar la sincronización bidireccional de Zendesk

Resumen

En esta documentación, cubriremos:

  • Habilitación de la configuración de sincronización de Zendesk en Discourse
  • Configuración de un webhook de Zendesk
  • Configuración de un trigger (disparador) de Zendesk

Habilitación de la configuración de sincronización de Zendesk

Para comenzar, deberá habilitar el complemento de Zendesk, habilitar la configuración de sincronización y proporcionar un token seguro.

  1. Navegar a la Configuración del Complemento: Vaya a su sitio de Discourse y navegue a la página de configuración del complemento de Zendesk en /admin/plugins/discourse-zendesk-plugin. Alternativamente, puede encontrar la configuración buscando en /admin/site_settings.
  2. Habilitar el Complemento: Busque y habilite la configuración zendesk enabled si aún no está habilitada.
  3. Habilitar la Configuración de Sincronización: Busque y habilite la configuración sync comments from zendesk (sincronizar comentarios desde zendesk).
  4. Proporcionar Token del Webhook: En el campo zendesk incoming webhook token (token del webhook entrante de zendesk), genere y añada una cadena segura aleatoria. Este token se utilizará más tarde para configurar el webhook de Zendesk.
  5. Configurar Categorías de Autogeneración: La sincronización bidireccional solo funciona para temas en categorías que están configuradas para la autogeneración de tickets de Zendesk. Habilite zendesk autogenerate all categories (autogenerar todas las categorías de zendesk) o añada categorías específicas a la configuración zendesk autogenerate categories (categorías de autogeneración de zendesk). Sin esto, el webhook ignorará silenciosamente los comentarios entrantes.

Configuración de un webhook de Zendesk

Siga estos pasos para configurar un webhook en Zendesk:

  1. Acceder a la Página de Webhooks: Navegue a la sección Webhooks en Zendesk, en Aplicaciones e integracionesWebhooks.
    • URL de ejemplo: https://\u003cinstance_name\u003e.zendesk.com/admin/apps-integrations/webhooks/webhooks
  2. Crear un Webhook:
    • Haga clic en el botón Acciones en la esquina superior derecha.
    • Seleccione Crear webhook.
    • Rellene los detalles del webhook:
      • Método de solicitud (Request method): PUT
      • URL del endpoint (Endpoint URL): https://\u003cdiscourse.example.com\u003e/zendesk-plugin/sync
      • Formato de solicitud (Request format): JSON


  1. Probar el Webhook:
    • Haga clic en el botón Probar webhook (Test Webhook).
    • Seleccione ‘Prueba personalizada’ (Custom Test) en el menú desplegable.
    • Reemplace el JSON con el siguiente, insertando su token:
     {
         "ticket_id": "{{ticket.id}}",
         "topic_id": "{{ticket.external_id}}",
         "email": "{{current_user.email}}",
         "token": "INSERT TOKEN HERE"
     }
  • Presione Enviar prueba (Send Test). Espere una señal positiva de 400 Bad Request con la página HTML mostrada indicando éxito.

Configuración de un trigger (disparador) de Zendesk

Configure un trigger en Zendesk para automatizar acciones:

  1. Acceder a la Página de Triggers: Vaya a la sección Triggers en Zendesk, en AdminObjetos y reglasReglas de negocioTriggers.
    • URL de ejemplo: https://\u003cinstance_name\u003e.zendesk.com/admin/objects-rules/rules/triggers
  2. Crear un Trigger:
    • Haga clic en Añadir trigger (Add trigger).
    • Asígnele el nombre “Sincronización Discourse” y establezca la categoría en “Notificaciones”.
    • Configure las condiciones y acciones como se muestra a continuación.



  • Utilice el mismo cuerpo JSON que en el paso de prueba del webhook, reemplazando nuevamente “INSERT TOKEN HERE” con su token.
  1. Guardar el Trigger: Una vez configurado, asegúrese de guardar el trigger.
10 Me gusta

¡Hola @techAPJ, esto es realmente genial! ¿Existe alguna forma de configurar una sincronización activada en lugar de una sincronización en tiempo real? Es decir, que un agente agregue una etiqueta en ZD, haga clic en un botón o algo similar, y solo entonces se sincronice el ticket con la comunidad.

Estamos tratando de determinar la mejor manera de compartir en la comunidad los tickets de preguntas frecuentes comunes que recibimos en ZD con la sección de preguntas y respuestas, para que los usuarios puedan encontrar las respuestas allí en lugar de crear un ticket.

¡Gracias!

3 Me gusta

La única sincronización activada que tenemos actualmente es de Discourse → Zendesk.

Activar una sincronización manual de Zendesk → Discourse es complicado, ya que no tenemos control total sobre Zendesk. Dicho esto, investigaré si existe una forma de activar un webhook desde Zendesk añadiendo una etiqueta, etc.

3 Me gusta

@techAPJ ¿Alguna vez revisaste la sincronización entre ZD y Discourse? Estamos evaluando formas de publicar preguntas frecuentes derivadas de los tickets de Zendesk en Discourse.

¡Hola! Configuré todo pero solo funciona de Discourse a Zendesk. No sé qué me falta para que mis respuestas en Zendesk se publiquen en Discourse.

Hola, estoy con Marla aquí ^^^. ¡Logramos que el plugin funcionara! :tada:

Pero nos preguntamos: ¿hay alguna forma de continuar la sincronización bidireccional cuando/si el tema se mueve a un mensaje privado? A veces, nuestros miembros solicitan restablecer contraseñas y nos gustaría continuar la conversación dentro de la comunidad.

¡He probado el proceso anterior y funciona bien! :partying_face: Sin embargo, hay un problema cuando un comentario en Zendesk contiene un archivo adjunto: el mensaje llega, pero el archivo adjunto falta. No estoy seguro si hay un parámetro adicional que deba pasarse en el webhook para manejar los archivos adjuntos. ¿Alguien podría aclarar si se requieren parámetros específicos para esto?

¡Gracias!

Acabo de configurar el plugin de Zendesk y funciona muy bien. Me gustaría habilitar la sincronización bidireccional para los comentarios, pero no quiero que se genere automáticamente un ticket de Zendesk… realmente, nunca.

Parece que la sincronización de comentarios de ZD → Discourse requiere habilitar la generación automática. ¿Es así, o hay alguna solución alternativa?

He habilitado el plugin de Zendesk y la publicación de tickets en Zendesk funciona. Pero el Webhook en la documentación anterior (https:///zendesk-plugin/sync) devuelve un 404 cuando lo pruebo desde la página de configuración de Webhook de Zendesk. Posteriormente, no puedo actualizar las publicaciones del foro desde Zendesk. ¿Qué estoy haciendo mal?

Otro problema: Si cierro el ticket en Zendesk y alguien responde a la publicación de Discourse, el ticket cerrado no se vuelve a abrir y me pierdo la nueva publicación. ¿Alguna pista?

Hola Oliver,

Estoy seguro de que ya te has dado cuenta, pero la URL de sincronización necesita incluir tu dominio. Así que en lugar de solo https:///zendesk-plugin/sync, podría ser algo como esto: https://forum.yoursite.com/zendesk-plugin/sync.

Incluso después de configurar el ticket como “Resuelto”, deberías poder ver cualquier respuesta de Discourse en el ticket de ZD. Solo tendrás que buscar el ticket. :slight_smile:

Por ejemplo, en mi sitio de prueba creé una publicación y a partir de ella un ticket en ZD. Marqué el ticket como “Resuelto” y luego publiqué una respuesta al tema en Discourse. Recibí un comentario en el ticket de ZD: