email-assistant / agent.py
devsu's picture
Add initial implementation of Email Assistant Agent with Gradio interface
877bedf
Raw
History Blame Contribute Delete
1.36 kB
"""
Email Assistant Agent
This module orchestrates the multi-agent architecture for email processing,
following the pattern from the OpenAI Agents SDK notebook.
"""
from typing import Dict, Any
from tools import process_email_with_handoff_agent
def process_email(email_text: str, api_key: str) -> Dict[str, Any]:
"""
Processes an email using the multi-agent architecture.
Args:
email_text (str): The email content to process
api_key (str): OpenAI API key for authentication
Returns:
Dict[str, Any]: Dictionary containing:
- 'success': Boolean indicating if processing was successful
- 'category': Detected email category
- 'summary': Two-sentence email summary
- 'reply': Suggested professional reply
- 'error': Error message if processing failed
"""
# Validate inputs
if not email_text.strip():
return {
'success': False,
'error': 'Email content cannot be empty. Please provide the email text to process.'
}
if not api_key.strip():
return {
'success': False,
'error': 'OpenAI API key is required. Please enter your API key.'
}
# Use the handoff agent architecture
return process_email_with_handoff_agent(email_text, api_key)