For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
info@patternautomation.com
ДокументацияБаза знанийЖурнал измененийСправочник API
ДокументацияБаза знанийЖурнал измененийСправочник API
  • Начало работы
    • Добро пожаловать
    • Введение
    • Быстрый старт
  • Основные понятия
    • Ящики (инбоксы)
    • Сообщения
    • Цепочки (треды)
    • Черновики
    • Метки
    • Списки
    • Вложения
    • Pods
    • Разрешения
  • Интеграции
    • Онбординг агента
    • Skills
    • MCP
    • CLI
    • Google ADK
    • OpenClaw
    • Replit
    • x402
    • MPP
    • Интеграция с LiveKit Agents
  • Руководства
    • Отправка и получение почты
    • IMAP и SMTP
    • Мультитенантность
  • Вебхуки
    • Обзор вебхуков
    • События вебхуков
    • Настройка вебхуков
    • Проверка вебхуков
  • WebSockets
    • WebSockets
    • WebSockets — быстрый старт
  • Лучшие практики
    • Доставляемость почты
    • Идемпотентные запросы
  • Примеры
    • Событийно-ориентированный агент
    • Агент автоответа
    • Агент умной разметки
    • Sales-агент на WebSocket
    • Живые почтовые агенты
  • Ресурсы
    • Часто задаваемые вопросы
    • Извлечение ответов (Talon)
    • Сообщество
    • Поддержка
info@patternautomation.com
LogoLogo
On this page
  • Что такое списки?
  • Область действия (scoping)
  • Списки для ответов (reply)
  • Примеры SDK
  • Записи списка
  • Создать запись
  • Получить запись
  • Удалить запись
  • Списки уровня inbox
  • Reply-списки
  • Скопировать в Cursor / Claude
Основные понятия

Списки

Фильтрация почты через разрешение или блокировку адресов и доменов.

Was this page helpful?
Edit this page
Previous

Вложения

Отправка и приём файлов агентами.

Next
Built with

Что такое списки?

Lists фильтруют почту: разрешают или блокируют конкретные адреса или домены. Шесть типов по двум осям:

  • Направление: send, receive или reply
  • Тип: allow или block
СписокОписание
Receive allowПринимать письма только с этих адресов или доменов
Receive blockОтклонять письма с этих адресов или доменов
Send allowОтправлять только на эти адреса или домены
Send blockЗапретить отправку на эти адреса или домены
Reply allowПринимать ответы только с этих адресов или доменов
Reply blockОтклонять ответы с этих адресов или доменов

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

Область действия (scoping)

Списки задаются на трёх уровнях. Более узкая область перекрывает более широкую:

  • Organization: на всю организацию — client.lists.
  • Pod: на все inbox в pod — client.pods.lists.
  • Inbox: на один ящик — client.inboxes.lists.

При решении «разрешить или заблокировать» сначала проверяется самый конкретный уровень. Если сработал список уровня inbox, pod и org не проверяются.

Списки для ответов (reply)

Направление reply относится к входящим письмам, которые являются ответами на ранее отправленные вами. По заголовку In-Reply-To определяется, ответ это или нет:

  • Если это ответ на исходящее сообщение — проверяются только reply-списки. Receive-списки не используются.
  • Если это не ответ — проверяются только receive-списки. Reply-списки не используются.

Ветки независимы. По умолчанию при пустых reply-списках все ответы разрешены. Ограничить ответы можно через reply allow или reply block.

Примеры SDK

Записи списка

Получить записи с опциональной пагинацией.

1entries = client.lists.list("receive", "allow", limit=10)

Создать запись

Добавить адрес или домен. Параметр reason необязателен и доступен для block-списков.

1# allow — reason не нужен
2client.lists.create("receive", "allow", entry="partner@example.com")
3
4# block — reason необязателен
5client.lists.create("receive", "block", entry="spam@example.com", reason="spam")

Получить запись

Найти запись по email или домену.

1entry = client.lists.get("receive", "allow", entry="partner@example.com")

Удалить запись

1client.lists.delete("receive", "allow", entry="partner@example.com")

Списки уровня inbox

Те же операции для одного ящика.

1# Добавить в receive allowlist inbox
2client.inboxes.lists.create(
3 "inbox_id", "receive", "allow", entry="vip@example.com"
4)
5
6# Список записей inbox
7entries = client.inboxes.lists.list("inbox_id", "receive", "allow")

Reply-списки

Кто может отвечать на исходящие письма ящика.

1# Разрешить ответы только с домена
2client.lists.create("reply", "allow", entry="nobu.com")

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

Скопируйте один из блоков ниже для полного контекста по API списков.

1"""
2Agent Inbox Lists, copy into Cursor/Claude.
3
4Filter emails by allow/block for send/receive/reply. 6 types: receive|send|reply x allow|block.
5Lists can be scoped to org, pod, or inbox level.
6
7API reference (org-level):
8- lists.list(direction, type, limit?, page_token?)
9- lists.create(direction, type, entry, reason?), reason only for block lists
10- lists.get(direction, type, entry)
11- lists.delete(direction, type, entry)
12
13Pod-level: pods.lists.list(pod_id, direction, type, ...) and same for create/get/delete.
14Inbox-level: inboxes.lists.list(inbox_id, direction, type, ...) and same for create/get/delete.
15
16Entry: full email (user@domain.com) or domain (example.com).
17Cascade: inbox > pod > org (most specific scope wins).
18Reply lists: inbound replies (detected via In-Reply-To) check reply lists, not receive lists.
19"""
20from agentinbox import Agentinbox
21
22client = Agentinbox(api_key="YOUR_API_KEY")
23
24# Org-level lists
25entries = client.lists.list("receive", "allow", limit=10)
26client.lists.create("receive", "allow", entry="partner@example.com")
27client.lists.create("receive", "block", entry="spam@example.com", reason="spam")
28e = client.lists.get("receive", "allow", entry="partner@example.com")
29client.lists.delete("receive", "allow", entry="partner@example.com")
30
31# Reply lists
32client.lists.create("reply", "allow", entry="nobu.com")
33
34# Inbox-level lists
35client.inboxes.lists.create("inbox_id", "receive", "allow", entry="vip@example.com")
36inbox_entries = client.inboxes.lists.list("inbox_id", "receive", "allow")