> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://agentinbox.space/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://agentinbox.space/_mcp/server.

# Как сделать human-in-the-loop?

Несколько механик, чтобы человек оставался в контуре при отправке писем агентом.

## 1. Копия человеку (CC / BCC)

Самый простой вариант — копировать руководителя на каждое исходящее.

**`Python`**

```python title="Python"
client.inboxes.messages.send(
    inbox_id="agent@yourdomain.com",
    to=["customer@example.com"],
    cc=["manager@yourcompany.com"],
    subject="Re: Your request",
    text="I've processed your refund...",
    html="<p>I've processed your refund...</p>"
)
```

`bcc` — если получатель не должен видеть копию.

## 2. Черновики до отправки

Агент создаёт черновик, человек утверждает — для договоров, юридических и финансовых писем.

**`Python`**

```python title="Python"
draft = client.inboxes.drafts.create(
    inbox_id="agent@yourdomain.com",
    to=["important-client@example.com"],
    subject="Contract proposal",
    text="Here is our proposal...",
    html="<p>Here is our proposal...</p>"
)

print(f"Draft created: {draft.draft_id}")

sent_message = client.inboxes.drafts.send(
    inbox_id="agent@yourdomain.com",
    draft_id=draft.draft_id
)
```

Все черновики организации:

**`Python`**

```python title="Python"
all_drafts = client.drafts.list()
print(f"{all_drafts.count} drafts pending review")
```

См. [Черновики](/drafts).

## 3. Метки для эскалации

**`Python`**

```python title="Python"
client.inboxes.messages.update(
    inbox_id="agent@yourdomain.com",
    message_id=msg.message_id,
    add_labels=["needs-human-review", "escalation"]
)
```

Периодический опрос:

**`Python`**

```python title="Python"
flagged = client.inboxes.messages.list(
    inbox_id="agent@yourdomain.com",
    labels=["needs-human-review"]
)

for msg in flagged.messages:
    notify_human(msg)
```

## 4. Allowlist как жёсткая граница

Send allowlist — письма только на явно разрешённые адреса/домены; иначе API отклонит запрос.

**`Python`**

```python title="Python"
client.lists.create("send", "allow", entry="trusted-customer.com")
client.lists.create("send", "allow", entry="partner-corp.com")
```

## Практика

* В начале — **CC + черновики**, пока нет доверия к агенту
* Рутину можно автоматизировать; важное — через черновики
* Всегда задавайте **эскалацию**, когда агент не уверен
* **Единые соглашения по меткам** для дашбордов и алертов
* Комбинируйте: allowlist для известных получателей, черновики для новых, CC на первое время