Obsidian Webhooks
Гайды GitHub Войти
EN | RU
← Все гайды

Как получать данные в Obsidian из внешних сервисов

Полное руководство по получению входящих данных в вашем хранилище Obsidian через вебхуки

В Obsidian более 2000 плагинов от комьюнити. Вы можете экспортировать заметки, синхронизировать с GitHub, отправлять данные в любой SaaS-инструмент. Но есть одна критическая проблема: вы не можете получать данные из внешних сервисов. Все течет наружу. Ничто не течет внутрь.

Это не было проблемой, когда Obsidian использовали только для личных заметок. Но в 2026 году люди управляют целыми системами работы со знаниями, трекерами проектов и AI-агентами в своих хранилищах. Им нужно, чтобы внешние данные поступали автоматически, надежно, в реальном времени.

Проблема: Obsidian не умеет получать данные

Obsidian разработан как local-first инструмент. Ваше хранилище живет на вашей машине. Нет облачного бекенда, нет HTTP-сервера, нет API-эндпоинта. Это отлично для приватности и скорости, но создает фундаментальное ограничение: внешним сервисам некуда отправлять данные.

Допустим, вы хотите сохранять письма как заметки через Zapier. Или логировать GitHub issues в трекер проектов. Или сохранять выводы AI-агентов в базу знаний. Встроенного способа это сделать нет.

Комьюнити Obsidian просит это с 2021 года. Тред на форуме про интеграцию с Zapier собрал сотни апвотов, но официального решения нет. Архитектура просто не поддерживает это.

Почему существующие решения не работают

Люди пытались решить это разными хаками. Ни один не работает надежно. Для детального технического сравнения смотрите наше руководство REST API vs Webhooks.

Файловые синхронизаторы (Dropbox, iCloud)

Можно настроить Zapier на запись в вашу папку Dropbox и надеяться, что Obsidian подхватит изменения. Но файловая синхронизация разработана для ручных правок, а не для автоматизации. Вы получаете:

  • Задержку распространения (от секунд до минут)
  • Отсутствие гарантий доставки
  • Конфликты синхронизации при одновременной записи из нескольких источников
  • Отсутствие подтверждения доставки

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

Плагин trashhalo/obsidian-webhooks

Этот плагин добавляет входящие вебхуки в Obsidian. Это было ближайшее к реальному решению. Но он полагается на сторонний relay-сервис (webhook.site или аналоги), и плагин не обновляется с 2023 года. Зависимость от relay означает, что вы доверяете свои данные внешнему сервису, который может исчезнуть в любой момент.

Плагин obsidian-post-webhook

Несмотря на название, этот плагин только отправляет данные из Obsidian на внешние вебхуки. Только исходящие. Проблему входящих данных вообще не решает.

Плагин obsidian-local-rest-api

Это экспонирует REST API, когда Obsidian запущен. Звучит идеально, но:

  • Obsidian должен быть запущен и сфокусирован на хранилище
  • Не асинхронный — внешние сервисы должны ждать ответа
  • Нет очереди, если Obsidian закрыт
  • Нет шифрования или аутентификации по умолчанию

Вы не можете использовать это для автоматизации "fire and forget", где сервис отправляет данные и идет дальше.

Решение: самостоятельный webhook-сервер

Недостающий элемент — постоянный webhook-эндпоинт, который ставит данные в очередь и доставляет их в Obsidian, когда хранилище онлайн. Именно это делает Obsidian Webhooks Server. Подробнее об архитектуре — в руководстве Как работает.

Вот поток:

  1. Внешний сервис (Zapier, Make, AI-агент) отправляет POST-запрос на webhook-эндпоинт
  2. Go-сервер получает payload, шифрует его, сохраняет в очередь PostgreSQL
  3. Сервер отправляет данные в плагин Obsidian через SSE (Server-Sent Events)
  4. Плагин записывает заметку в хранилище, отправляет подтверждение ACK
  5. Сервер помечает вебхук как доставленный и удаляет из очереди

Эта архитектура решает все проблемы:

  • Постоянный эндпоинт: внешние сервисы всегда знают, куда отправлять данные
  • Exactly-once доставка: подтверждение ACK гарантирует отсутствие дубликатов или потерянных сообщений
  • Оффлайн-синхронизация: очередь хранит данные, если Obsidian закрыт, доставляет при переподключении
  • Реальное время: SSE держит соединение открытым, доставка за миллисекунды, когда онлайн
  • Шифрование: AES-256-GCM шифрование данных очереди в состоянии покоя
  • Мультихранилище: отдельные webhook-ключи на хранилище, один сервер поддерживает несколько хранилищ

Как отправить данные в Obsidian

Сервер принимает JSON-payloads с тремя обязательными полями: key (ваш webhook-ключ), path (расположение заметки) и content (тело заметки). Опциональные поля управляют поведением. Готовые примеры для Zapier, Make, n8n и IFTTT — в руководстве 10 рецептов автоматизации.

Базовый пример: создать заметку

curl -X POST https://your-server.com/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "key": "your-webhook-key",
    "path": "inbox/new-note.md",
    "content": "This is the note body",
    "frontmatter": {
      "tags": ["imported", "zapier"],
      "source": "email"
    }
  }'

Это создает inbox/new-note.md с YAML frontmatter и контентом. Если Obsidian оффлайн, сервер ставит это в очередь и доставляет, когда хранилище переподключится.

Режим append: добавить к существующей заметке

curl -X POST https://your-server.com/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "key": "your-webhook-key",
    "path": "projects/project-log.md",
    "content": "\n## 2026-02-26\n- New task from GitHub",
    "mode": "append"
  }'

Используйте "mode": "append", чтобы добавить контент к существующей заметке вместо перезаписи. Идеально для ежедневных логов, списков или агрегации данных из нескольких источников.

Режим overwrite: заменить существующий контент

curl -X POST https://your-server.com/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "key": "your-webhook-key",
    "path": "dashboards/weekly-stats.md",
    "content": "# Weekly Stats\n- Metric A: 42\n- Metric B: 17",
    "mode": "overwrite"
  }'

Используйте "mode": "overwrite", когда хотите заменить всю заметку. Полезно для дашбордов, которые регенерируются из внешних источников данных.

Реальные кейсы использования входящих вебхуков Obsidian

Когда вы можете пушить данные в Obsidian, становятся возможными целые классы автоматизации.

Email в заметки через Zapier

Настройте триггер Zapier "New Email in Gmail" (с фильтром по метке или отправителю). Действие — обращение к вашему вебхуку с темой письма, телом и метаданными. Каждое письмо становится заметкой с меткой времени в папке inbox. Теперь у вас есть поисковый, линкуемый архив писем внутри Obsidian.

GitHub Issues в трекер проектов

Используйте GitHub webhooks для отправки событий issue (created, closed, commented) в ваше хранилище. Каждая issue становится заметкой с автоматическими обратными ссылками на связанные issues. Ваша проектная документация живет в том же хранилище, что и трекинг проектов.

Выводы AI-агентов в базу знаний

Когда ваши AI-агенты генерируют исследовательские саммари, документацию кода или заметки встреч, они отправляют результаты через POST в Obsidian. Вы получаете версионируемую, поисковую базу знаний, которая растет автоматически. Никакого ручного copy-paste, никакой задержки синхронизации.

Агрегатор RSS-лент

Запустите cron-задачу, которая фетчит RSS-ленты и отправляет интересные статьи в ваше хранилище. Тегируйте их по темам, добавляйте в список чтения или подавайте в систему spaced repetition. Ваша очередь чтения теперь внутри Obsidian вместе с вашими заметками.

Сообщения Slack в архив

Интеграция webhook со Slack отправляет отмеченные звездой сообщения или определенные треды каналов в Obsidian. Важные разговоры становятся заметками, на которые вы можете ссылаться, аннотировать и искать спустя годы.

События календаря в ежедневные заметки

Синхронизируйте события календаря с ежедневными заметками в Obsidian. Заметка каждого дня обновляется встречами, дедлайнами и контекстом. Ваш календарь и ваша система знаний наконец в одном месте.

Начало работы с Obsidian Webhooks

Obsidian Webhooks Server — опенсорсный (MIT license) и разработан для самостоятельного хостинга.

Вариант 1: самостоятельный хостинг с Docker

Репозиторий включает docker-compose.yml для полной настройки. Пошаговое руководство — в руководстве по установке:

  1. Клонируйте репо
  2. Установите переменные окружения (database URL, encryption key)
  3. Запустите docker-compose up -d
  4. Сервер запустится на порту 8080, PostgreSQL на 5432

Вы получаете полный контроль над данными и инфраструктурой. Сервер легковесный (Go binary) и может работать на VPS за $5/месяц.

Вариант 2: использовать хостинговую версию

Если не хотите управлять серверами, есть бесплатная хостинговая версия на obsidian-webhooks.khabaroff.studio. Данные зашифрованы в состоянии покоя и хостятся на EU-серверах (Германия, через Supabase). Регистрация через passwordless email auth (magic links).

Хостинговая версия имеет те же функции, что и самостоятельная: exactly-once доставка, поддержка мультихранилища, оффлайн-синхронизация и лимит 10 МБ на заметку.

Установите плагин Obsidian

После настройки сервера (самостоятельный или хостинговый), установите плагин-компаньон:

  1. Откройте Obsidian Settings → Community Plugins
  2. Найдите "obsidian-webhooks-2025"
  3. Установите и активируйте
  4. Введите ваш webhook-ключ в настройках плагина
  5. Введите URL вашего сервера (или используйте дефолтный для хостинговой версии)

Плагин обрабатывает SSE-соединение, создание заметок и подтверждения ACK автоматически.

Технический дайв: как работает получение данных в Obsidian

Для разработчиков, интегрирующихся с webhook-сервером, вот что происходит под капотом. Смотрите также: Как работает — полная диаграмма архитектуры.

Поток запроса

  1. POST на /webhook: сервер валидирует структуру JSON, проверяет существование webhook-ключа в базе данных
  2. Шифрование: payload шифруется с помощью AES-256-GCM, сохраняется в очередь PostgreSQL
  3. SSE Push: если хранилище онлайн (SSE-соединение активно), сервер дешифрует и отправляет payload через SSE
  4. Обработка плагином: плагин получает JSON, записывает заметку в файловую систему хранилища
  5. ACK-ответ: плагин отправляет ACK со статусом доставки через HTTP POST на сервер
  6. Очистка очереди: сервер помечает вебхук как доставленный, удаляет из очереди

Поведение в оффлайне

Если Obsidian закрыт, когда приходит вебхук:

  1. Сервер сохраняет зашифрованный payload в очередь
  2. Когда плагин переподключается, он поллит эндпоинт /pending
  3. Сервер отправляет все вебхуки из очереди через SSE
  4. Плагин обрабатывает каждый, отправляет индивидуальные ACK
  5. Сервер удаляет из очереди только после получения ACK

Это гарантирует exactly-once доставку даже при прерываниях сети или перезапусках хранилища.

Модель безопасности

  • Webhook-ключи — UUID v4 (128-bit энтропия)
  • Данные очереди зашифрованы в состоянии покоя с AES-256-GCM
  • SSE-соединение через HTTPS (TLS 1.3)
  • Никаких payload-данных в логах или метриках
  • Каждое хранилище имеет отдельный ключ, нет кросс-хранилищного доступа

Самостоятельные развертывания могут добавить дополнительные слои (IP whitelisting, кастомная аутентификация, доступ только через VPN).

Ограничения и roadmap

Текущая версия (v1.0) имеет несколько ограничений:

  • 10 МБ на заметку: большие файлы (видео, PDF) должны хоститься извне и линковаться
  • Нет батчинга: каждый вебхук — одна заметка. Чтобы создать несколько заметок, отправьте несколько вебхуков
  • Только текст: бинарные вложения не поддерживаются (используйте base64 + декодирование в Obsidian)

Запланировано для будущих релизов:

  • Шаблоны вебхуков (трансформация JSON перед записью в хранилище)
  • Условный роутинг (отправка в разные папки на основе полей payload)
  • История вебхуков и replay
  • REST API для запроса статуса очереди

Смотрите GitHub issues для запросов функций и дискуссий.

Заключение: внешняя интеграция Obsidian решена

Пять лет пользователи Obsidian хотели способ получать данные из внешних сервисов. Файловая синхронизация была слишком ненадежной. Существующие плагины зависели от сторонних сервисов или требовали запущенный Obsidian. Архитектура просто не поддерживала это.

Obsidian Webhooks Server меняет это. Вы получаете постоянный webhook-эндпоинт, exactly-once доставку, оффлайн-синхронизацию и шифрование — все, что нужно для продакшн-автоматизации. Это опенсорс, самостоятельно хостится и работает с любым сервисом, который может отправлять HTTP POST-запросы.

Если вы строите воркфлоу, которые нужно отправлять данные в Obsidian — будь то из Zapier, AI-агентов или кастомных скриптов — это тот инфраструктурный слой, которого вам не хватало.

Ресурсы

Часто задаваемые вопросы

Нет, стандартный Obsidian не имеет встроенной возможности принимать HTTP-запросы или вебхуки. Требуется внешний сервер (например, Obsidian Webhooks Server) и плагин-компаньон для обработки входящих данных. Это связано с архитектурой Obsidian как local-first приложения без собственного бекенда.

Да, сервер распространяется под MIT лицензией — полностью опенсорс и бесплатный для самостоятельного хостинга. Хостинговая версия на obsidian-webhooks.khabaroff.studio также бесплатна с лимитом 10 МБ на заметку и неограниченным количеством вебхуков. Вы платите только за инфраструктуру (VPS), если выбираете self-hosted вариант.

Сервер сохраняет все входящие вебхуки в зашифрованную очередь PostgreSQL. Когда вы открываете Obsidian и плагин переподключается, сервер автоматически доставляет все накопленные сообщения через SSE. Exactly-once доставка гарантирует, что каждый вебхук попадет в хранилище ровно один раз — даже если Obsidian был оффлайн несколько дней.

Сервер хранит только зашифрованные payload вебхуков в очереди до момента доставки. После получения подтверждения ACK от плагина данные немедленно удаляются из базы. Сам контент ваших заметок никогда не покидает локальное хранилище — сервер только передает новые данные в одну сторону.

Плагин поддерживает мобильные платформы (iOS/Android), но SSE-соединения менее стабильны на мобильных сетях. Плагин автоматически переключается на polling-режим при нестабильном соединении. Для оптимальной производительности рекомендуется держать Obsidian открытым на десктопе, где хранилище синхронизируется через Obsidian Sync или Git.

Начните отправлять данные в ваше хранилище Obsidian сегодня. Разверните сервер за 10 минут, подключите плагин, и каждая автоматизация, которую вы хотели, внезапно становится возможной.