Meta-Hackathon / openenv.yaml
parthpethia's picture
Add Email Triage OpenEnv environment - production-ready with 3 graded tasks and Flask API
fee8744
name: EmailTriage-v1
version: 1.0.0
description: |
Email triage environment for training agents to classify and route emails.
Agents learn to categorize emails (spam/normal/urgent/billing), route them
to appropriate teams, and set priority levels based on email content and
sender attributes.
tasks:
- name: spam_detection
description: Binary classification task - identify spam vs legitimate emails
difficulty: easy
num_instances: 10
- name: multi_class_routing
description: Multi-class classification with team routing
difficulty: medium
num_instances: 12
- name: context_aware_triage
description: Complex routing with context awareness and escalation
difficulty: hard
num_instances: 20
action_space:
type: object
properties:
classification:
type: string
enum:
- spam
- normal
- urgent
- billing
description: Email classification category
team:
type: string
enum:
- support
- sales
- billing
- none
description: Target team for email routing
priority:
type: integer
minimum: 0
maximum: 3
description: Priority level (0=low, 1=normal, 2=high, 3=urgent)
required:
- classification
- team
- priority
observation_space:
type: object
properties:
current_email:
type: object
properties:
email_id:
type: string
description: Unique email identifier
subject:
type: string
description: Email subject line
body:
type: string
description: Email body content
sender_domain:
type: string
description: Domain of email sender
timestamp:
type: string
format: date-time
description: When email was received
is_vip_sender:
type: boolean
description: Whether sender is VIP customer
sla_hours:
type: [integer, "null"]
description: SLA response time in hours (if applicable)
inbox_state:
type: object
properties:
pending:
type: integer
description: Number of emails pending processing
spam:
type: integer
description: Count of detected spam emails
urgent:
type: integer
description: Count of urgent emails
processed:
type: integer
description: Number of emails processed
step_count:
type: integer
description: Current step in episode
task_name:
type: string
description: Name of current task
reward:
type: number
minimum: 0.0
maximum: 1.0
description: |
Reward signal for classifier/routing decision.
Combines partial credit for:
- Correct classification (40%)
- Correct team routing (30%)
- Correct priority setting (30%)
metadata:
author: Meta Hackathon Participant
license: MIT
tags:
- email-processing
- classification
- routing