Completed

Código de función de recuperar texto de email en Gmail para un Assistant de Openai

Published on the December 18, 2024 in IT & Programming

About this project

Open

Tenemos un Assistant de OpenAI para uso interno en la organización. Necesito implementar una función que permita este flujo:

1) El usuario hace una consulta al Assistant pidiendo el texto completo de un emailing enviado por la organización a sus usuarios facilitando el nombre del emailing (campo email_name) (por ejemplo DV_Emailing-Captación_1).

2) El Assistant llama a esta función, que envía el email_name a un webhook en Zapier.

3) Zapier usa su integración con Gmail para buscar en una bandeja de entrada un email con ese nombre, del que obtiene todos los datos, entre ellos el que nos interesa, "body_plain" (el texto en formato plano).

4) Zapier lanza un webhook a un endpoint de la aplicación del Assistant para enviarle el body_plain.

5) Este body_plain se devuelve al gestor de los threads del Assistant como tool outputs para que el modelo lo muestre al usuario y pueda trabajar con ese texto dentro del contexto del thread.

El código de la función del Assistant (get_emailing_body) está configurado en el Assistant (adjunto).

Toda la aplicación está escrita en Python. El Zap necesario ya está creado en Zapier.

Un dato quizá importante es que los códigos Python para desplegar las funciones del Assistant no están en el directorio raíz del proyecto, sino en /assistant/functions (por si tiene relevancia a la hora de programar los endpoints de la aplicación).

Queda a discreción del freelancer si ve más fácil o viable programar todo dentro del proyecto de Python en lugar de recurrir a Zapier para llamar a la API de Gmail.

Project overview

Por nuestra parte se facilitará toda la información necesaria para completar adecuadamente el proyecto. Esperamos que el freelancer guarde la debida confidencialidad de toda la información y los datos.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: Not specified

Skills needed