Webhook - Creation via API

  • 28 November 2022
  • 10 replies

Badge +5

Hi - unless I’ve missed it - is there a way to add webhooks to commvault via the API?

10 replies

Userlevel 7
Badge +23

Hey @Mike Gale , thanks for the post!

Is this what you’re looking for?

If not, let me know your end goal and I’ll get a better link 🤓

Userlevel 7
Badge +19

I think @Mike Gale is looking for the payload that allows you to create the webhook from code. Checked quickly but can't find it myself so I think someone should send a request to the team if they can documented it on the API documentation. 

You could try, in the meantime, to capture the body once you submit the creation via the browser. 

Badge +5


Thanks for the replies - yes I’m looking at writing a python script that along with other things - automatically adds MS Teams Webhooks. I’ve been able to figure out most steps - just webhooks don’t seem to be an option and I still have to manually add them in the webconsole.


Userlevel 7
Badge +23

I’ll see what I can gather.

Adding @clecky as the man seems to know PowerShell like no one else.

Userlevel 7
Badge +23

I got a reply, right from dev:

POST {{ServerURL}}/Webhook


<Api_CreateWebhook headers="Authorization=Splunk 1be3a69e-c5e8-407c-b6bf-1adce9719a19" name="splunktestwh-del2" secret="hamactext" ssl="1" url="<WEBHOOK_URL>" />

Let me know if that helps!

Userlevel 5
Badge +16

I’ll see what I can gather.

Adding @clecky as the man seems to know PowerShell like no one else.

I’m a little late to the party as it looks like you have provided the solution for the payload.

At the very least maybe I can help by sharing the instructions from Microsoft for the teams web hook


Originally provided by @Mrityunjay Upadhyay 

In this post.

Badge +5


Thanks for the responses.

I’m using the python requests library:

Capturing the payload using chrome dev tools gives this:


But if I provide the above json payload I get:  Request body is empty or format is invalid.

I have many working Post requests and as this is the “captured” payload I’m a bit stumped. 



Userlevel 2
Badge +8

Can you show the post command you are using?

Badge +5
with open('Payload/create_webhook.json') as json_file:
json_data =

headers = {'Cookie2': token, "Accept": "application/json", "Content-Type": "application/json"}

r =, json=json_data, headers=headers)
resp = r.text

This works for all other post requests I’ve been testing (just not webhooks) - but that’s fine if its not supported yet :)

Userlevel 5
Badge +16

I don’t know much about Python, so I’ll have to do some reading to get details but my guess is that. 


Is where your issue is as the payload you posted looks incomplete, referencing what @Mike Struening posted you are missing some elements Mike posted in XML but at the very least it looks it looks like you are missing “Authorization” and “Secret” which implies that the Json file is incomplete.

At some point I am going to try using this in my own workflows so I’ll putz around with this and see if I can be more helpful.