# WebexTeams Binding
The Webex Team binding allows to send messages to Webex Teams (opens new window) users and rooms through a number of actions.
Messages can use markdown syntax, and attachments are supported.
# Supported Things
account: A Webex Teams account
No Things are being discovered by this binding.
# Thing Configuration
Webex Teams supports two main types of app integration:
- Bot: a separate identity that can be used to communicate with people and rooms.
- Person integration: OAuth integration that allows the binding to act on behalf of a persons.
Both of these accounts must be first configured on the Webex Developers (opens new window) website.
When creating a person integration, it's important you customize the redirect URL based on your OpenHab installation.
For example if you run your openHAB server on
http://openhab:8080 you should add http://openhab:8080/connectwebex (opens new window) to the redirect URIs.
To use a bot account, only configure the
token (Authentication token).
To use a person integration, configure
When the account is configured as a Thing in OpenHab, navigate to the redirect URL (as described above) and authorize your account.
You shouldn't configure both an authentication token (used for bots) AND clientId/clientSecret (used for person integrations). In that case the binding will use the authentication token.
A default room id is required for use with the
account Thing Configuration
|token||text||(Bot) authentication token||N/A||no||no|
|clientId||text||(Person) client id||N/A||no||no|
|clientSecret||text||(Person) client secret||N/A||no||no|
|refreshPeriod||integer||Refresh period for channels (seconds)||300||no||no|
|roomId||text||ID of the default room||N/A||no||no|
|WebexTeams Account||status||String||Account presence status: active, call, inactive, ...|
|WebexTeams Account||lastactivity||DateTime||The date and time of the person's last activity within Webex|
Note: status and lastactivity are only updated for person integrations
# Full Example
Configure a bot account:
Thing webexteams:account:bot [ token="XXXXXX", roomId="YYYYYY" ]
Configure a person integration account:
Thing webexteams:account:person [ clientId="XXXXXX", clientSecret="YYYYYY", roomId="ZZZZZZ" ]
# Rule Action
DSL rules use
getActions to get a reference to the thing.
val botActions = getActions("webexteams", "webexteams:account:bot")
This binding includes these rule actions for sending messages:
var success = botActions.sendMessage(String markdown)- Send a message to the default room.
var success = botActions.sendMessage(String markdown, String attach)- Send a message to the default room, with attachment.
var success = botActions.sendRoomMessage(String roomId, String markdown)- Send a message to a specific room.
var success = botActions.sendRoomMessage(String roomId, String markdown, String attach)- Send a message to a specific room, with attachment.
var success = botActions.sendPersonMessage(String personEmail, String markdown)- Send a direct message to a person.
var success = botActions.sendPersonMessage(String personEmail, String markdown, String attach)- Send a direct message to a person, with attachment.
Sending messages for bot or person accounts works exactly the same.
Attachments must be URLs.
Sending local files is not supported at this moment.