Uno de los aspectos más importantes que hay que tener en cuenta en los disparadores (u otras reglas de negocio) es la necesidad de ser lo más específico posible al crear las condiciones. Lo ideal es aplicar el disparador solamente a los tickets pertinentes. Un buen ejemplo de lo que hablamos (y un error común) es olvidarse de definir los límites del disparador mediante la condición Ticket es. Esta condición tiene los dos valores siguientes: Creado y Actualizado.
El uso de esta condición puede marcar una diferencia significativa en cuántos tickets se procesan cada vez que se ejecutan los disparadores.
Por ejemplo, si crea un disparador para dirigir los tickets en función de determinados criterios que deberán tomarse en cuenta al recibirse los tickets en la cuenta de Zendesk, le conviene incluir la condición Ticket es... Creado en el disparador. De esta manera, se asegurará de que el disparador se aplique solamente cuando los tickets son creados por primera vez y no cuando esos mismos tickets son actualizados más adelante. Claro está: los tickets solo se crean una vez.
Este es un ejemplo de un disparador que usa la condición Ticket es... Creado y asigna los tickets recién creados que contienen etiquetas específicas al grupo de soporte Nivel 2.
Este disparador se ejecuta una sola vez por cada ticket recién creado que contiene cualquiera de esas dos etiquetas.
¿Qué pasaría si no usáramos la condición Ticket es... Creado? Cada vez que se cree o actualice un ticket que contenga cualquiera de esas dos etiquetas, sería asignado al grupo de soporte Nivel 2 (porque todos los disparadores se ejecutan cada vez que un ticket es creado o actualizado, y no hay ninguna condición que impida que se repita la asignación de grupo). Eso es lo que pretendíamos desde un principio, ¿pero qué pasaría si después hubiésemos asignado el ticket a otro grupo? El ticket podría ser reasignado al grupo de soporte Nivel 2 cada vez que es actualizado.
Si desea aplicar acciones a los tickets, obedeciendo determinados criterios, cada vez que se actualicen, use la condición Ticket es... Actualizado.
El ejemplo más común de cuándo usar esta condición es cuando desea enviar notificaciones al solicitante. Para ver un ejemplo de este caso, dele una mirada a uno de los disparadores de notificación predeterminados de su cuenta de Zendesk: el disparador Notificar al solicitante sobre actualización de comentarios. Esas acciones deberían ocurrir cada vez que se agrega un nuevo comentario público.
El comportamiento predeterminado de un disparador que contenga la condición Ticket es... Actualizado consiste en que las acciones del disparador serán repetidas cada vez que el ticket sea actualizado, con tal de que las condiciones del disparador sean verdaderas.
Esto quiere decir que también puede usar la condición Ticket es... Actualizado y aplicar las acciones del disparador solo una vez al ticket. Por ejemplo, es posible que lo que nos interese sea dar prioridad alta a los tickets de los clientes-banco. Y queremos que suceda solo una vez. Para ello, además de la condición Ticket es... Actualizado también agregamos una condición que compruebe si la prioridad del ticket ya ha sido establecida en alta. En otras palabras, si el ticket no satisface los criterios definidos por las condiciones, el disparador no se aplica al ticket.
En este disparador, estamos estableciendo la prioridad de todos los tickets que pertenecen a los clientes-banco (sabemos que son clientes-banco por las etiquetas que hemos agregado) en alta la primera vez que son actualizados. Pero primero comprobamos si la prioridad del ticket ya se ha establecido en alta, lo cual indicaría que el disparador ya se ha ejecutado en el ticket. Si ya se ha hecho, el ticket no se actualiza.