Skip to navigation

Как настроить allowlist и blocklist?

Кому агент может писать и от кого принимать почту.

Списки управляют коммуникацией агента — важная мера безопасности для автономных агентов в продакшене.

Как устроены списки

Шесть типов: направление (send, receive, reply) и тип (allow или block):

СписокНазначение
Receive allowПринимать только с этих адресов или доменов
Receive blockОтклонять с этих адресов или доменов
Send allowОтправлять только на эти адреса или домены
Send blockЗапретить отправку на эти адреса или домены
Reply allowДля ответов — принимать только с этих адресов/доменов
Reply blockДля ответов — отклонять с этих адресов/доменов

Запись — полный email (partner@example.com) или домен (example.com).

Через SDK

Добавить запись

Python
from agentinbox import Agentinbox
client = Agentinbox()
# Allow receiving from a specific domain
client.lists.create("receive", "allow", entry="trusted-corp.com")
# Block a specific sender (with optional reason)
client.lists.create("receive", "block", entry="spam@example.com", reason="spam")
# Restrict sending to only certain addresses
client.lists.create("send", "allow", entry="verified-prospect@example.com")
# Prevent sending to a domain
client.lists.create("send", "block", entry="competitor.com")

Просмотр

Python
# View all entries in a list
entries = client.lists.list("receive", "allow")

Удаление

Python
client.lists.delete("receive", "block", entry="spam@example.com")

Списки на уровне ящика

Разные ящики — разные правила.

Python
# This inbox only accepts emails from meta.com
client.inboxes.lists.create(
"support@yourdomain.com", "receive", "allow", entry="meta.com"
)
# A different inbox accepts from partner.com
client.inboxes.lists.create(
"sales@yourdomain.com", "receive", "allow", entry="partner.com"
)

Правила ящика важнее pod и организации: при совпадении на ящике org/pod не проверяются.

Reply-списки

Для входящих, которые являются ответами на исходящие, проверяются заголовок In-Reply-To:

  • Ответ на ваше исходящее — только reply-списки (receive не смотрятся).
  • Не ответ — только receive-списки.

По умолчанию пустые reply-списки = все ответы разрешены (удобно для аутрича и бронирований).

Python
# Block replies from a specific sender
client.inboxes.lists.create(
"agent@yourdomain.com", "reply", "block", entry="spam-restaurant.com"
)

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

Аутрич: send allowlist — только проверенные контакты.

Python
for prospect in verified_prospects:
client.lists.create("send", "allow", entry=prospect.email)

Персональный агент: receive allowlist — отвечать только доверенным.

Python
client.lists.create("receive", "allow", entry="you@yourcompany.com")
client.lists.create("receive", "allow", entry="trusted-partner.com")

Антиспам: receive block.

Python
client.lists.create("receive", "block", entry="spam-domain.com", reason="spam")

Задачи с исходящими: receive allow — только ваш домен; ответы на исходящие по умолчанию открыты.

Python
client.inboxes.lists.create(
"agent@yourdomain.com", "receive", "allow", entry="yourdomain.com"
)
client.inboxes.lists.create(
"agent@yourdomain.com", "reply", "block", entry="spam-restaurant.com"
)

Зачем это агентам

Без ограничений агент может написать не тем людям, ответить на фишинг или зациклиться с другим ботом. Списки — «рельсы безопасности».

Подробнее: Lists.