Mostrar cumpleaños en Slack

Antes de empezar

Para desear un feliz cumpleaños y celebrar los años de antigüedad automáticamente en Slack, puede utilizar Zapier para realizar esta tarea de forma fácil y rápida.

Información importante: se necesita una cuenta Zapier de pago. 

chrome_2017-08-11_14-28-39.png
o bien

chrome_2017-08-11_14-28-45.png

Configuración del zap

Debe configurar el primer paso. El botón «Crear un zap» lleva a esta página, donde se debe seleccionar un «Activador». Entonces, se puede seleccionar «Schedule».

1_create-a-zap_full_en.png

2_choose-schedule_en.png

A continuación, se le pedirá que configure su reloj. En primer lugar, se le preguntará con qué recurrencia quiere que se ejecute el script, por ejemplo, todos los días.

3_event-periodicity_en.png

Seguidamente, podrá elegir a qué hora del día se ejecutará el script y si quiere o no que se ejecute en el fin de semana.

4_setting-trigger_en.png

Tras confirmar este paso, podrá ejecutar pruebas para este paso con la última pestaña, «Test trigger».

Para el segundo paso, el de la acción, puede seleccionar la aplicación «Code by Zapier».

5_choosing-code_en.png

Seleccione Javascript.

6_choose-action_en.png

Primero debe rellenar las secciones de «Entrada», sustituyendo las «xxx» con sus datos.

- La primera clave es la URL y, para el valor, sustituya las «xxx» por el nombre de la instancia de Lucca

- La segunda clave es la appToken y, para el valor, sustituya «xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx» por su clave API de Lucca.

Aviso: la clave de API que debe utilizar es una clave de API de Lucca y debe concederle la autorización de «Ver los datos Lucca».

7_setting-action_en.png

Seguidamente, podrá copiar el siguiente código incluido en la parte «Code»: 

var today = new Date();


var yearS = "" + today.getFullYear();

var month = today.getMonth() + 1;

var monthS = month > 9 ? "" + month : "0" + month;

var dayS = today.getDate() > 9 ? "" + today.getDate() : "0" + today.getDate();


var todayS = yearS + "-" + monthS + "-" + dayS;


var urlBase = input.url + "/api/v3/users?fields=birthDate,picture.href,firstName,lastName,DtContractStart&dtContractEnd=since," + todayS + ",null";


var appToken = input.appToken;


var potentialBirthDateArray = [];
var increment = 1;

if(monthS=="02" && dayS == "29") {
    increment = 4;
}
for (var yearShift = increment ; yearShift <= 70; yearShift+=increment) {

    potentialBirthDateArray.push((today.getFullYear() - yearShift) + "-" + monthS + "-" + dayS);

}


var getSeniorityAnniversary = function (people) {

   fetch(urlBase + "&DtContractStart=" + potentialBirthDateArray.join(","), {

       "headers": {

           "Authorization": "lucca application=" + appToken

       }

   }).then(function (response) {

       return response.json();

   }).then(function (results) {

       results = results.data.items;

       results.map(function (result) {


           if (result.picture && result.picture.href) {

               result.pictureHref = result.picture.href;

           } else {

               result.pictureHref = null;

           }


           result.year = (today.getFullYear() - result.dtContractStart.split("-")[0]);

           result.birthDayMessage = result.firstName + " " + result.lastName.slice(0, 1) + ". ¡ya «+ result.year +» años con nosotros! :cake: ";


           people.push(result);

       });

       callback(null, people);

   }).catch(function (error) {

       console.log(error);

   });

}


fetch(urlBase + "&birthDate=" + potentialBirthDateArray.join(","), {

   "headers": {

       "Authorization": "lucca application=" + appToken

   }

})

   .then(function (res) {

       return res.json();

   }).then(function (data) {

       var people = data.data.items;

       if (people.length > 0) {

           people.map(function (person) {

               if (person.picture && person.picture.href) {

                   person.pictureHref = person.picture.href;

               } else {

                   person.pictureHref = null;

               }

               person.year = (today.getFullYear() - person.birthDate.split("-")[0]);

               person.birthDayMessage = «Feliz cumpleaños» + person.firstName + " " + person.lastName.slice(0, 1) + ". ! " + ¡person.year + " años solamente! :cake: ";

           });

       }


       getSeniorityAnniversary(people);

   }).catch(function (error) {

       console.log(error);

   });

Punto importante: la prueba debe realizarse en un día en el que como mínimo un usuario cumpla años.

Atención: Tenga en cuenta que la prueba de código Javascript no será válida si tiene una restricción de dirección IP en su instancia de Lucca.

Ya solo tiene que configurar la última acción, que permitirá enviar los resultados en uno de sus canales Slack.

8_step-add_en.png

9_process-slack_en.png

Seleccione la opción «Send Channel Message».

10_message-slack_en.png

En el paso siguiente, conéctese con los datos de nombre de usuario de su cuenta Slack.

11_sign-in_en.png

Seguidamente, complete las opciones, empezando con el nombre del canal e introduzca su texto. Puede utilizar el texto de este ejemplo para su configuración:

12_setup-sending-message_en.png

Después, solo deberá confirmar este paso y ejecutar las pruebas para finalizar la configuración.

Ejecución del zap

Puede ejecutar el zap pulsando el botón «OFF» para que cambie a «ON».

13_start-zap_en.png

Contenido de la página

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 1 de 1