--- title: "Codificar tu Event Function" url: https://docs.catalyst.zoho.com/es/tutorials/event-app/nodejs/configure-function/ description: "Configura una Event Function de Catalyst y asóciala con una regla en Catalyst Signals que enviará correos electrónicos de bienvenida automatizados a los usuarios de la aplicación cuando se registren." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Event Functions" url: /es/serverless/help/functions/event-functions/ - name: "Functions Directory Structure" url: /es/cli/v1/project-directory-structure/functions-directory - name: "Web Client Hosting" url: /es/cloud-scale/help/web-client-hosting/introduction/ --- # Codificar tu Event Function Ahora configuremos la Event Function, `event_app`, que enviará correos electrónicos de bienvenida automatizados al usuario con un enlace a un formulario. Este formulario permite al usuario proporcionar sus datos personales para registrarse en la aplicación del cliente. Esta función se ejecutará cuando el listener de eventos la active. El [directorio de funciones](https://docs.catalyst.zoho.com/es/cli/v1/project-directory-structure/functions-directory), `functions/event_app` contiene: * El archivo principal de la función `index.js` * El archivo de configuración `catalyst-config.json` * Los módulos de Node * Los archivos de dependencias `[package.json](https://docs.npmjs.com/files/package.json)` y `[package-lock.json](https://docs.npmjs.com/configuring-npm/package-lock-json.html)` Agregarás código en el archivo `index.js`. Copia el código de Node.js y pégalo en `index.js` en el directorio `functions/event_app` de tu proyecto, y guarda el archivo. Puedes usar cualquier IDE de tu elección para trabajar con los archivos de la aplicación. > **Nota**: Revisa el código proporcionado en esta sección para asegurarte de comprenderlo completamente. **index.js** ```javascript const catalyst = require("zcatalyst-sdk-node"); const fs = require("fs"); const path = require("path"); module.exports = (event, context) => { try { const app = catalyst.initialize(context); let eventData = event.getRawData(); let userEmailId = eventData.email; let email = app.email(); let config = { from_email: "emmy@zylker.com", // Reemplaza esto con el correo que configuraste to_email: userEmailId, subject: "We welcome you on board!", content: fs.readFileSync(path.join(__dirname, "invite.html")).toString(), html_mode: true, }; let mailPromise = email.sendMail(config); mailPromise.then((mailObject) => { console.log(mailObject); context.closeWithSuccess(); }); } catch (err) { console.error(err); context.closeWithFailure(); } }; ``` > **Nota:** Reemplaza el valor de `from_email` en la **línea 11** con la dirección de correo electrónico que configuraste para tu aplicación a través de Catalyst Mail anteriormente. ### Desplegar tu proyecto Necesitas desplegar tu proyecto en la consola de Catalyst para asegurarte de que la Event Function y la URL de la aplicación estén disponibles para usarlas al configurar la [regla](https://docs.catalyst.zoho.com/es/signals/help/rules/key-aspects/). > **Nota:** Desplegaremos todo el proyecto en la consola de Catalyst una vez más después de configurar el cliente de tu aplicación y completar las pruebas. Para [desplegar el proyecto en la consola](https://docs.catalyst.zoho.com/es/cli/v1/deploy-resources/introduction/), ingresa el siguiente comando en tu CLI y ejecútalo. ```sh catalyst deploy ``` ![catalyst_tutorials_eventapp_cli__first_deploy](https://catalyst-docs-development.zohostratus.in/images/tutorials/event-app/catalyst_tutorials_eventapp_cli__first_deploy.webp) El proyecto se ha desplegado en la consola. Puedes copiar la URL de la aplicación desde el CLI, o puedes copiarla desde el componente [Web Client Hosting](https://docs.catalyst.zoho.com/es/cloud-scale/help/web-client-hosting/introduction/). ![catalyst_tutorials_eventapp_web_cli_first_deploy](https://catalyst-docs-development.zohostratus.in/images/tutorials/event-app/catalyst_tutorials_eventapp_web_cli_first_deploy.webp) > **Nota:** Aprenderemos más sobre cómo desplegar tu aplicación en la consola y en producción cuando lleguemos al **Paso 6** del tutorial. También puedes obtener más información sobre el despliegue de recursos de Catalyst en la consola en esta [documentación de ayuda](https://docs.catalyst.zoho.com/es/cli/v1/deploy-resources/introduction/). ### Configurar tu recorrido del producto Ahora, crea un archivo HTML en el directorio `functions/event_app` y nómbralo `invite.html`. La página `invite.html` contendrá el recorrido del producto. Copia el siguiente código y pégalo en el archivo `invite.html`. **invite.html** ```xml <div class="mT" style="background-color: #f2f2f2;padding: 4%;"> <div style="width: 100%;max-width: 750px; margin: 0px auto;padding-bottom:10px;"> <img src="" alt=""> </div> <div style="width: 100%;max-width: 750px;font-size: 16px; margin: 0 auto;background: #fff; font-family: lucida grande,lucida sans,lucida sans unicode,arial,helvetica,verdana,sans-serif;"> <table style="display: table;width: 100%;" cellspacing="0" cellpadding="0"> <tr> <td style="background-color: #e80f28;height: 2px;width:25%;"> </td> <td style="background-color: #e80f28;height: 2px;width:25%;"> </td> <td style="background-color: #e80f28;height: 2px;width:25%;"> </td> <td style="background-color: #e80f28;height: 2px;width:25%;"> </td> </tr> </table> <div style="padding: 8% 5%;border: 1px solid #f3f3f3;line-height: 1.625em;"> <div style="font-size: 0.8125em;color: #3c3c3c;">Hey there!</div> <br /> <div style="font-size: 0.8125em;color:#5d5d5d; line-height: 1.625em;padding-bottom: 20px;"> </div> Welcome to Event App! We have a range of interesting and innovative features for you to explore. Please take the time to read through our product tour document. <div style="font-size: 0.8125em;color: #5d5d5d;line-height: 1.625em;padding-bottom: 20px;"> <a href="https://eventapp-779513891.development.catalystserverless.com/app/tour.html">Take the tour!</a> <!-- Replace here --> </div> <div style="font-size: 0.8125em;color: #5d5d5d;line-height: 1.625em;padding-bottom: 20px;"> If the link doesn't work, please copy the following address and paste it in your browser. </div> <div style="font-size: 0.8125em; line-height: 1.625em; width: 100%; padding:10px 0px; background-color: rgb(241,241,241);border: rgb(253,253,253) solid 1.0px;margin: 0.0px auto;"> <div style="margin: 0.0px 10.0px;color: rgb(0,0,255);"> <a href="https://eventapp-779513891.development.catalystserverless.com/app/tour.html"> https://eventapp-779513891.development.catalystserverless.com/app/tour.html</a> <!-- Replace here --> </div> </div> <br /> <div style="font-size: 0.8125em;color: #5d5d5d;line-height: 1.625em;"> <div>Regards,</div> <div>EventApp Team</div> </div> </div> </div> </div> ``` > **Nota:** Reemplaza "**https://eventapp-779513891.development.catalystserverless.com**" en el código con el nombre de dominio del proyecto que generaste para tu proyecto en las **líneas 22 y 29**. La Event Function está ahora configurada.