Welcome to our video on pre processing Intersight webhooks with Cisco workflows. Integrating events from platforms including Cisco Intersight into operational tools hits data format incompatibilities.00:06We can use Cisco workflows as a lightweight low code data translator to ensure seamless end to end 3rd party system integration. Cisco Workflows is a low code, NO code platform featuring a drag and drop interface and ready made automations that address typical use cases. Workflows is offered at NO extra.00:20Charge in the Meraki dashboard and unifies automation across Cisco and 3rd party environments. You may visit dashboard.meraki.com for details on getting started with workflows.00:40Now let's pivot to the demonstration. We'll walk through the full integration path configuring a Cisco Intersight webhook to target a Cisco workflows webhook endpoint where low code logic will pre process the data and forward the alert to our 3rd party chat system.00:51Let's take a look at our demo setup. The 1st thing we need to do is log into the Meraki dashboard. Once we've logged into the Meraki dashboard, we can go to automation here and then click on rules.01:12We'll set up a webhook endpoint in Meraki to send our inter site webhook too. So we'll go ahead and click webhooks right here. We already have one set up for intersight, so we'll simply click on it here. All we needed to do was specify the display name and then the request content type. And after that Meraki will.01:26Provide us with the web hook URL shown below.01:46So we would just copy that URL and then we can move over to Intersight. So within intersight, simply go down to systems and webhooks, and we can click add Webhook right here now. But we've already predefined this Meraki one here, so we'll edit it and take a look at it.01:49So this is the spot where we would paste our payload URL from the Meraki dashboard. And then down here under our events, we are looking at an object of type condition alarm, and then we are looking for any alarms that have been created or updated.02:10We can also add additional filters on the alarm. So if we only wanted the webhook to go out for critical alarms, e.g., we could set severity equals critical. Once we have that clearly defined, the immediate next step would be to return to Meraki on this screen right here.02:25Then navigate downward to automation.02:45Then to targets, and then here we will proceed to carefully define the destination webhook endpoint for our dedicated 3rd party chat system. So here we can create a new target. We've already got it defined right here under 3rd party chat, so we'll just open that up and take a look. So all we needed to do is specify the display name over here.02:48Here, whether or not we're using account keys, so this would be any kind of authentication to that endpoint. In this case we don't need authentication to this. And then down here, our protocol, our host name, and then the path to our particular webhook endpoint.03:08And afterwards, we would simply save that one. Once that's saved, the next step would be to open workspaces and thoroughly review each of the various workflows themselves.03:25We already have a workflow defined for the inter site webhook processor here. So we'll just click that to open it and view the workflow. And then within the workflow properties panel, if we scroll down carefully, we will see the automation rules that have been defined. Here we.03:41You have an automation rule for a webhook rule. When Intersight sends an alarm to that Meraki dashboard webhook endpoint, it will actually trigger this particular workflow now. There are other automation rule types as well. So you could, e.g., create schedules or send emails or set up approval task rules, but in this scenario, we are gonna.04:00Use the webhook.04:21So once the webhook has been received, what we have right here at this very moment is a JSON path query task. And what that task is just going to do is to go ahead and extract the various parameters from the inner site alarm webhook.04:26Thus right here in this spot, we have our source JSON that we can use to perform a query. So this is the web hook body, the payload of the request. And then if you click this little icon here, you can actually see the kinds of environments, rules, workflow inputs, and outputs.04:44That are available and it makes it very easy to simply choose one from that list that appears right there. So in our case, we have a webhook rule. We look at the output and the request body of that, so we use that as input to the task now.05:01Down here, we have laid out a small set of different JSON path queries for clarity. We will then pull out the creation time and the MO display name that is affected. Identifying the object that is impacted within Intersight along with the event code.05:19The event description and the event severity as reported by the web hook. Once those fields have been pulled from the webhook, we can clearly see that at this point we have an LLM prompt ready to be used to carefully enrich that data for downstream processing. So here what we do is that we simply specify our.05:34Open AI target.05:54And then our account keys if they're truly needed, the model name in this particular case GPT 4.1 mini. And then over here, so we have our user chat message, and what we intend to do here is that we are simply gonna send it the extracted parameters, namely the expected MO display name code, description, and.05:55And those are easily found if you click this button right here. And if you move over here, you can look at the JSON path query and you will be able to see what is available and select it from there.06:17Further down, here we include our system prompt, which simply tells the LLM that you are an infrastructure engineer responsible for enriching alarms for the NOC. Then we want to include the original alarm, describe the alarm's potential impact, and outline possible troubleshooting steps for the NOC.06:33Engineer, all in markdown.06:52So this is exactly what our 3rd party chat system is expecting inside of the payload right now. So it's looking for blocks, the type, and the text fields. And then down here, what we're doing is performing a substitution.07:24Of the output from this LLM prompt inside of this text field.07:36Here we can then add extra headers if needed. In our case, that wasn't necessary at all. And now what we'll do next is to proceed with validating this particular workflow. In this case, it has already been thoroughly validated. So we'll go ahead and in fact navigate to our inter site alarms here.07:43And we'll proceed to unacknowledge one of these alarms, which will automatically cause the web hook to be sent right away now. So please click this one, e.g., and unacknowledge it now. And then if we navigate to our external 3rd party chat system here, the alarm has just come in.08:01So we now have our original alarm information from the inter site webhook, and here we also have the additional enrichment provided by LLM. And that indeed concludes our demo.08:21