Гид по технологиям

Автоматическая смена статуса Microsoft Teams через Power Automate

• 7 min read • Продуктивность • Обновлено 21 Nov 2025
Смена статуса Teams через Power Automate
Смена статуса Teams через Power Automate

В этой статье

  • Установить статус
  • Установить статус Microsoft Teams через Power Automate
  • Установить сообщение статуса (заметку)
  • Создать собственный коннектор статуса Microsoft Teams

Коллаж: интерфейс Power Automate и значок Microsoft Teams с указанием смены статуса

Введение

Возможность автоматически менять статус в Microsoft Teams помогает разбивать рабочий день и не сидеть постоянно за ПК при удалённой работе. Вы всегда можете вручную сменить статус в приложении, но автоматизация через Power Automate позволяет делать это без открытия Teams.

Power Automate — инструмент для Microsoft 365, который экономит время, автоматизируя рутинные задачи и рабочие процессы. Даже если вы никогда ранее не создавали потоков (flows), есть множество шаблонов и готовых решений. В этом руководстве показан способ, основанный на материале нескольких экспертов, с пояснениями и предупреждениями.

Важное предупреждение

Этот метод использует неофициальные конечные точки (endpoints) Microsoft Teams и описан как undocumented — он может работать не всегда и не предназначен для критичных (production) сценариев. Есть ограничения на количество запросов в день и возможны ошибки редиректа (Status 301) в зависимости от региона/тенанта. Держите ожидания в пределах: тестируйте и используйте на свой страх и риск.

Ключевые URL, упоминаемые в исходных руководствах:

https://presence.teams.microsoft.com/v1/me/forceavailability

https://presence.teams.microsoft.com/v1/me/publishnote

В США или при использовании американского тенанта могут потребоваться альтернативные домены, например https://noamdf.presence.teams.microsoft.com или https://presence.gcc.teams.microsoft.com, чтобы избежать ошибки 301.

Установить статус — обзор метода

Идея проста: в Power Automate создаётся поток, который отправляет HTTP-запрос к службе наличия (presence) Teams через действие «Отправить HTTP-запрос в SharePoint» (Send an HTTP request to SharePoint). В теле запроса указываются поля availability и activity.

Краткая методология:

  1. Создаёте новый поток в Power Automate.
  2. В качестве шага выбираете Send an HTTP request to SharePoint и настраиваете метод PUT с URL /v1/me/forceavailability.
  3. Указываете content-type: application/json и тело с нужными значениями availability/activity.
  4. Сохраняете и тестируете поток.

Пошаговая инструкция: создать поток и отправить запрос

  1. В Power Automate откройте «Мои потоки» (Мои потоки).
  2. Нажмите «Новый поток».
  3. Выберите тип потока: «Автоматизированный облачный поток», «Мгновенный облачный поток» или «Планируемый облачный поток». Для примера мы используем «Мгновенный облачный поток».

Создание нового потока: окно выбора типа потока в Power Automate

  1. Задайте имя потока и в разделе «Выберите, как запускать этот поток» выберите «Вручную запустить поток». Нажмите «Создать».

Настройка имени и триггера потока в Power Automate

  1. После создания потока нажмите «Следующий шаг».

Переход к следующему шагу при создании потока

  1. В строке поиска найдите «SharePoint» и выберите действие «Отправить HTTP-запрос в SharePoint» (Send an HTTP request to SharePoint).

Выбор действия Send an HTTP request to SharePoint

Настройка запроса для смены статуса

  1. В настройках действия укажите:
    • Dataset / Адрес: https://presence.teams.microsoft.com
    • Method / Метод: PUT
    • Uri: /v1/me/forceavailability
    • Headers / Заголовки: content-type: application/json
    • Body / Тело: JSON с полями availability и activity

Пример настройки показан на скриншоте:

Пример заполнения полей HTTP-запроса для смены статуса

В поле body можно использовать одно из значений availability: “Available”, “Busy”, “BeRightBack”, “DoNotDisturb”, “Away”. Я не смог заставить работать варианты offline/offwork — они не срабатывали при моих тестах.

  1. Сохраните поток.
  2. Нажмите «Тест» для запуска проверки. Power Automate требует теста при первой настройке потока.

Запуск теста потока в Power Automate

  1. Выберите способ тестирования: вручную (Manually) или автоматически (Automatically). Для первого запуска выберите «Вручную».

Экран выбора режима тестирования: вручную или автоматически

  1. Возможно, потребуется повторная авторизация — подтвердите доступ к учётной записи Microsoft, если Power Automate запросит разрешения.

Подтверждение разрешений в Power Automate

  1. Нажмите «Запустить поток» (Run flow).

Кнопка Run flow в Power Automate

После запуска вы увидите зелёную галочку и ссылку на страницу запусков потока. Проверьте в Teams — изменился ли статус.

Установить сообщение статуса (заметку)

Чтобы обновлять заметку статуса (status message), создайте другой поток, почти идентичный предыдущему, но с URI /v1/me/publishnote и телом, содержащим поле message.

Пример визуального представления шага в Power Automate:

Шаг для обновления заметки статуса в Power Automate

Готовые JSON-фрагменты для вставки

Ниже приведены два фрагмента JSON, которые можно вставить через «Новый шаг > Мой буфер обмена» (New step > My clipboard) в Power Automate. Вставка — прямая: откройте редактор действия и вставьте JSON.

  1. Установить статус Microsoft Teams как Away
{"id":"6e453f83-f22d-4715-bdb6-5cbe7b44b6fa","brandColor":"#036C70","connectionReferences":{"shared_sharepointonline":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline/connections/5d9bafd92370456789caa39b6c3f2277"}}},"connectorDisplayName":"SharePoint","icon":"https://connectoricons-prod.azureedge.net/releases/v1.0.1554/1.0.1554.2707/sharepointonline/icon.png","isTrigger":false,"operationName":"Set_Microsoft_Teams_status_to_Away","operationDefinition":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_sharepointonline","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"},"parameters":{"dataset":"https://presence.teams.microsoft.com","parameters/method":"PUT","parameters/uri":"/v1/me/forceavailability","parameters/headers":{"content-type":"application/json"},"parameters/body":"{\n\n\"availability\": “Offline”, \n\"activity\": “OffWork”\n\n}"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"metadata":{"operationMetadataId":"e3433a3c-7e7c-40d5-b804-696b2b1d0398"}}}
  1. Обновить заметку статуса
{"id":"638a81c6-7d9b-481a-8875-97a08dcf18b7","brandColor":"#036C70","connectionReferences":{"shared_sharepointonline":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline/connections/5d9bafd92370456789caa39b6c3f2277"}}},"connectorDisplayName":"SharePoint","icon":"https://connectoricons-prod.azureedge.net/releases/v1.0.1554/1.0.1554.2707/sharepointonline/icon.png","isTrigger":false,"operationName":"Set_Microsoft_Teams_status_message_note_","operationDefinition":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_sharepointonline","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"},"parameters":{"dataset":"https://presence.teams.microsoft.com","parameters/method":"PUT","parameters/uri":"/v1/me/publishnote","parameters/headers":{"content-type":"application/json"},"parameters/body":"{\n\n\"message\": \"I am away from my desk. I went to grab lunch\"\n\n}\n "},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"metadata":{"operationMetadataId":"05f65dba-6bef-458a-81ac-b4fc08c290db"}}}

Примечание: в некоторых JSON-фрагментах в исходных примерах встречаются типографские кавычки; при вставке убедитесь, что кавычки — прямые (“), чтобы JSON корректно парсился.

Буфер обмена в Power Automate: вставка готового фрагмента

Если у вас остались вопросы или вы хотите поделиться улучшением потока — свяжитесь с автором руководства через Twitter.

Когда этот метод НЕ подойдёт (примеры отказа)

  • Корпоративные политики безопасности блокируют вызовы внешних endpoint-ов или требуются специальные разрешения; запросы будут возвращать ошибки авторизации.
  • Для критичных процессов, где требуется 100% SLA, метод не подходит — он неофициален и нестабилен.
  • Если ваш тенант размещён в специализированной облачной зоне (GCC, DoD и т. п.), могут требоваться другие домены presence.* или доступ может быть ограничен.
  • Ограничения на количество вызовов API в день — вы можете достичь лимита при частых автоматических сменах.

Альтернативные подходы

  • Официальный Graph API: Microsoft Graph постепенно расширяет возможности для присутствия (presence), и в будущем официальные методы будут предпочтительнее.
  • Использовать заранее утверждённые коннекторы Power Platform, если в вашей организации есть готовые решения.
  • Локальные скрипты и интеграции с расписанием (например, с использованием Teams PowerShell), если требуется централизованное управление и массовые изменения.

Ментальные модели и эвристики

  • Разделяйте: статус (availability) — это краткое состояние; сообщение статуса (note) — объяснение.
  • Тестируйте для одного пользователя до массового развёртывания.
  • Ограничьте частоту смены статуса: обновляйте его реже (например, максимум несколько раз в день), чтобы не попасть под лимиты.

Чек-лист для внедрения (роль: администратор)

  • Проверить, разрешены ли HTTP-запросы к presence.teams.microsoft.com для вашего тенанта.
  • Создать тестовую учётную запись и проверить изменение статуса вручную.
  • Настроить поток в Power Automate и прогнать несколько тестов.
  • Настроить логирование и уведомления о сбоях потока.
  • Уведомить команду о новой автоматизации и инструкциях по отключению/переопределению статуса.

Критерии приёмки

  • Поток успешно выполняется и возвращает 2xx код ответа минимум в 3 из 5 запусков.
  • Статус в Microsoft Teams изменяется на ожидаемое значение в пользовательском интерфейсе.
  • Логи содержат запись о успешном выполнении и времени запуска.
  • В случае ошибки поток отправляет уведомление ответственному администратору.

Безопасность и приватность

  • Не храните в потоках секреты в открытом виде. Используйте управляемые подключения и встроенные механизмы аутентификации Power Automate.
  • Убедитесь, что доступ к редактированию потоков ограничен — только доверенные администраторы.
  • Проверьте соответствие требованиям вашей организации и регуляторов (GDPR и локальные правила), если вы отправляете персональные данные в тексте сообщения статуса.

Мини‑методология: быстрый план внедрения

  1. Создать тестовый поток и протестировать вручную.
  2. Подготовить инструкции для конечных пользователей (как запускать/останавливать).
  3. Настроить мониторинг (уведомления о падениях).
  4. Документировать допустимые значения availability/activity.
  5. При успешном тестировании — предложить решение командам, желающим автоматизировать смену статуса.

Советы по отладке

  • Если запрос возвращает 301, проверьте домен: попробуйте noamdf.presence.teams.microsoft.com или presence.gcc.teams.microsoft.com в зависимости от региона.
  • Убедитесь, что заголовок Content-Type указан точно как application/json.
  • Проверьте, нет ли в теле JSON типографских кавычек; используйте прямые “ для корректного парсинга.
  • Смотрите логи выполнения потока в Power Automate: там есть подробная информация о кодах ответа и теле ответа.

Факто-бокс

  • Статусы availability: Available, Busy, BeRightBack, DoNotDisturb, Away.
  • Неофициальный endpoint: /v1/me/forceavailability.
  • Заметка статуса: /v1/me/publishnote.
  • Ограничение частоты: варьируется по тенанту и политике Microsoft; тестируйте аккуратно.

Примеры использования (кейсы)

  • Автоматическая смена статуса на «Обед» в рабочее время по расписанию.
  • Установка статуса «Не беспокоить» при участии в длительной конференции (связанное с календарём).
  • Показ текущей песни Spotify в статусе (через кастомный коннектор Spotify + Power Automate).

Совместимость и миграция

  • В организациях с централизованным управлением Teams/365 администраторы могут ограничить вызовы API; перед массовым запуском согласуйте с ИТ-безопасностью.
  • Если Microsoft выпустит официальный Graph API для управления статусом с поддержкой production, планируйте миграцию от неофициальных вызовов к официальным методам.

Итог и рекомендации

Этот подход даёт гибкость и возможность автоматизировать простые сценарии смены статуса и заметок в Teams. Однако он использует неофициальные конечные точки и может быть нестабилен. Рекомендуется использовать такой процесс только в тестовых или персональных сценариях, а для корпоративных решений ожидать официальной поддержки через Microsoft Graph или согласовывать схему с ИТ-отделом.

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

Ключевые рекомендации:

  • Тестируйте на отдельной учётной записи.
  • Минимизируйте частоту обновлений, чтобы не достигать лимитов.
  • Документируйте и ограничивайте права на создание/редактирование потоков.

Спасибо за внимание. Если хотите, могу подготовить готовый playbook для деплоя этой автоматизации в вашей организации или помочь откорректировать JSON-фрагменты под ваш тенант.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро