Метки

Организация и категоризация переписок агента в масштабе.

Что такое Labels?

Labels — простые строковые теги для Messages и Threads. Это основной способ упорядочивать переписки и вести состояние: автоматически раскладывать треды по кампаниям, сегментировать лиды в аутриче или классифицировать входящие по уровню запроса.

У Message может быть несколько Labels — гибкая модель для сложных процессов.

Сценарии для Labels

1

Управление состоянием

Отслеживайте состояние диалога: агент ставит needs-human-review, если не уверен; супервайзер — approved-to-send на Draft.

2

Кампании

В аутриче помечайте каждое Message уникальной меткой кампании вроде q4-2024-outreach или mercor-campaign и второй меткой вроде warm-lead. Потом легко фильтровать и анализировать результаты.

3

Автоматическая сортировка

Входящий агент может ставить billing-question, feature-request, bug-report — дальше подключаются специализированные агенты или люди.

4

Прочитано / непрочитано

Отмечайте обработанные Messages: после обработки добавьте read, снимите unread. Фильтр labels=["unread"] даёт только новые письма — агент не крутит одно и то же. Примеры — в Пометка сообщений как прочитанных.

Основные операции

1. Метки при отправке Message

Массив Labels можно передать сразу при отправке.

1sent_message = client.inboxes.messages.send(
2 inbox_id="outbound@agentinbox.space",
3 to=["test@example.com"],
4 subject="Following up on our conversation",
5 text="Here is the information you requested.",
6 labels=["follow-up", "q4-campaign"]
7)

2. Добавить или снять метки у существующего Message

Метод update (PATCH): удобно менять состояние по ходу работы агента.

1# Добавим метку 'resolved'
2
3client.messages.update(
4inbox_id='outbound@domain.com',
5message_id='<abc123@agentinbox.space>',
6add_labels=["resolved"],
7remove_labels=['unresolved']
8)

3. Фильтрация по Labels

Можно получать Threads, Messages и Drafts с фильтром по одной или нескольким меткам.

1# Треды кампании, которым нужен follow-up
2filtered_threads = client.inboxes.threads.list(
3 inbox_id = 'outbound-agent@domain.com',
4 labels=[
5 "q4-campaign",
6 "follow_up"
7 ]
8)
9
10print(f"Found {filtered_threads.count} threads that need a follow-up.")

Скопировать в Cursor / Claude

1"""
2Agent Inbox Labels — copy into Cursor/Claude.
3
4Labels are string tags on Messages and Threads for state, campaigns, triage.
5
6- Send: messages.send(..., labels=["campaign", "follow-up"])
7- Update: inboxes.messages.update(inbox_id, message_id, add_labels=[...], remove_labels=[...])
8- Filter: messages.list(inbox_id, labels=[...]), threads.list(inbox_id, labels=[...]), drafts.list(inbox_id, labels=[...])
9
10Use kebab-case or snake_case consistently.
11"""
12from agentinbox import Agentinbox
13
14client = Agentinbox(api_key="YOUR_API_KEY")
15
16# Send with labels
17client.inboxes.messages.send("out@agentinbox.space", to="user@example.com", subject="Hi", text="Body", labels=["q4-campaign"])
18
19# Update labels
20client.inboxes.messages.update("out@agentinbox.space", "<abc123@agentinbox.space>", add_labels=["resolved"], remove_labels=["pending"])
21
22# Filter by labels
23threads = client.inboxes.threads.list("out@agentinbox.space", labels=["q4-campaign", "follow-up"])

Рекомендации

  • Единообразие: договоритесь о стиле имён меток (kebab-case, snake_case и т.д.).
  • Префиксы: для состояний используйте префиксы вроде status-pending или priority-high.
  • Не перегружайте метками: много меток на одно сообщение возможно, но лучше держать набор осмысленным и компактным.
Скоро: авторазметка на ИИ

Мы делаем авторазметку на ИИ: агент задаст набор Labels и инструкции, а Agent Inbox будет сам проставлять метки входящим Messages по содержанию.