Что такое черновик?
Черновик — это неотправленное сообщение. Это ресурс, который позволяет вашему агенту подготовить содержимое письма — включая получателей, тему, тело и вложения — без немедленной отправки.
Мы знаем, что надежность агентов сейчас очень важна — с черновиками ваши агенты могут готовить письма к отправке, и только с вашего разрешения они могут их отправить в мир.
Черновики — это ключевой компонент для создания расширенных рабочих процессов агентов. Они включают:
* Проверка человеком в цикле: Агент может создать черновик чувствительного или важного сообщения, которое затем человек может проверить и одобрить перед отправкой.
* Отложенная отправка: Ваш агент может создать черновик, а затем отдельный процесс может отправить его в определенное время, например в рабочие часы для получателя.
* Сложная композиция: Для сообщений, требующих нескольких шагов для создания (например, получение данных из нескольких источников, генерация содержимого), черновики позволяют вам сохранить состояние письма при его составлении.
Жизненный цикл черновика
Вы можете взаимодействовать с черновиками на протяжении их жизненного цикла, от создания до момента их отправки.
1. Создайте черновик
Это первый шаг. Вы создаете черновик в конкретном входящем ящике, который в конечном итоге будет отправителем.
# You'll need an inbox ID to create a draft in.
new_draft=client.inboxes.drafts.create(
inbox_id="outbound@domain.com",
to=["review-team@example.com"],
subject="[NEEDS REVIEW] Agent's proposed response"
)
print(f"Draft created successfully with ID: {new_draft.draft_id}")
2. Получите черновик
После создания черновика вы можете получить его по ID
# Get the draft
draft = client.inboxes.drafts.get(inbox_id = “my_inbox@domain.com”, draft_id = “draft_id_123”)
3. Отправьте черновик
Это финальный шаг, который преобразует черновик в отправленное сообщение. После отправки черновик удаляется.
# This sends the draft and deletes it
sent_message = client.inboxes.drafts.send(inbox_id = 'my_inbox@domain.com', draft_id = 'draft_id_123')
print(f"Draft sent! New message ID: {sent_message.message_id}")
Обратите внимание, что теперь мы обращаемся к нему по message_id, потому что теперь это сообщение!!
Управление черновиками на уровне организации
Подобно цепям, вы можете перечислить все черновики по всей вашей организации. Это идеально подходит для создания центральной панели, где человек-надзиратель может просмотреть, одобрить или удалить любой черновик, созданный любым агентом в вашем флоте.
# Get all drafts across the entire organization
all_drafts = client.drafts.list()
print(f"Found {all_drafts.count} drafts pending review.")