# Inbox actions

> Read a new email, choose one of your known actions, and draft the reply.

An assistant agent sorts incoming email into a short list of actions, such as reschedule, reply, file, or hand off to a person, and drafts the response. Each email is new, but the set of actions and the way you handle each one stay the same.

![A new email in, one action back](/docs/figures/cookbook-inbox-actions.svg)

## The job

- **New each run:** the sender, the request, and the dates and names in it.
- **Same each run:** your list of actions, your tone, and the fields your product needs to carry out the action.

## The call

```python
import json
from openai import OpenAI

client = OpenAI(api_key="YOUR_KEY", base_url="https://api.inferenceindex.com/v1")

ACTIONS = """Choose one action: reschedule, reply, file, handoff.
Return JSON with keys: action, reason, reply_draft,
and for reschedule also proposed_window (string)."""

def handle(email: str, calendar_summary: str) -> dict:
    response = client.chat.completions.create(
        model="workflow/auto",
        messages=[
            {"role": "system", "content": "You manage a busy founder's inbox. " + ACTIONS},
            {"role": "user", "content": f"Calendar:\n{calendar_summary}\n\nEmail:\n{email}"},
        ],
    )
    return json.loads(response.choices[0].message.content)
```

## What comes back

An example reply for "Can we move Thursday to next week?":

```json
{
  "action": "reschedule",
  "reason": "Client asked to move Thursday's call.",
  "proposed_window": "Tue or Wed next week, 10:00-12:00",
  "reply_draft": "Happy to move it. Does Tuesday or Wednesday morning next week work?"
}
```

## In production

- Your code still does the action itself: it sends the email, moves the event, or files the thread. The model picks the action and drafts the text.
- Keep the action list fixed. Requests for an action that isn't on the list can go to your fallback model.
- An email that doesn't fit any action goes to your [fallback model](/docs/fallback-models).

## Related

- [Cookbook](/docs/use-cases)
- [Support triage](/docs/cookbook/support-triage)
