Votre panier est actuellement vide !

Connecter nos chatbot à sa boîte mails
—
par Bertrand COFFIN
Votre agent GPT est hébergé directement sur ChatGPT (par exemple via nos Agents personnalisés introduits par OpenAI), voici comment connecter cet agent à votre boîte mail.
1. Vérifiez les capacités d’intégration native
OpenAI permet parfois d’intégrer des API tierces dans des agents personnalisés, mais cela nécessite de suivre certaines étapes :
Étapes générales
- Accédez aux paramètres de l’agent :
- Dans l’interface de ChatGPT, ouvrez les paramètres de l’agent personnalisé.
- Recherchez les options d’intégration ou d’ajout de fonctionnalités.
- Ajoutez une clé API pour la gestion des emails :
- Si vous utilisez Gmail, activez l’API Gmail.
- Si vous utilisez Outlook, activez l’API Microsoft Graph.
- Entrez vos clés API dans les paramètres de l’agent (si cette fonctionnalité est disponible).
2. Utilisation de plugins natifs (si disponibles)
Si vous utilisez ChatGPT avec plugins activés (comme dans GPT-4 Turbo avec OpenAI Plus), vous pouvez installer un plugin de messagerie :
- Activez les plugins dans ChatGPT :
- Accédez à vos paramètres.
- Activez les plugins sous « Paramètres bêta ».
- Recherchez un plugin de messagerie dans la boutique de plugins :
- Recherchez des plugins comme Gmail ou Outlook qui permettent à ChatGPT d’accéder directement à vos emails.
- Installez et configurez le plugin avec vos informations de connexion.
3. Ajouter des fonctionnalités personnalisées via les outils d’OpenAI
Si votre agent personnalisé ne prend pas en charge les plugins directement, utilisez la méthode suivante pour ajouter une intégration API Gmail ou Outlook :
Étapes pour l’API Gmail
- Créez un projet Google Cloud et activez l’API Gmail.
- Obtenez un fichier de credentials.json.
- Ajoutez les fonctionnalités à votre agent via l’interface d’OpenAI pour interagir avec les emails.
Exemple de logique d’interaction :
Dans les paramètres de l’agent :
- Ajoutez une compétence comme :
- « Lisez les emails non lus de ma boîte mail. »
- « Répondez automatiquement à cet email. »
Exemple de script d’API pour lire des emails : L’agent utilisera ce script en arrière-plan.
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
def lire_emails():
# Chargez les credentials Gmail
creds = Credentials.from_authorized_user_file(‘credentials.json’, scopes=[‘https://www.googleapis.com/auth/gmail.readonly’])
# Connexion au service Gmail
service = build(‘gmail’, ‘v1′, credentials=creds)
# Récupère les emails
results = service.users().messages().list(userId=’me’, labelIds=[‘INBOX’], maxResults=10).execute()
messages = results.get(‘messages’, [])
emails = []
for message in messages:
msg = service.users().messages().get(userId=’me’, id=message[‘id’]).execute()
emails.append({
« sujet »: msg[« payload »][« headers »][0][« value »],
« corps »: msg[« snippet »]
})
return emails
Ajoutez ensuite la réponse générée par GPT à ces emails :
import openai
openai.api_key = « votre_clé_API »
def analyser_email(email):
prompt = f »Voici un email : {email}\nRédige une réponse professionnelle et concise. »
response = openai.Completion.create(
engine= »text-davinci-003″,
prompt=prompt,
max_tokens=150
)
return response[‘choices’][0][‘text’]
4. Automatiser directement dans l’interface
Une fois configuré, vous pouvez interagir avec votre agent via des commandes spécifiques dans ChatGPT :
- Commande pour lire les emails :
« Va chercher mes derniers emails. » - Commande pour répondre :
« Réponds à cet email : [contenu]. »
5. Tester et déployer
- Testez chaque étape pour confirmer que l’agent peut récupérer et répondre aux emails.
- Assurez-vous que toutes les clés API et autorisations sont correctement configurées.
Si votre agent hébergé ne dispose pas encore d’un moyen direct d’intégrer une boîte mail via l’interface d’OpenAI, il est possible d’utiliser des services comme Zapier ou un script intermédiaire pour automatiser cela. N’hésitez pas à préciser votre environnement pour des ajustements plus précis !
Une autre méthode :
Pour que les réponses générées par votre chatbot soient placées dans le dossier Brouillons de Gmail au lieu d’être envoyés automatiquement, vous pouvez utiliser l’API Gmail pour créer des brouillons. Voici un guide complet avec les ajustements nécessaires.
Étape 1 : Configuration des prérequis
- Activer l’API Gmail :
- Rendez-vous sur la Google Cloud Console .
- Activez l’API Gmail pour votre projet.
- Configurez une authentification OAuth et téléchargez le fichier
credentials.json.
- Installez les bibliothèques nécessaires :
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
Étape 2 : Script pour créer des brouillons
Voici un script qui récupère les emails non lus, génère une réponse avec votre chatbot, et place la réponse dans le dossier Brouillons de Gmail.
Scénario complet
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from email.mime.text import MIMEText
import base64
import requests
# Clé API de votre chatbot ChatGPT hébergé
CHATBOT_URL = « https://chatgpt.com/g/g-6735d8dd85608190993419fd04012ad3-brainstormi-auditions »
def envoyer_au_chatbot(message):
« » »
Envoie un message au chatbot hébergé et retourne la réponse.
« » »
headers = {« Content-Type »: « application/json »}
data = {« message »: message}
response = requests.post(CHATBOT_URL, headers=headers, json=data)
return response.json()[« response »]
def creer_brouillon(service, destinataire, sujet, corps):
« » »
Crée un brouillon dans Gmail.
« » »
# Crée le message MIME
message = MIMEText(corps)
message[« to »] = destinataire
message[« subject »] = sujet
raw = base64.urlsafe_b64encode(message.as_bytes()).decode()
# Utilise l’API Gmail pour créer un brouillon
draft = {« message »: {« raw »: raw}}
service.users().drafts().create(userId= »me », body=draft).execute()
print(f »Brouillon créé pour {destinataire} avec le sujet : {sujet} »)
def traiter_emails():
« » »
Récupère les emails non lus, envoie leur contenu au chatbot,
et place la réponse dans les brouillons.
« » »
# Charge les credentials OAuth pour Gmail
creds = Credentials.from_authorized_user_file(
« credentials.json »,
[« https://www.googleapis.com/auth/gmail.readonly »,
« https://www.googleapis.com/auth/gmail.compose »]
)
service = build(« gmail », « v1″, credentials=creds)
# Récupère les emails non lus
results = service.users().messages().list(userId= »me », q= »is:unread »).execute()
messages = results.get(« messages », [])
if not messages:
print(« Aucun email non lu trouvé. »)
return
for msg in messages:
# Récupère le contenu de chaque email
message = service.users().messages().get(userId= »me », id=msg[« id »]).execute()
headers = message[« payload »][« headers »]
# Trouve l’expéditeur et le sujet
expéditeur = next((header[« value »] for header in headers if header[« name »] == « From »), « inconnu »)
sujet = next((header[« value »] for header in headers if header[« name »] == « Subject »), « Sans sujet »)
contenu = message[« snippet »]
print(f »Traitement de l’email de : {expéditeur}, Sujet : {sujet} »)
# Envoie le contenu au chatbot
reponse = envoyer_au_chatbot(contenu)
print(f »Réponse générée : {reponse} »)
# Place la réponse dans les brouillons
creer_brouillon(service, expéditeur, sujet, reponse)
print(« Tous les emails ont été traités et des brouillons ont été créés. »)
if __name__ == « __main__ »:
traiter_emails()
Étape 3 : Explications du script
- Récupération des emails non lus :
- Le script utilise la requête
q="is:unread"pour récupérer les emails non lus depuis Gmail.
- Le script utilise la requête
- Transmission au chatbot :
- Le contenu de chaque email est envoyé à votre chatbot via un POST à l’URL
CHATBOT_URL. - Le chatbot renvoie une réponse, qui est utilisée comme contenu pour le brouillon.
- Le contenu de chaque email est envoyé à votre chatbot via un POST à l’URL
- Création des brouillons :
- La fonction
creer_brouilloncrée un brouillon dans Gmail avec l’API Gmail. - Les destinataires et les sujets sont extraits de chaque email.
- La fonction
- OAuth2 pour Gmail :
- Les autorisations nécessaires incluent :
https://www.googleapis.com/auth/gmail.readonlypour lire les emails.https://www.googleapis.com/auth/gmail.composepour créer des brouillons.
- Les autorisations nécessaires incluent :
Étape 4 : Tester le script
- Configurer et exécuter :
- Placez le fichier
credentials.jsondans le répertoire du script. - Exécutez le script avec :
- Placez le fichier
python script_gmail_chatbot.py
- Vérifiez les brouillons :
- Connectez-vous à Gmail.
- Vérifiez que les brouillons ont été créés avec les bonnes réponses.
Étape 5 : Automatisation (facultatif)
Pour automatiser le script :
- Planifiez l’exécution avec un cron job (Linux/macOS) ou un Planificateur de tâches (Windows).
- Exemple de cron job pour exécuter toutes les 5 minutes :
- */5 * * * * /usr/bin/python3 /chemin/vers/script_gmail_chatbot.py
- Hébergement cloud :
- Hébergez le script sur un serveur pour qu’il fonctionne en continu (AWS, Google Cloud, etc.).
Résultat attendu
- Les emails non lus seront analysés.
- Une réponse sera générée par votre chatbot.
- Les réponses seront placées dans le dossier Brouillons de Gmail, prêtes à être envoyées ou modifiées.
Si vous avez des questions ou besoin d’adapter ce script à un cas spécifique, faites-le-moi savoir !

Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.