Latenode

Flujo para enviar un correo electrónico a un cliente de una agencia de viajes que acaba de reservar un tour

Flujo para enviar un correo electrónico a un cliente de una agencia de viajes que acaba de reservar un tour

6 min de lectura
Correo electrónico automatizado con recomendaciones de viaje tras la reserva de un tour

En este artículo, configuraremos un script en Latenode para enviar un correo electrónico a un cliente de una agencia de viajes que acaba de reservar un tour.

El esquema de este flujo es sencillo: conocemos el género y la edad del cliente, así como la ciudad desde la que viaja y la ciudad a la que planea ir. A partir de estos datos, prepararemos un texto de correo electrónico para indicarle adónde ir y qué ver cuando llegue a la ciudad. A continuación, se muestra un ejemplo del texto que preparará ChatGPT:

¡Bienvenido a la encantadora ciudad de Limassol, Chipre! Como turista de invierno, tendrá muchas cosas que ver y hacer durante su estancia. En cuanto a los lugares que visitar, las tres atracciones imprescindibles son: el Castillo de Limassol, un castillo medieval situado en el corazón de la ciudad. El castillo es un lugar excelente para conocer la rica historia de la ciudad y también ofrece magníficas vistas de la ciudad y el mar. El puerto deportivo de Limassol, un hermoso puerto deportivo con una variedad de tiendas, restaurantes y bares. Es un lugar perfecto para pasear, comer o tomar una bebida mientras admira los barcos. El casco antiguo de Limassol, un encantador barrio repleto de arquitectura tradicional, pintorescas tiendas y acogedores cafés. Es un lugar perfecto para pasear y descubrir la cultura local. En cuanto a las actividades, las tres principales recomendaciones son: visitar el Museo Arqueológico de Limassol, que alberga una amplia colección de objetos que muestran la rica historia y cultura de la isla. Realizar una ruta del vino por la región de Limassol, donde podrá degustar los vinos locales y conocer la tradición vinícola de la isla. Visitar el lago salado de Limassol, un lugar ideal para observar aves y disfrutar también de hermosas vistas de la ciudad. Limassol es una ciudad que tiene mucho que ofrecer, y estas son solo algunas de las muchas cosas que podrá ver y hacer durante su visita. Disfrute de su estancia en Limassol y no dude en pedir recomendaciones a los habitantes locales, ya que estarán encantados de ayudarle a descubrir las joyas ocultas de su ciudad.

Preparación

Primero, revisemos la lista de lo que necesitamos para crear un flujo: una cuenta de ChatGPT y su clave personal, además de una cuenta de Mailgun y su clave API privada;

La clave personal de ChatGPT se puede consultar o crear aquí, en la configuración del perfil:

La clave API de Mailgun también se encuentra en la configuración del perfil:

Creación de un flujo en Latenode

Lo primero que hacemos, como siempre, es crear un nodo: "+ Add Node" => "Http" => "Webhook";

Copiemos inmediatamente su dirección;

Guarde los cambios;

Preparemos también una solicitud para un cliente REST (Postman, Insomnia):

Solicitud para cliente REST:


    curl --request POST
    --url https://webhook.latenode.com/69/dev/8a3d287b-6580-45d0-8d69-c37b9a41e890
    --header 'Content-Type: application/x-www-form-urlencoded'
    --data 'personalTokenChatGPT=Your token'
    --data 'apiKeyMailgun=Your token'
    --data 'email=Your test email'
    --data 'personAge=26'
    --data 'personGender=male'
    --data 'desiredSeason=winter'
    --data 'cityDestination=Prague'

Cambie el enlace del Webhook por el suyo;

A continuación, sustituya en personalTokenChatGPT su clave de ChatGPT;

Después, introduzca en apiKeyMailgun su clave de Mailgun;

Cambie también el campo email por su correo electrónico de prueba; si tiene un plan gratuito de Mailgun, solo podrá enviar correos a la dirección indicada durante el registro;

El resto puede cambiarlo a su gusto;

Cree un nuevo nodo: "+ Add Node" => "Code" => "JavaScript";

Inserte el contenido:


    const apiChatGPT = "https://api.openai.com/v1";
    const apiMailgun="https://api.mailgun.net/v3";
    const personalTokenChatGPT = `Bearer ${data["{{1.body.personalTokenChatGPT}}"]}`;
    const apiKeyMailgun = data["{{1.body.apiKeyMailgun}}"];
    const personGender = data["{{1.body.personGender}}"];
    const personAge = data["{{1.body.personAge}}"];
    const desiredSeason = data["{{1.body.desiredSeason}}"];
    const cityDestination = data["{{1.body.cityDestination}}"];
    const message = `Give me an article for a tourist about the top 3 places to see and top 3 activities to do in the city of destination. The tourist is ${personGender}, ${personAge} years old, traveling in  ${desiredSeason}, destination city ${cityDestination}.`;

    const resultRawJSON = JSON.stringify({
      "model":"text-davinci-003",
      "prompt":message,
      "temperature":0,
      "max_tokens":1400
    });

    return {
      apiChatGPT,
      apiMailgun,
      personalTokenChatGPT,
      apiKeyMailgun,
      resultRawJSON
    }

Guarde;

Conecte los nodos entre sí;

Inicie y ejecute el flujo para transferir datos entre los nodos;

Abra de nuevo la configuración del nodo "JavaScript";

Revise todas las construcciones como "data["{{1.body.personGender}}"]" y compruebe que el número del Webhook corresponda al nodo desde el que recibe los datos; de no ser así, sustitúyalo por el necesario (recuerde que 1 es el número del nodo escrito debajo del nombre del nodo; después, si se trata de una consulta, deberá seleccionar el campo del objeto responsable del tipo de datos enviados o recibidos: body para formularios o query para parámetros de consulta);

A continuación, cree un nodo "Http request" que realizará una solicitud para generar frases basadas en los parámetros de texto de la variable message del nodo JS;

Cree el nodo: "+ Add node" => "Http" => "HTTP request";

Guarde;

Conectemos los nodos entre sí;

Inicie y ejecute el flujo para transferir datos entre los nodos;

Configuremos el campo "Url": al principio sustituiremos la variable "apiChatGPT" del nodo "JavaScript" y, después, especificaremos /completions;

Obtenga más información sobre esta y otras llamadas de la API de ChatGPT al final de este artículo;

Cambie el método a "POST";

En "raw", sustituya la variable del primer nodo "JavaScript";

En Headers, añadiremos dos:

- Content-Type con el valor: application/json
- Authorization; en el valor, seleccione una variable del nodo "JavaScript" con el nombre: personalTokenChatGPT

Guardemos los cambios;

Añada un nodo "Webhook response" para devolver el texto generado por ChatGPT en la respuesta: "+ Add Node" => "Http" => "Webhook response";

Guarde;

Conecte los nodos entre sí;

Inicie y ejecute el flujo para transferir datos entre los nodos;

Añadamos la respuesta recibida del nodo anterior "Http request"; no olvide indicar el índice entre corchetes;

Guardemos los cambios;

Por último, añadamos un nodo más "Http request" para enviar las ofertas de marketing generadas y listas mediante Mailgun: "+ Add node" => "Http" => "HTTP request";

Guarde;

Conecte los nodos entre sí;

Ejecute y active el flujo para transferir datos entre los nodos;

A continuación, vaya al sitio web de Mailgun, a la sección: "Sending" => "Overview";

Copie el código CURL preparado:

Péguelo en "Http request" mediante "Create from example (CURL)":

Después, copie la clave y el dominio del sitio de Mailgun en algún lugar, por ejemplo, en un bloc de notas;

En la Url, introduzca primero la variable apiMailgun del primer nodo "JavaScript", después /su dominio en Mailgun/ y, al final, /message;

Cambie el método a "POST";

En el cuerpo, seleccione la pestaña "form-data";

En el cuerpo, configure todo como en las capturas de pantalla siguientes:

- from: Mailgun Sandbox <postmaster@su dominio en Mailgun>;
- To: su buzón de correo de prueba; seleccione la variable clientEmail del nodo "JavaScript" e introdúzcala dentro de <>;
- subject: ¿Hora de viajar?;
- text: variable con el texto recibido tras la generación desde el nodo "Webhook response";

En la sección "Authorization", debajo del campo "Password", inserte la variable apiKeyMailgun del primer nodo "JavaScript";

Guarde los cambios;

Iniciemos y ejecutemos el flujo completo;

Después, debería recibir un correo con el texto generado en la dirección de correo electrónico que especificó. Revise la carpeta de spam si no lo encuentra en la bandeja de entrada;

Gracias por su atención. Nos vemos en nuevos artículos; ¡habrá otro sobre ChatGPT! 😉

Enlaces:

Básicos:

Latenode

ChatGPT

Clave API de ChatGPT

Mailgun

Clave API de Mailgun

Información:

Documentación de la API de ChatGPT

Documentación de la API de Mailgun

FAQ

Frequently Asked Questions

Envía un correo electrónico personalizado de una agencia de viajes después de reservar un tour. Con el género, la edad, la ciudad de origen, la ciudad de destino y la temporada del cliente, ChatGPT genera recomendaciones de lugares para visitar y actividades para realizar, y Mailgun entrega el mensaje.

¿Te resultó útil? Compártelo →

Escrito por

Vasiliy Datsenko

Jefe de Soporte al Cliente

Vasiliy Datsenko es Jefe de Soporte al Cliente en Latenode y un escritor de automatización centrado en productos. Su trabajo conecta las conversaciones con los clientes, la investigación sobre automatización de flujos de trabajo, los casos de uso de IA y la educación práctica sobre productos para equipos que intentan automatizar procesos comerciales reales.

Perfil del autor →

Verificado por

Oleg Zankov

CEO Latenode, No-code Expert

Con una ética arraigada en la innovación, la resolución de problemas y la experiencia de usuario, me enfoco en capacitar a los equipos para crear integraciones personalizadas y automatizar flujos de trabajo con facilidad y eficiencia. Trayendo una gran experiencia en desarrollo empresarial, emprendimiento tecnológico y desarrollo de software, reconocí la necesidad de una solución de integración más accesible, escalable y adaptable. Así nació Latenode.com. Con nuestra plataforma, las empresas pueden aprovechar el poder de la tecnología sin necesidad de conocimientos extensos de codificación. Apasionado por fomentar un futuro donde la tecnología nos sirva, y no al revés, mi misión es simplificar procesos complejos. Creo en democratizar la tecnología y equipar a los equipos con las herramientas para innovar, crecer y tener éxito en un mundo cada vez más digital.

Perfil del autor →

Seguir leyendo