Пошаговые инструкции intermediate 12 мин

Как подключить Claude Fable 5 к n8n

Пошаговая инструкция: как подключить Claude Fable 5 к n8n на сценарии входящий документ -> анализ -> approval -> задача.

Claude n8n документы approval automation Claude Fable 5 workflow JSON

Что соберем

Соберем практический workflow в n8n: входящий документ попадает в сценарий, Claude Fable 5 делает анализ, результат уходит на approval, после подтверждения создается задача ответственному. Такой процесс подходит для договоров, счетов, ТЗ, RFP, заявок, актов, регламентов и входящих PDF/DOCX.

Главная идея: Claude анализирует и готовит черновик решения, но не выполняет рискованные действия без подтверждения. Документ может влиять на деньги, сроки, договоренности и персональные данные, поэтому approval обязателен.

Схема workflow

Минимальная схема:

  1. Trigger: входящий файл или webhook.
  2. Download document: скачать файл.
  3. Extract text: получить текст из PDF, DOCX или Google Docs.
  4. Claude Fable 5: проанализировать документ.
  5. Parse JSON: проверить структурированный ответ.
  6. IF: определить, нужен ли approval.
  7. Approval: отправить результат человеку.
  8. Create task: создать задачу после подтверждения.
  9. Log: записать результат и ссылку на источник.

На старте лучше не делать автоматическую запись в CRM, бухгалтерию или документооборот. Сначала только анализ, черновик и задача.

Шаг 1. Подготовьте входные данные

Определите, откуда приходит документ.

Варианты:

  • Google Drive: новый файл в папке.
  • Email: письмо с вложением.
  • Webhook: файл из формы или внешней системы.
  • Telegram или Slack: пользователь отправляет файл боту.
  • Notion или Confluence: новая страница или вложение.

Для каждого документа нужно сохранить:

  • file_id;
  • название;
  • ссылка на файл;
  • источник;
  • кто отправил;
  • дата получения;
  • тип документа;
  • статус обработки;
  • владелец approval.

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

Шаг 2. Создайте trigger в n8n

Для первого теста проще использовать Webhook node.

Node: Webhook
Method: POST
Path: /incoming-document
Response mode: Respond immediately

Отправляйте в webhook JSON:

{
  "file_url": "https://example.com/document.pdf",
  "file_name": "contract_supplier_2026.pdf",
  "source": "email",
  "sender": "manager@example.com",
  "approval_owner": "legal@example.com",
  "document_type": "contract"
}

Позже webhook можно заменить на Google Drive Trigger, Email Trigger или Slack Trigger.

Шаг 3. Скачайте документ

Добавьте HTTP Request node или Google Drive node.

Для HTTP Request:

Method: GET
URL: {{$json.file_url}}
Response format: File
Binary property: document

Проверка: в n8n у следующего узла должен появиться binary-файл. Если документ пришел ссылкой с закрытым доступом, сначала настройте права.

Шаг 4. Извлеките текст

Claude лучше давать чистый текст, а не сырой PDF. Способ зависит от файла:

  • Google Docs: получить текст через Google Docs API.
  • DOCX: конвертировать в текст.
  • PDF с текстом: извлечь text layer.
  • Скан: сначала OCR.
  • Таблица: сохранить строки и заголовки.

В простом MVP можно сделать отдельный узел Extract text или внешний сервис. Важно сохранить номера страниц или разделов, если они есть.

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

Шаг 5. Вызовите Claude Fable 5

Добавьте HTTP Request node к API провайдера Claude или используйте доступный Anthropic/LLM node, если он есть в вашей сборке n8n.

Смысл запроса:

Ты анализируешь входящий документ.

Правила:
- используй только текст документа;
- не придумывай данные;
- если данных не хватает, пиши null или "не найдено";
- рискованные действия помечай approval_required = true;
- персональные данные не повторяй без необходимости;
- верни только JSON по схеме.

Передайте в prompt:

  • метаданные файла;
  • извлеченный текст;
  • тип документа;
  • правила анализа;
  • JSON-схему ответа.

Шаг 6. Задайте JSON-схему результата

Для n8n лучше, чтобы Claude возвращал строгий JSON.

{
  "document_type": "contract | invoice | rfp | spec | policy | unknown",
  "summary": "короткая выжимка",
  "key_facts": [
    {
      "fact": "важный факт",
      "source": "страница или пункт",
      "confidence": "high | medium | low"
    }
  ],
  "risks": [
    {
      "risk": "описание риска",
      "severity": "high | medium | low",
      "source": "страница или пункт",
      "owner": "legal | finance | product | sales | ops",
      "question": "что уточнить"
    }
  ],
  "approval_required": true,
  "approval_reason": "почему нужно подтверждение",
  "recommended_task": {
    "title": "название задачи",
    "description": "что сделать",
    "assignee": "email или роль",
    "priority": "high | medium | low",
    "due_date": null
  }
}

Проверка: если JSON не парсится, не продолжайте workflow. Добавьте error branch и отправляйте результат на ручную проверку.

Шаг 7. Разберите JSON в n8n

После Claude добавьте Code node или Set node.

Задача:

  • распарсить JSON;
  • проверить обязательные поля;
  • проверить `approval_required`;
  • вынести `summary`, `risks`, `recommended_task`;
  • сохранить исходный ответ Claude в лог.

Простая логика:

Если approval_required = true -> отправить на approval.
Если JSON сломан -> отправить на ручную проверку.
Если severity = high -> approval обязателен.
Если document_type = unknown -> approval обязателен.

Лучше перестраховаться: спорный документ должен уходить человеку.

Шаг 8. Настройте approval

Approval можно сделать через Slack, Telegram, email или задачу в Notion.

Сообщение человеку:

Новый документ требует проверки.

Файл: {{$json.file_name}}
Тип: {{$json.document_type}}
Выжимка: {{$json.summary}}
Риски:
{{$json.risks}}

Рекомендуемая задача:
{{$json.recommended_task.title}}

Подтвердить: approve
Отклонить: reject
Нужна ручная проверка: review

Проверка: approval-сообщение должно содержать ссылку на исходный документ. Нельзя подтверждать анализ без доступа к источнику.

Шаг 9. Создайте задачу после approval

После подтверждения добавьте узел создания задачи.

Варианты:

  • Notion database item.
  • Jira issue.
  • Linear issue.
  • Trello card.
  • Google Sheet row.
  • Slack message в канал.

Минимальные поля задачи:

  • title;
  • description;
  • assignee;
  • priority;
  • source document;
  • risks;
  • due date;
  • approval owner;
  • status.

Важно: если человек нажал reject или review, задача должна создаваться не как “выполнить”, а как “проверить вручную”.

Шаг 10. Ведите лог обработки

Добавьте Google Sheets или database node для audit log.

Логируйте:

  • document_id;
  • source;
  • file_url;
  • document_type;
  • summary;
  • approval_required;
  • approval_status;
  • task_id;
  • created_at;
  • error;
  • model;
  • prompt_version.

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

Шаг 11. Обработайте ошибки

Добавьте error branches:

  • файл не скачался;
  • текст не извлекся;
  • Claude вернул не JSON;
  • confidence низкий;
  • нет approval owner;
  • документ содержит чувствительные данные;
  • задача не создалась.

Для каждой ошибки отправляйте уведомление ответственному человеку. Не скрывайте сбои в workflow.

Шаблон prompt для Claude

Ты анализируешь входящий документ для workflow n8n.

Цель: сделать краткий анализ, найти риски, определить нужен ли approval и предложить задачу.

Метаданные:
file_name: {{file_name}}
source: {{source}}
sender: {{sender}}
document_type_hint: {{document_type}}

Правила:
- используй только текст документа;
- не придумывай факты;
- если данных нет, пиши null или "не найдено";
- суммы, даты, реквизиты, сроки и договоренности проверяй особенно внимательно;
- high-risk документы требуют approval;
- если документ связан с договором, деньгами, персональными данными, RFP или юридическими условиями, approval_required = true;
- верни только JSON.

Текст документа:
{{document_text}}

JSON-схема:
[вставьте схему]

Что считать готовым результатом

Workflow работает, если:

  • документ попадает в n8n;
  • текст извлекается без мусора;
  • Claude возвращает валидный JSON;
  • риски и ключевые факты имеют источник;
  • approval приходит ответственному;
  • после approve создается задача;
  • после reject задача не создается как рабочая;
  • все шаги пишутся в лог.

FAQ

Можно ли сразу создавать задачи без approval?

Для низкорисковых документов можно, но в первом запуске лучше всегда делать approval. Документы часто содержат деньги, сроки, договоренности и персональные данные.

Что делать, если Claude возвращает невалидный JSON?

Не продолжать workflow. Отправьте результат на ручную проверку и добавьте более строгую JSON-схему или повторный запрос на исправление формата.

Можно ли анализировать сканы?

Да, но сначала нужен OCR. Для сканов обязательно проверяйте confidence и спорные места, особенно суммы, даты, реквизиты и подписи.

Где хранить prompt version?

В audit log. Если поведение workflow изменится, вы сможете понять, какой prompt использовался для конкретного документа.

Когда подключать CRM или бухгалтерию?

Только после тестов и approval. Сначала создавайте задачи и уведомления. Запись в CRM, 1С или бухгалтерские системы лучше добавлять позже и с жесткими правилами.

Дальше по теме

Похожие материалы