How to send basic messages into Microsoft Teams channel


Userlevel 1
Badge +1

So I recently asked this question… 

https://next.nutanix.com/api-31/playbook-rest-api-post-teams-37756?postid=51764#post51764

I saw support for slack but no teams… I got to looking and sure enough API’s are available to call from within playbooks yipee! 

 

Youll need to create an incoming web-hook in teams (google this if you dont have it setup). 

open up a team channel, click connectors

 

select configure
give it a name, upload an image and hit create

Once you do that you now have a url which an be used to post messages to via script or whatever your flavor is. 

 

In nutanix heres what i set

 

Prism Central 

 

set a custom alert policy to 5-10% cpu so it would trigger a lot and selected my test vm

 

Result:

niceeeee

Obviously this is my very fist time attempting this and I literally just figured it out but in the near future Id like to see if I can call the alert parameters, include useful information automatically e.g only alert on critical, and include the alert info.

Cheers! 

Aidan


This topic has been closed for comments

11 replies

Userlevel 6
Badge +5

Nicely done @adoyle . 

Cheers :smiley:

Userlevel 1
Badge +1

now i just need to try figure out how to get alert info into that message instead of manually, becuase then ill end up with 100 manual messages and playbooks:sweat_smile:

Userlevel 7
Badge +34

Well done @adoyle Thanks for sharing, this will certainly help a lot of other community folks with the same desire :thumbsup:

Userlevel 1
Badge +1

so what im now thinking i will have to do is build my own api so I can run a get on the nutanix api and return the values to my teams post message…. and devs willing to point me in the general direction? Is there something natively on nutanix I can/should use for this? or would I be better off just building something in node myself? 

or anyone running something remotely to call the nutanix apis and generating the slack/teams alerts form there? 

Just some ideas… 

Userlevel 6
Badge +5

That actually sounds like an amazing plan @adoyle . :smile: So if I am not wrong you want to send the alert details inside that message to the MS teams.

Maybe the below REST API resources can help::sweat_smile:

1) REST API v2 alerts: https://www.nutanix.dev/reference/prism_element/v2/api/alerts/post-alerts-acknowledge-acknowledgealerts/

2)REST API v3 Alerts: https://www.nutanix.dev/reference/prism_central/v3/api/alerts/postalertsactionaction/

3)Here are some links to using Nutanix REST APIs https://www.nutanix.dev/api-reference/​​​​​​​ and some other useful stuff at https://www.nutanix.dev/ .

 

 

Userlevel 6
Badge +5

Hey, @adoyle did you try using the above alert related APIs?

 

Also I thought this might help too: https://next.nutanix.com/api-31/filter-alerts-via-api-from-prism-central-37704?postid=51487#post51487

 

Let me know if you need anything else which could help:smiley:

 

 

Userlevel 1
Badge +1

dudes ive just figured it all out… will add in the update when I get a bit of time and work on the MS json a little more. 

You can use the inbuilt nutanix parameters to get the alert info… pure magical bliss

Userlevel 6
Badge +5

Hey @adoyle , that sounds great. Really excited to know how you accomplished it.:smiley:

 

Userlevel 1
Badge +1

So here is how you add messagecards to teams…. few things: 

 

  1. using teams webhooks means you cannot do any of the really cool stuff 
  2. You must use messagecards and include the schema @context
  3. you want to do more - look at building a bot + flow 
  4. I wish we could change the nutanix alert policies to include the API as manually creating playbooks for single alerts is terrible (im going to see what options are available)

https://docs.microsoft.com/en-us/outlook/actionable-messages/message-card-reference

 

Here is a very functional json body for teams including the Nutanix parameters : 

 

{

"@context": "https://schema.org/extensions",

"@type": "MessageCard",

"summary": "\"Nutanix Card\"",

"themeColor": "ff001a",

"sections": [

{

"activityTitle": "**TX1PRDNTNXCL01**",

"activitySubtitle": " _Alert: Creation Time_ ",

"activityImage": "https://futurumresearch.com/wp-content/uploads/2019/09/Nutanix-Logo.gif",

"facts": [

{

"name": "Severity:",

"value": "**Alert: Severity**"

},

{

"name": "Created On:",

"value": " _Alert: Creation Time_ "

},

{

"name": "Alert Name:",

"value": " Alert: Alert Name"

},

{

"name": "Alert Source: Alert: Source Entity Name",

"value": " Alert: Source Entity Name"

}

]

}

],

"potentialAction": [

{

"@type": "OpenUri",

"name": "View alerts",

"targets": [

{

"os": "default",

"uri": "https://yourecvmorpcvm:9440/console/#page/explore/s/alerts/?term_1=alert&term_2=alert%2Cattribute%2Cresolved%2C%3D%2Cfalse"

}

]

}

]

}

 

Userlevel 1
Badge +1

which looks like so

and you can go to the alerts via link in the message

Userlevel 7
Badge +34

Thanks for sharing your findings @adoyle :clap: