pimenov.ai

Notion Status — управляющий слой пайплайна через API и MCP

Обновлено

Status в Notion хранит одно значение для страницы и объединяет доступные значения в три системные группы: To-do, In progress и Complete. Свойство удобно использовать как общий контракт контент-пайплайна: idea → draft → review → publish.

Материал описывает REST API версии 2026-03-11, интерфейс Notion и границы протокола Model Context Protocol (MCP). Примеры основаны на официальной документации и не подтверждены запуском в конкретном рабочем пространстве.

  1. Как устроен Status — свойства, опции и группы.
  2. Status как управляющий слой процесса — этапы и правила переходов.
  3. Подключение к REST API — авторизация, права и версия API.
  4. Создание Status через API — стандартные, собственные и типизированные базы.
  5. Обновление существующего Status — полный массив опций и ограничения.
  6. Обновление Status отдельной страницы — запись значения по имени или ID.
  7. API, MCP и интерфейс — возможности каждого канала.
  8. Полезные сценарии — контент-пайплайн и внешняя автоматизация.
  9. Представления и фильтры — рабочие списки и доски.
  10. Проверка результата — контрольное чтение и частые ошибки.
  11. Чеклист — быстрая проверка схемы и интеграции.
  12. Официальные ссылки — документация и журнал изменений.

Как устроен Status

Status — тип свойства источника данных (data source). Строка источника данных представлена в API как страница.

Схема свойства содержит:

  1. Property — колонку с типом status.
  2. Options — конкретные значения, например Idea, Draft и Published.
  3. Groups — категории To-do, In progress и Complete. Каждая опция входит в одну группу.
{
  "Status": {
    "id": "...",
    "name": "Status",
    "type": "status",
    "status": {
      "options": [
        { "id": "...", "name": "Idea", "color": "gray" },
        { "id": "...", "name": "Draft", "color": "yellow" },
        { "id": "...", "name": "Published", "color": "green" }
      ],
      "groups": [
        { "id": "...", "name": "To-do", "color": "gray", "option_ids": ["..."] },
        { "id": "...", "name": "In progress", "color": "blue", "option_ids": ["..."] },
        { "id": "...", "name": "Complete", "color": "green", "option_ids": ["..."] }
      ]
    }
  }
}

Имена опций должны быть уникальны без учёта регистра; запятые в них недопустимы. Через API можно назначать опции существующим группам, но нельзя перенастраивать сами группы. Для переименования, изменения порядка и другой конфигурации групп используйте интерфейс Notion.

Status как управляющий слой процесса

Один столбец Status может быть:

  • индикатором текущего этапа в таблице или на доске;
  • основой фильтров и представлений;
  • условием, которое внешний оркестратор использует для запуска автоматизации;
  • значением, которое читают и изменяют API или подходящий MCP-инструмент.
📌
Практическое правило: заранее зафиксируйте допустимые переходы, владельца каждого перехода и ожидаемое действие внешней системы.

Для контент-пайплайна можно использовать такую схему:

  • To-do: Idea, Backlog;
  • In progress: Draft, Review, Cover;
  • Complete: Scheduled, Published, Archived.

Группы показывают общий уровень прогресса, а опции описывают конкретный этап. Само свойство Status не задаёт права доступа и не проверяет допустимость переходов: эти правила реализуются в агенте, интеграции или другом компоненте оркестрации.

Подключение к REST API

Для запросов нужны Bearer-токен, подходящие права подключения и заголовок версии:

Authorization: Bearer $NOTION_API_KEY
Notion-Version: 2026-03-11
Content-Type: application/json

Реальный токен храните в переменной окружения или секрет-хранилище. Официальный JavaScript/TypeScript SDK (программная библиотека) @notionhq/client использует те же требования к авторизации и доступу.

Создание базы требует capability insert content. Если её нет, endpoint возвращает HTTP 403. Родительская страница также должна существовать и быть доступна подключению.

Создание Status через API

Endpoint POST /v1/databases создаёт базу, её первый источник данных и первое табличное представление.

Стандартные опции

POST /v1/databases
Notion-Version: 2026-03-11
Authorization: Bearer $NOTION_API_KEY
Content-Type: application/json

{
  "parent": {
    "type": "page_id",
    "page_id": "..."
  },
  "title": [{ "text": { "content": "Контент-пайплайн" } }],
  "initial_data_source": {
    "properties": {
      "Name": { "title": {} },
      "Status": { "status": {} }
    }
  }
}

Пустая конфигурация {"status": {}} создаёт опции Not started, In progress и Done в группах To-do, In progress и Complete.

Собственные опции

{
  "Status": {
    "status": {
      "options": [
        { "name": "Idea", "color": "gray", "group": "To-do" },
        { "name": "Draft", "color": "yellow", "group": "In progress" },
        { "name": "Review", "color": "orange", "group": "In progress" },
        { "name": "Published", "color": "green", "group": "Complete" }
      ]
    }
  }
}

Поле group поддерживается при создании и обновлении status-опций с 22 июня 2026 года. Если не указать его для новой опции, API выберет To-do при наличии этой группы либо первую существующую группу.

Типизированные базы

С 2 сентября 2026 года POST /v1/databases также принимает database_type со значением tasks, projects или skills. Типы tasks и projects создают каноническую схему со Status; в канонической схеме skills это свойство не перечислено. database_type нельзя передавать вместе с initial_data_source: такое сочетание возвращает HTTP 400.

Имена свойств в типизированной базе зависят от языковых настроек пользователя, которому принадлежит токен интеграции. Для внутренних интеграций без владельца используются английские имена. Перед записью страниц прочитайте созданный источник данных и получите фактические имена и ID status-опций.

Обновление существующего Status

Схема меняется через PATCH /v1/data_sources/{data_source_id}:

PATCH /v1/data_sources/{data_source_id}
Notion-Version: 2026-03-11
Authorization: Bearer $NOTION_API_KEY
Content-Type: application/json

{
  "properties": {
    "Status": {
      "status": {
        "options": [
          { "id": "...", "name": "Idea" },
          { "id": "...", "name": "Draft" },
          { "name": "Backlog", "color": "gray", "group": "To-do" },
          { "name": "Scheduled", "color": "blue", "group": "Complete" }
        ]
      }
    }
  }
}
⚠️
Внимание: options описывает полный желаемый набор. Существующая опция, пропущенная в PATCH, удаляется из свойства. Сначала прочитайте текущую схему, объедините сохранённые и новые элементы, затем отправьте весь массив.

Для существующей опции поле group можно опустить: принадлежность сохранится. Чтобы перенести опцию, передайте её существующий id или name и новую группу.

Через API нельзя:

  • менять имя или цвет существующей status-опции;
  • создавать и перенастраивать группы;
  • превращать title-свойство в Status или другое свойство в title.

Если опцию требуется переименовать, создайте новую, перенесите на неё страницы и только затем исключите старую из полного массива.

Обновление Status отдельной страницы

Значение страницы меняется через Update page. Опцию можно указать по имени:

{
  "properties": {
    "Status": {
      "status": { "name": "Review" }
    }
  }
}

Или по ID:

{
  "properties": {
    "Status": {
      "status": {
        "id": "ff8e9269-9579-47f7-8f6e-83a84716863c"
      }
    }
  }
}

Для очистки значения передайте null:

{
  "properties": {
    "Status": { "status": null }
  }
}
💡
Для устойчивой интеграции храните ID опций и сверяйте их с актуальной схемой. Имя зависит от точного написания и может быть изменено вручную в интерфейсе.

Что доступно через API, MCP и интерфейс

ОперацияREST APIMCPИнтерфейс
Создать Status и опцииЗависит от доступного инструмента
Добавить, удалить или переместить опцию✅ через полный массив и groupЗависит от схемы инструмента
Изменить имя или цвет существующей опцииНе следует считать доступным без проверки
Перенастроить группы❌ через описанный API-контурВ пределах возможностей интерфейса
Обновить Status страницыЗависит от инструмента и прав
Фильтровать и группировать представленияФильтры запросов поддерживаются; возможности группировки зависят от API представленийЗависит от доступного view-инструмента

Notion MCP использует Streamable HTTP endpoint https://mcp.notion.com/mcp. С 3 августа 2026 года он поддерживает MCP protocol version 2026-07-28; клиенты, согласующие более ранний протокол 2025 года, продолжают работать.

Фактические возможности MCP определяются текущим списком инструментов, тарифом рабочего пространства и правами подключения. Проверяйте описание конкретного инструмента и доступ, который возвращает подключение. Общая доступность MCP не гарантирует запись схемы Status или свойства страницы.

Полезные сценарии

Контент-пайплайн

Задача: отделить идеи и черновики от материалов, готовых к публикации.

Исходные данные: опции Idea, Backlog, Draft, Review, Cover, Scheduled, Published и Archived.

Действия:

  1. Поместите Idea и Backlog в To-do.
  2. Назначьте Draft, Review и Cover группе In progress.
  3. Поместите Scheduled, Published и Archived в Complete.
  4. Создайте доску с группировкой по Status.
  5. Скройте Archived из представлений текущей работы.

Результат: доска показывает этап каждой карточки, а фильтр по Draft, Review и Cover выделяет активную работу.

Ограничение: в API-фильтрах используйте конкретные значения Status. Поле group относится к схеме опции, а не к значению страницы.

Разделение действий агента и человека

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

Правило переходов: агент выполняет Idea → Draft и Draft → Review; человек подтверждает Review → Scheduled → Published.

Результат: разрешённые переходы выполняются автоматически, остальные передаются на ручную проверку или отклоняются оркестратором.

Ограничение: проверку полномочий нужно реализовать вне Status.

Запуск внешних действий

Задача: связать переход карточки с внешней системой.

Внешний оркестратор может трактовать переходы так:

  • Idea → Draft — подготовить outline и записать его на страницу;
  • Draft → Review — уведомить редактора;
  • Review → Published — передать материал в CMS и сохранить результат в журнале.

Проверяйте итог во внешней системе: наличие записи в CMS, доставку уведомления или событие в журнале. Успешное изменение Status подтверждает только состояние страницы в Notion.

Представления и фильтры

Практичный набор представлений:

  • Доска: группировка по Status;
  • Активная работа: Draft, Review и Cover;
  • Готово к публикации: Status = Scheduled;
  • Архив: Status = Archived.

Интерфейс Notion поддерживает фильтрацию по Status и группировку доски по этому свойству. Избегайте пересекающихся названий опций: единые определения упрощают фильтры и правила автоматизации.

Проверка результата

После создания или обновления выполните контрольное чтение:

  • свойство имеет тип status;
  • status.options содержит полный ожидаемый набор;
  • status.groups[].option_ids отражает нужное распределение;
  • после обновления страницы чтение свойства показывает ожидаемую status-опцию; её точное имя соответствует запросу.

Если данные расходятся с ожидаемыми:

  1. Снова прочитайте схему источника данных.
  2. Сравните фактический options с отправленным массивом.
  3. Проверьте имя свойства и ID опций.
  4. Исправьте запрос.
  5. Повторно прочитайте схему и страницу.

Частые ошибки

  • Использовать Select там, где нужны три общие категории Status.
  • Отправлять в PATCH только новые опции и удалять пропущенные.
  • Обновлять страницу по имени опции с опечаткой.
  • Пытаться изменить имя или цвет существующей опции через API.
  • Считать Status механизмом авторизации или готовым оркестратором.
  • Предполагать наличие MCP-операции без проверки инструментов и прав.
  • Принимать успешную запись Status за подтверждение внешней публикации.

Чеклист быстрой проверки

Используется Status, а не Select
Каждая опция соответствует реальному этапу
Опции распределены между To-do, In progress и Complete
Для интеграции сохранены ID опций
Перед PATCH прочитана текущая схема
В PATCH передаётся полный желаемый массив
Правила переходов и владельцы зафиксированы вне Status
После записи выполнено контрольное чтение
Внешние действия проверяются в соответствующей системе

Официальные ссылки

Проверено 9 сентября 2026 года. В примерах используется Notion-Version: 2026-03-11.


Следующий шаг

После проектирования этапов зафиксируйте границы ответственности: Notion + ИИ: что можно доверить агенту, а что должен решать человек.

Связанные материалы

Status даёт команде единое описание этапов, а интеграциям — проверяемое текущее состояние. Если вы проектируете такой процесс для контента, CRM или внутренней работы, полезно заранее согласовать переходы и способы проверки внешних действий.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov