home-assistant.io/source/_integrations/cisco_webex_teams.markdown
2024-12-07 02:15:19 +01:00

8.0 KiB

title description ha_category ha_iot_class ha_release ha_codeowners ha_domain ha_platforms ha_integration_type related ha_quality_scale
Cisco Webex Teams Instructions on how to add Cisco Webex notifications to Home Assistant.
Notifications
Cloud Push 0.40
@fbradyirl
cisco_webex_teams
notify
integration
docs title
/docs/configuration/ Configuration file
legacy

The cisco_webex_teams notification platform allows you to deliver rich notifications from Home Assistant to Cisco Webex (formerly known as Cisco Spark or Cisco Webex Teams).

To use this notification platform you will need an app (bot) token. To obtain a token visit Cisco Webex for Developers.

You also need to specify the room_id that you wish to post messages into. The room_id can be found in one of three ways:

  1. Logging in at Cisco Webex for Developers and navigate to Documentation>API Reference>Messages and select List Messages, or
  2. Log into the web client at web.webex.com,
    • select the room (or create a new room),
    • then copying the room ID from the URL.
  3. Within the Webex Client, press Control+Shift+K (Windows) or Command+Shift+K (macOS), which will automatically copy the space information to your clipboard, which you can paste to a notepad, and will contain your space ID.

{% important %} You must add the bot email (in the format mybot@webex.bot) as a participant to the room specified above. {% endimportant %}

To enable this platform in your installation, add the following to your {% term "configuration.yaml" %} file. {% include integrations/restart_ha_after_config_inclusion.md %}

# Example configuration.yaml entry
notify:
  - name: NOTIFIER_NAME
    platform: cisco_webex_teams
    token: YOUR_BOT_TOKEN
    room_id: CISCO_WEBEX_TEAMS_ROOMID

Rich Text Formatting

Webex clients can render rich text via a whitelisted set of html tags.

For example, you could configure automations to display details in an easy to read fashion like so:

Rich text as displayed in the macOS client.

Here are the automations for the above screenshot:


# Rich Text Example 1.
# Show a one line message with a red banner
- alias: "Notify On Build Failing"
  triggers:
    - trigger: webhook
      webhook_id: build_failed
  actions:
    - action: notify.cisco_webex_teams_notify
      data:
        message: "<blockquote class=danger>Build 0.89.5 compile failed."


# Rich Text Example 2.
# Show a title and multi-line message with a yellow banner, 
# with lists, a person mention and a link
- alias: "Notify On Build Unstable"
  triggers:
    - trigger: webhook
      webhook_id: build_unstable
  actions:
    - action: notify.cisco_webex_teams_notify
      data:
        title: "<strong>Build 0.89.6 is unstable.</strong>"
        message: "<blockquote class=warning>Version 0.89.6 failed verifications.
        
        <ul>
          <li> test_osx
          <li> test_win_lint

          <li>... and 4 more.
        </ul>
        <p><@personEmail:sparkbotjeeves@sparkbot.io></p>
        <p><small><i>View <a href='https://demo/testReport/'>Test Report</a></i></small><br></p>
        "

# Rich Text Example 3.
# Show a title and multi-line message with a blue banner, 
# with lists, a person mention and a link
- alias: "Notify On Build Passing"
  triggers:
    - trigger: webhook
      webhook_id: build_passed
  actions:
    - action: notify.cisco_webex_teams_notify
      data:
        title: "<strong>✅ Version 0.89.7 passed all tests and deployed to production!</strong>"
        message: "<blockquote class=info>Version 0.89.7 passed all verifications.
        
        <ul>
          <li> test_cov
          <li> test_osx
          <li> test_win
          <li> test_linux
          <li>... and 45 more.
        </ul>
        "

The following is a list of the allowed html tags and attributes:

Tag More Info
<@personEmail:email@examplecompany.com> Used to tag another Webex Team user by email address.
<a> Defines a hyperlink. Allows attribute href.
<blockquote> Defines a section that is quoted from another source. Allows attribute class with allowed values danger, warning, info, primary, secondary.
<b> Defines bold text.
<strong> Defines important text.
<i> Defines italic text.
<em> Defines emphasized text.
<pre> Defines preformatted text.
<code> Defines a piece of computer code.
<br> Defines a single line break.
<p> Defines a paragraph.
<ul> Defines an unordered list.
<ol> Defines an ordered list.
<li> Defines a list item.
<h1> to <h3> Defines HTML headings.

{% configuration %} name: description: Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the notify.NOTIFIER_NAME action. required: false default: notify type: string token: description: Your app (bot) token. required: true type: string room_id: description: The Room ID. required: true type: string {% endconfiguration %}

To use notifications, please see the getting started with automation page.