Inbound Webhooks

Inbound Webhooks are unique endpoints that can be embedded into your applications to notify Webex Connect of events occurring in the your application(s).

In essence, they work the same way as custom event API v1 but are flexible with the input JSON/XML body that will be parsed as JPath/Xpath and the variables will be made available in flows/rules.

12831283

Authentication

We support two types of authentication for inbound webhooks:

  • Service Key based authentication
  • JWT based authentication

When authentication is enabled you need to use one of service key or JWT credentials associated with the relevant Webex Connect service which contains the rule/flow you've associated the inbound webhook with.

Signature Validation

In addition, we offer support for signatures (using SHA 256 or SHA 512) within headers of inbound webhooks that trigger flows. It will add an additional layer of security to your inbound webhook requests and help safeguard against potential security threats. When signatures are enabled, invalid requests will return an HTTP 400 error.

🚧

Difference between Authentication and Signature Validation

Service Key or JWT Tokens enables you to validate that the request is being made by an authenticated entity. Signature Validation enables you to ensure the integrity of data and ensure that it wasn't intercepted during the transition from the source till it's received on Webex Connect.

We encourage you to use both these options as per security best practices.

11541154

Once an inbound webhook has been configured, it can start accepting any JSON/XML payload. The payload is passed to the linked rule and/or flow. You can also enter example JSON or send a live request to parse. These parameters will be saved and available for usage in rules and flows when you start typing with $ to search for a variable.

🚧

If you invoke an Inbound Webhook that's not associated with any flow or rule, the system will queue it but no action will be taken at the back of it.

Here is an example of how a sample JSON is parsed.

Please note that the service key / JWT token will need to be passed in the header of the request, with header name as key.

{  
   "data":[  
      {  
         "type":"articles",
         "id":"1",
         "attributes":{  
            "title":"JSON API paints my bikeshed!",
            "body":"The shortest article. Ever.",
            "created":"2015-05-22T14:56:29.000Z",
            "updated":"2015-05-22T14:56:28.000Z"
         }
      }
   ]
}

Parsed variables for above sample

Parameter

Parsed value

data.type

articles

data.id

1

data.attributes.title

JSON API paints my bikeshed!

data.attributes.body

The shortest article. Ever.

data.attributes.created

2015-05-22T14:56:29.000Z

data.attributes.updated

2015-05-22T14:56:28.000Z

Response Codes

Inbound Webhooks are asynchronous. When you send a request to inbound webhooks, Webex Connect returns an immediate response code and description to confirm whether your request has been successfully queued or not. Here's the list of various response codes with their description.

Response Code

Message

Description

1002

Queued

Returned when the request is accepted by Webex Connect.

7000

Invalid JSON

Returned when an invalid JSON request is sent.

7001

Authentication failed

Returned when an invalid service key or profile key is provided in the request.

7005

Internal error occurred

Returned when there is an issue with Webex Connect.

7020

You have reached maximum transaction limit

Returned when you have reached the transaction limit.

7027

Invalid XML

Returned when an invalid XML request is sent.

📘

Know Your Endpoint

Based on the domain you use to log in to Webex Connect, the endpoint for your API varies. See the endpoint section to understand which endpoint to use for your domain.