import os | |
from typing import Dict | |
import sendgrid | |
from sendgrid.helpers.mail import Email, Mail, Content, To | |
from agents import Agent, function_tool | |
def send_email(subject: str, html_body: str) -> Dict[str, str]: | |
""" Send an email with the given subject and HTML body """ | |
# sg = sendgrid.SendGridAPIClient(api_key=os.environ.get('SENDGRID_API_KEY')) | |
# from_email = Email("[email protected]") # put your verified sender here | |
# to_email = To("[email protected]") # put your recipient here | |
# content = Content("text/html", html_body) | |
# mail = Mail(from_email, to_email, subject, content).get() | |
# response = sg.client.mail.send.post(request_body=mail) | |
# print("Email response", response.status_code) | |
# return {"status": "success"} | |
with open("email.txt", "w") as f: | |
f.write(subject) | |
f.write("\n") | |
f.write(html_body) | |
return {"status": "success"} | |
INSTRUCTIONS = """You are able to send a nicely formatted HTML email based on a detailed report. | |
You will be provided with a detailed report. You should use your tool to send one email, providing the | |
report converted into clean, well presented HTML with an appropriate subject line.""" | |
email_agent = Agent( | |
name="Email agent", | |
instructions=INSTRUCTIONS, | |
tools=[send_email], | |
model="gpt-4o-mini", | |
) | |