From 130c2a2eb885c8688520e6912774405362f95f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per-=C3=98yvind=20Bruun?= Date: Wed, 23 Oct 2019 11:14:11 +0200 Subject: [PATCH] New platform Microsoft Teams (#10911) * Created documentation for the new Microsoft Teams platform * Added service data * Changed from webook_url to url * Added missing logo and changed some things after code review --- source/_integrations/msteams.markdown | 54 +++++++++++++++++++++ source/images/supported_brands/msteams.jpg | Bin 0 -> 29521 bytes 2 files changed, 54 insertions(+) create mode 100644 source/_integrations/msteams.markdown create mode 100644 source/images/supported_brands/msteams.jpg diff --git a/source/_integrations/msteams.markdown b/source/_integrations/msteams.markdown new file mode 100644 index 00000000000..69ae8cb6c9d --- /dev/null +++ b/source/_integrations/msteams.markdown @@ -0,0 +1,54 @@ +--- +title: "Microsoft Teams" +description: "Instructions on how to send a notification to a Microsoft Teams channel." +logo: msteams.jpg +ha_category: + - Notifications +ha_release: 0.101 +--- + +The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software). + +## Setup + +To send a notification to teams, you need to add the Incoming Webhook app to your team channel. When the app is added, you will receive a webhook URL that needs to be added to your `configuration.yaml`. + + +## Configuration + +To add the Microsoft Teams platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +notify: + - platform: msteams + url: https://outlook.office.com/webhook/ +``` + +{% configuration %} +name: + description: Setting this parameter allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + type: string + default: "notify" +url: + description: The webhook URL created in the setup step. + required: true + type: string +{% endconfiguration %} + +### Microsoft Teams service data + +The following attributes can be placed inside `data` for extended functionality. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `image_url` | yes | Attach an image to the message. + +Example for posting file from URL: + +```yaml +title: Title of the message. +message: Message that will be added. +data: + image_url: URL_OF_IMAGE +``` diff --git a/source/images/supported_brands/msteams.jpg b/source/images/supported_brands/msteams.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e411bfcea1b556392b91ea6e6e59c260891fc5e8 GIT binary patch literal 29521 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 X|0;cewr>2BC*{9k?KU7{pZxy;-(xIu literal 0 HcmV?d00001