Skip to content

#002 Building With Cisco: Network ChatOps in n8n

Read the Portuguese translation →

Author: n8n · Watch on YouTube

Video authored by the channel shown, not by IANIA; all rights belong to the creator. Transcript and summary generated automatically; the original-language content is preserved.

Original language: English

Original video: #002 Building With Cisco: Network ChatOps in n8n · Channel: n8n · 45:37 · Watch on YouTube

Topics: AI agents, Task and workflow automation, Cybersecurity and software security

Poncho Sandoval from Cisco DevNet demonstrates two n8n workflows for infrastructure operations, emphasizing that AI should be introduced carefully where mistakes can cause outages. The first uses Slack and MCP servers for network ChatOps, combining read-only queries with guardrails, validation, and human approval before configuration changes. The second automates compliance and health audits, stores reports in GitHub, and opens tickets when it finds issues. The discussion also covers logging, access control, workflow resources, and ways to adapt the examples to other tools and infrastructure.

  • Infrastructure AI needs a balance of probabilistic AI capabilities and deterministic workflow controls.
  • The ChatOps workflow uses Slack to receive user requests and route them through a planning agent.
  • Read-only requests use MCP tools that cannot modify infrastructure.
  • Configuration changes are checked for conflicts and require human approval before they are committed.
  • The workflow revalidates changes before and after committing them, and records commit attempts in a ledger.
  • The audit workflow uses GitHub as a source of truth for report definitions, generated reports, and tickets.
  • An MCP server with read-only tools gathers infrastructure data for compliance and health checks.
  • Automated reports and remediation suggestions are intended to support expert review, not replace it.
  • The examples can be adapted to other infrastructure and integrations, including WebEx, Jira, and PagerDuty.
Start Chapter Summary
00:00 Introductions and audience Leo welcomes Poncho Sandoval from Cisco DevNet, who introduces his work and the infrastructure professionals the examples are designed to help.
03:39 Why infrastructure needs careful AI adoption Poncho explains why AI errors can cause outages and describes combining AI with deterministic n8n workflows.
06:49 ChatOps workflow overview The first use case connects Slack to infrastructure through MCP and distinguishes read-only requests from changes that need safeguards.
09:55 Slack queries and read-only guardrails Poncho demonstrates asking a Slack bot for device inventory and shows how the workflow restricts the MCP client to read-only tools.
13:33 Checking and approving configuration changes A proposed VLAN change is checked for conflicts, while valid changes are presented in Slack for human approval.
17:47 Committing and verifying changes The workflow rechecks an approved proposal, commits it, performs post-commit validation, and records the result and user identity.
22:30 Logging and workflow questions Poncho explains what the commit ledger stores, discusses observability options, and answers questions about confirming changes.
26:07 Retries, integrations, and access control Leo and Poncho discuss webhook handling, using WebEx instead of Slack, and ways to control actions based on user identity and permissions.
30:16 Automated compliance and health audits Poncho introduces a second workflow that generates infrastructure reports and tickets, using GitHub to store report definitions and results.
33:25 Generating reports from security guidelines The workflow reads audit requests from GitHub, turns them into checks, queries infrastructure through read-only MCP tools, and generates reports.
35:34 Reviewing audit findings Poncho shows Slack notifications for a healthy memory audit and a security hardening audit that opens a GitHub issue with findings.
38:13 Expert review and workflow resources The speakers stress that audits should assist experts rather than replace them, then answer questions about accessing the workflow files.
40:18 MCP design and getting started Poncho says infrastructure MCP design warrants further discussion and points viewers to repository documentation and support resources.
43:23 DevNet resources and closing The speakers recommend n8n and Cisco DevNet resources, thank the audience, and close the stream.

If we bring this into the realm of infrastructure, we get an outage and we show up in the news the morning after, right? — 04:43

probabilistic AI plus deterministic layout that strikes a nice balance — 05:46

guard rails and human in the loop. — 08:54

At the end of the day I want to have a human being in the flesh clicking the button to push that change. — 16:11

What we want to aid is in having somewhere to start with — 37:41

ChatOps, guardrails, human-in-the-loop, MCP, n8n, Cisco DevNet, Poncho Sandoval, Slack, GitHub, PostgreSQL, AI assistant

00:00 Hey everyone, I’m Leo from NAN. Welcome to the live stream today. I’ve got Poncho Sonoval from Cisco DevNet with me. Poncho, good to have you here. >> I’m I’m so happy to be here. Thank you for the invitation. Leo, >> feel free to introduce yourself and tell us a bit about DevNet. >> Yeah, sure. Absolutely. So, well, um, first of all, I’m very happy to be here sharing this space with all of you who are the community of NA10. As Theo mentioned, my name is Poncho Sandoval.

00:30 I’m a developer advocate at Cisco DevNet. And basically what I do is to bring novelty use cases and all sorts of cool stuff about programmability, orchestration, and everything in between for uh platforms, infrastructure, and data networks to our customers and partners. >> Nice. And a curiosity about you is you speak a many languages, right? >> [laughter] >> just a little bit uh a handful of them.

01:01 Uh right now I’m living in Lisbon, Portugal, so I had to learn Portuguese to properly uh hang around here. >> Nice. >> Something that I really like. >> So many flags. So cool. >> Thank you. >> Before we get into workflows, just to set the stage, >> tell us who is this? Who are like there are more than one builds. Who are they for? Like what’s the persona? What level of code would they need to know just to

01:32 make sure everyone is on board? >> Absolutely. Like this is a shout out to all of you here in the NA10 community who work every single day with infrastructure. Actually, I salute you. I praise you because you are the people who keep our world connected and running. you set the foundations of uh the networks that run the internet that run the AI revolution and well the use cases that we are about to have a look at have to do with making your

02:04 housekeeping your day-to-day easier optimized by bringing AI little by little in a very responsible way I mentioned >> awesome awesome and we already have a few comments so yes this is live not pre-recorded And [laughter] we we have a a a comment alive in Portuguese sounds cool. We’ll think about that. Up until this point, we’ve only talked in Portuguese, so it’s funny talking in English now. [laughter]

02:35 >> Exactly. >> Awesome. >> Kind of funny. >> Different poncho. Let’s dive in. And everyone drop your questions in the chat. We’ll make sure to go through them whenever possible. Let me get your screen up. >> Thank you. >> There you go. >> All right. So, uh, also shout out for all the people that are into data networks here in the audience. Uh, this is a small, you know, like Easter egg, like a blink to all of you who speak CLI. Uh, just for you to know, this is

03:08 uh my LinkedIn. This is my GitHub. I will share the the URLs later on. And this is a nice picture that I love to share of the Camino de Santiago pilgrimage. It’s such an amazing experience. if you’re in Europe and even if you’re not, you have to do it. It’s amazing. >> Nice. >> So cool. >> Thank you. So, Leo, if you allow me, uh, let me just go here to scroll down a little bit. Just a second. Yes. Okie

03:39 dokie. I didn’t want to put slides or anything. I just wanted to share with you a couple of things here just for you to get an idea. um me and my day-to-day within Cisco I basic I most of the time I work with people from data networks I’m talking about data centers I’m talking about service providers like all these big big big networks that are very difficult to manage and the reality is that I mean right now we’re living in the era of b coding AI agents all these different things that are not the the

04:10 next big thing they are the big thing right here right now right >> yeah So certainly >> the thing is that the infrastructure world regardless of which infrastructure we’re talking about it could be data centers it could be virtual machines it could be cloud instances it could even be kubernetes uh clusters and whatn not all of them share the same struggle they’re not able to surf these big waves because they need to be cautious they need to take things you know with a pinch of salt because on any given uh

04:43 application If uh AI does any sorts of misjudgment, hallucination and whatnot, we may get an exception, we may get an error, we may get something in between. If we bring this into the realm of infrastructure, we get an outage and we show up in the news the morning after, right? So, we positively don’t want to embrace AI just as it is. We need to put some things in place before being able to do experiments with it before we are

05:14 able to adopt it little by little. And I was thinking about how to bring this to our customers and partners within Cisco for their data networks and whatnot. And we came across NA10. It’s a pretty cool solution for exploring all of this because we have very robust AI tooling within. And so we can make use of this probabilistic nature of AI but we also have the deterministic nature of this

05:46 layout of all the nodes that we drag and drop and connect and we get the same results every single time. So in a nutshell for infrastructure probabilistic AI plus deterministic layout that strikes a nice balance and this is something that we are looking for. So having that in mind, we have been working on two different use cases that uh may cater uh you know your needs whatever infrastructure we’re talking about and well I’m here to demo them

06:17 live and so that you can have a look at them. What >> perfect perfect that’s that’s a perfect topic because something we’ve been trying to show in our content is exactly about the blackbox thing. A lot of what people are building with AI now, especially whoever is just going through the vibe coding route without really understanding a few concepts, end up building inside of a black box. They don’t know exactly how they can handle that agent. And you’re you you showed me your workflow before. I think it’s

06:49 perfect a perfect example to show how you can use AI and still have limit what it can access, right? >> Exactly. Absolutely true. So, uh without further ado, if you allow me, uh for for you and your wonderful community here, I want to start with the first use case that we’ve got here. This is basically a chattop’s interface via Slack for your day-to-day housekeeping with your infrastructure. The example we’re going

07:19 to have a look at has to do with data networks. Like this could be any given data center. But don’t think that this is just for networks, that this is just for Cisco or whatever that may be. This can perfectly apply for your day-to-day housekeeping on your Kubernetes cluster, on your cloud instances. If it has an MCP server available for managing this, it can definitely be adapted into this workflow. >> Yeah, >> hands down. And maybe this is the moment

07:51 when I ask your audience very quickly, could you please raise your hand or drop a comment if you know what MCP is? If you’ve ever worked with MCP, I’m very curious. >> I hope we have some builders there. >> Hopefully, >> we have we have an Armano from Peru. >> Oh, nice. Nice. Um, well, so let me explain you very briefly what this is about. We are going to have this workflow with four

08:22 different agents. This will allow us to do read operations like to do queries about hey what’s going on with my infrastructure? Can you give me some alerts? Can you give me some logs? Can you give me some data in general for whatever I need to do? But also we are going to be able to change configurations, create, modify, destroy things at will. Well, not really at will because you see what’s the difference between any given agent for any given application and something catered for

08:54 actual infrastructure. Main difference is that we need to put couple of things in the design from the get-go. That being guard rails and human in the loop. We need to actually limit the things that we can do and the moments in which we need human eyes to click that button and make that change happen or reject it all at once. So I want you to keep in mind these two words which are very important guard rails and

09:24 human in the loop and they will make sense in a moment. This workflow we have a planning agent based on the message that we got from Slack. We are going to determine if it’s a readonly or it’s a commit operation. If it’s readon, it’s all cool. We get the information using an MCP server and we prompt it to the user. If it’s something that we need to commit, we’re going to validate it against conflicts. If it’s conflict free, we’re going to do the change and then we’re going to validate it again and bring the results back to our user.

09:55 So it is divided into different um uh layers here. But before diving in, I want to show you live how it works. So let me go here. Thanks Leo. Let me go here to my Slack because as I mentioned before, this is based on Slack. Here I have my lovely raccoons. And it all starts [laughter] I love explaining things with raccoons. It’s the best way to explain stuff. You certainly grab attention. [laughter]

10:28 >> Yeah, I love them. [gasps] We start with an app. It’s very easy to create apps on Slack and uh NAT has a pretty comprehensive suite of nodes that interact with your Slack bots. So, we create a bot here and we integrate it with our NA10 uh workflow. And now we’re going to be throwing a question. For example, hey packet which is the name of my bot. Uh please tell me which are the

11:00 devices in my inventory. Okay, I will put my uh I will put this on the side if you give me one moment. Yeah, it’s here. And then this I will put it here. There we go. Lovely. I will put this Slack mention trigger and then I will throw this and we’ll see what happens. Okay, just a second wrapping things up. We have here a lovely uh just one

11:31 second. We have here Yes, this agent here. And why can’t I navigate? Yeah, awesome. Yes, you may. Okay, so what just happened here? We got the mention of the bot and using this very simple blocks, we got that message. We got the identity of the user. We got all that stuff into NA10. Then we run it through our first agent. This is our planning agent. You have here a couple of cool things, right? All these prompts are optimized.

12:01 All these prompts follow the agents.mmd open source standard. That’s something good to to have. And we’re basically deciding, hey, is this readon or is this a commit? Well, it’s a readonly thing. Perfect. We are going to be using our MCP server but not just as is because you see this is read only thing but we’re basically trusting our prompt to behave properly. We’re basically giving it a nice suggestion a kind suggestion

12:32 to don’t change configurations on our devices on our inventory. But I want to be certain. I want to make sure that this AI prompt of the persona of my agent doesn’t go rogue and change things by itself. So what I’m doing is putting Yeah, it doesn’t it it makes a lot of sense. So what I’m doing here is to limit the tools that can be used through this MCP client. All the tools that you see here, they are by code, by definition,

13:03 read only. there is no way that I can change things using these tools that this agent is limited to. This way we have probabilistic guardrails but also deterministic guardrails. It’s always awesome to have both in place. So just to keep it short, we do the queries, we connect to our infrastructure, we get the results and then we just prompt it back in this nice formatting to our user. Okay. And this is basically our

13:33 chattops uh interaction. What happens when we want to change things? There’s going to be a couple of things in in place. So uh this may take a little bit of time. So I have here just a couple of examples already in place. So if you allow me to show you here, we’re just going to go and say, hey, I want to create this new virtual LAN uh ID 20 named voice on this switch. We normally use this villain for creating dedicated uh traffic in on our networks. We may

14:05 have one for printers, we may have one for voice, we may have one for video and so on and so on and so on. When we create this and they already exist, they can overlap different things and they can create uh interruptions in our service like this is something that we ideally don’t want uh to have [laughter] in our network. So yeah, I throw this, it goes through this through the planning agent and then it is a commit thing, right? So it’s going to be checking, hey, using the MCP server, do

14:37 I have this already? Do I have this sort of thing already on this target device? Well, turns out that it does, right? So what we’re going to see here is its best judgment of why it is unsafe to do this changes. It will show us here its reasoning. I have here in the definition of the agent how to do this reasoning and it will show us why this is blocked. What can you do to proceed all the things that you can check right? Me as an expert me as the network expert in the room will check this and see if it

15:10 makes sense right but I am not starting from scratch and I want to make a brief pause. John Capoenko I see your message here on the chat. Yes this is your PITSMCP server. I brought into the realm of NA10 and help you for all the cool things that you’ve been doing. I’m your huge fan. Just wanted to to to do that. Okay. >> I’ll leave I’ll leave that link in the description as well later. So, >> absolutely. >> Whoever is watching, by the way, someone asked if this was going to stay

15:40 recorded. It will. Just check our YouTube channel and make sure to subscribe. By the way, >> absolutely, hands down. [laughter] Uh let me move forward a little bit. What happens if the change is actually valid? Okay, this is a very very simple example. Let’s say I’m telling it, hey, do the same config but on a completely different device. I want to see if there’s a conflict of any sorts. Okay, you remember that I mentioned two different things at the beginning. Guard rails and human in the loop. We already

16:11 saw guard rails like asking our agent persona nicely to not misbehave but also restricting the MCP tools that we can use and limit it to the read only ones. Okay. Now it comes the second uh uh topic that I mentioned which is human in the loop. At the end of the day I want to have a human being in the flesh clicking the button to push that change. And here the the example is very straightforward, very simple. But if the

16:43 change is actually a commit, I’m going to pass it through this different part of the workflow that will create small slack cards that will be sent to our chat. And you can see here this lovely card commit approval required target device vendor to the better judgment of our agent. These are the safety comments. This is a pre-check evidence and this is the tiny little commit payload that we’re going to be pushing. This could be like a thing for serious like for all the people of networking

17:14 out here. This could be a complete BGP deployment. This could be something serious, right? But I want to keep it short here for the sake of simplicity. And also here we have a poserous DB. This is optional of course. It’s a ledger, a commit ledger because we want identity on every single change. So, as you can see here, it’s up to me, Mr. Human Being, to click the button or to let it be. Okay, this is uh the human in the loop part of all of this use case.

17:47 So, uh maybe I can make a quick pause here while I scroll to the other part of our uh workflow and maybe check here uh on the comments if there’s something that I could answer right now. I don’t think there’s a direct question about the workflow. I think human in the loop is sometimes under underused >> especially because I mean to be honest most people just hook up a b a bunch of agents and just let it loose when in

18:17 some some cases especially infrastructure you can’t do that at all. Certainly absolutely true like positive on infrastructure uh we want a couple of eyes in there right so it it depends of of course of the use case absolutely but well I want to showcase you know the the the moments in which we do want human eyes on the thing okay so this is an idea of an implementation >> so having said that what if I click the card what if I click please commit well

18:49 here I have a different uh part of the workflow. This is a web hooks which NAT does super well. Uh it’s something really really easy to do. So just put here a bunch of blocks for getting the web hook. I’m passing here an ID of prop of commit proposal that I match against my ledger. If it is there on my posress database what I will do is just one second. I always confuse here my my navigation. There we go. Awesome.

19:21 If uh the card is hasn’t expired, I will do a couple of validations here. I will run this against a couple of independent agents. Is the is the change still valid? Many things could have changed in between. I want to run it again against prevalidations. If it is still valid, what I will do is to finally commit the thing, do the change, create, add, destroy, whatever that may be. It has full access. You can see here that my uh MCP client is using all the tools, all

19:54 the tools at our fingertips because we’re able to do whatever we want. And then after we do the changes, we run a final independent postcomit integrity validation. And then if if it all goes well, we show the results here. So uh if I click this one, it’s it’s very old. So it will uh uh tell me that it’s expired. But then here with this level >> which just it’s good it’s good that it observes that it’s been a while and

20:25 doesn’t commit or else it’s old data that wouldn’t work. Right. >> Certainly I can do that. So here I’m going to put my my um trigger for the web hook. I will click on cancel and then you can see uh ah well I canceled actually. [laughter] Sorry I should have clicked commit. Sorry about that. Uh but well here you can see that it got replaced. Commit canceled. The web hook is is working then otherwise it would have showed me it expired. This is very old, right? So you need to start over.

20:58 Anyways, uh sorry about that. >> No [laughter] problem at all. [gasps] >> Under this lovely raccoon playing with bubbles. I have a change that I actually committed. So this is a banner. You know those kind of banners that when you log in via SSH or channel it to something a server or whatever that may be you get this like nice banners like hey legal notice if you misbehave we’re going to get you like like uh like virtual machines police is going to get you. Okay we I added a banner of those like hey warning authorized access only with

21:29 great power come from great responsibility famous quote by Uncle Ben. I got the card. I clicked commit. All the changes went through and then I got this last message, this verdict. It’s all verified. The the configuration is there. The four lines are there. Everything is good. All tests passed. And then here you can see that my identity from my user logged into Slack is there in the commit ledger

22:00 where the status of this uh change was marked as applied. So you can see that we have this end toend experience for different purposes prioritizing [snorts] guardrails and human in the loop for our agents with infrastructure. Okay, >> nice. >> Perfect. [laughter] Thank you, Leo. And I don’t know, NAT community, if you have any questions, if you have any doubts, this is the moment when you uh uh send us a tiny message

22:30 here in the chat. >> Yeah, >> there’s a question there. >> Yes. Okay. Are you saving the logs and changes outside the Slack chat somewhere? [snorts] Um, not really. The only thing that I am saving is uh all our commit attempts in this ledger. This posgress is actually a container. All of this I will show you later. All of this including NA10 is a docker compose based like my entity server, my posgress db,

23:03 n10 itself. I have it all on a nice docker compose. So yeah, all this attempts with uh the slack user are being saved on that pos container. However, and this may be a topic for a different uh community call, there are ways to extract logging and events from NA10. NA10 has some very interesting hotel like open telemetry uh blocks that we can definitely leverage and you can plug this traces to your favorite

23:34 observability stack. Isn’t that true, Leo? >> Absolutely. And there’s also an agents feature that I think we need a different live stream just to cover that because all of that can be added to the agents feature. And I I think I’ll have Liam on board to to talk to us about this. Another question in the chat. So can you confirm the last committed changes? >> Yes, that’s uh actually the role of this

24:04 last agent. So like if we have a look at it when we commit things yes it all starts here. So it goes through let me zoom in here pre pre-commit commit and postcommit. So it all happens in that sequence. So the moment we get this message this is our actual confirmation of the things that were pushed. Okay. I don’t know if if that was the question. >> Absolutely. Yeah. The next question I

24:34 think is more around N and >> it’s like we had a paid actor to make this question because I I’m I’m absolutely [laughter] stoked about it. >> Awesome. >> Yeah. So, there’s an option to use the MCP to integrate AI to to create the workflow and this has been around for a while. Uh it’s only gotten better. So if you’re still only using the MCP attached to cloud for example to codeex you’re losing a lot if

25:07 you’re not taking advantage of skills for example. So adding the skills is basically an instruction for the agent to better use that MCP. Now another great option that we’re building and u many users are not aware of yet is the AI assistant. So the NAN assistant uh if you update your NAN right now, you’ll have access to that is basically an agent already inside of the user interface inside of the like next to the

25:37 canvas and everything where you can build the entire workflow, build tests exactly like you would do through the MCP but all inside of NAN. You can do this self-hosted. So you could hook up your favorite LLM. And yeah, we’re posting a lot of examples, a lot of use cases in our channel. So again, subscribe to follow up for more. There’s a bunch of questions now. Let’s check them. >> Sure.

26:07 >> So okay, for teams handling high volume inbound web hooks, how does N handle retries and failure handling compared to rolling your own solution? Okay. So, this this is something I’d say is the question between personas where you if you’re more of a developer naturally, I’d say just build your own solution. Um, if you have if and if

26:38 you’re a developer and work with more people on this, I’d say consider any especially if you’re working with non-technical people that want to track that want to understand the workflow that want to add their own take their own integration and overall just use the no code feature we have then >> it’s better off using it. Um, another another reason to use it is the infrastructure is all done. I mean it’s already deployed into the cloud. It’s easy to get it up. Whoever has

27:09 built their own web hooks understand the [laughter] the job it is to yeah configure everything. >> Certainly. >> Let me if we ever need to use your screen again just let me know. Let’s check. There’s a lot more questions here. Um, let’s see. Is there a way to integrate WebEx Teams instead of Slack with these amazing NA workflows? This one’s for

27:41 you. >> Uh, yes, there is actually also a comprehensive uh um amount of WebEx dedicated notes within NA NA10. And yeah, I definitely invite you to adapt this Slack uh uh based workflow into WebEx. I think I may have a a demo somewhere where all of this was done with WebEx. Uh it doesn’t change that much. So if you ping me later, I can share it with you.

28:11 >> Nice. Okay, next question. I think it’s the last one. When using Slack as an interface for an MCP server, how do you control which tools or actions each user is allowed to trigger? I think this fits perfectly with your I think that would be more what I would say is that there’s not a like a single way to do this like you can get very creative with this. So it

28:41 uh thing about using these uh like user based interactions is that depending on what you’re using you can know the identity of the person. For example with Slack I can get the username I can get their hash I can get their ID. So based on that I can for example I’m thinking I can check uh an integration with a vault where I have this policies uh like I don’t know like a keycloak or something and then it can tell me hey this user is allowed to do this and this and this and then there would be one branch one if on

29:13 our workflow so you have all this bunch of agents but then oh this is a super user then you have this other branch with all this bunch of agents like you can visually branch these things based on a centralized uh RBAC uh server or whatever, right? That’s of course I’m brainstorming out loud. That would be one way to do it, right? >> Yeah, true. There’s many. There’s also So, I don’t know if Slack does this, but some some providers, some some tools

29:45 allow you to set which what do you want that MCP to have access to straight from their dashboard. So, you can toggle that as well. Um, which is another way to Okay. Do you have another workflow if I’m not mistaken to to show us? >> Yes, I do. >> Yeah. Let me hide this. Let me bring up your screen. >> Sure. >> Let’s see what you have. >> Okay. All right. Well, this one has to

30:16 do more with um like fully automated uh workflows. We don’t have any like human in the loop. It’s like everything completely autonomous and it caters for specific need of all of you here who are infrastructure people which is compliance audits reports and issues. All of these go hand in hand. We normally trigger workflows that uh generate this at any given point in the week. most

30:47 likely during our morning coffee. We want to know what happened, what is out of line, what needs to be fixed. So this is one way to do that with N8N. So let me show you very quickly. This is a very linear approach, but I’m going to zoom here to this nice slide. Yes, it’s a very simple idea. We have the same take of having an MCP server for any given infrastructure that you need and want. And this time we have uh

31:21 everything centralized on GitHub. GitHub is going to be our source of truth. Here we have definition of reports meaning things that we want to check on our infrastructure on a regular basis. It could be for compliance, it could be for auditing, it could be just for health checks. Then we’re going to be storing the generated reports like how good or bad it uh performed our infrastructure performed in the same GitHub and also we are going to be issuing tickets if

31:52 there’s something out of line that needs our attention. Of course you can swap any of these components at will right like NA10 has a very comprehensive set of nodes for uh many many different tools. You could have a pager duty, you could have a Jeta, you could have all the different things, but here for the sake of simplicity and because it’s actually for free, I’m using GitHub for all the stuff. So inside of an A10, we will have three different agents. The first one will do an interpretation of

32:23 the reports that we want to generate. It will break them into small rules that we will later execute with the second agent, the reporting agent. This one has the connection to the MCP reef only tools because again this is reef only. So we can issue those rules. We can get the results from our infrastructure compare against what is compliant and then build a markdown file that we will store on GitHub. And then the last agent

32:54 will have a look at these results and say hey everything looks good. We’re safe and sound. Nothing to do here or something’s catching fire. So I need to get the attention of our engineers. Right now I’m going to be creating tickets in our ticketing system in this case GitHub as well. So uh I will this one will take a little bit of time if I run it right now. So I will go ahead and show you how it looks in our GitHub repository. I will share

33:25 with you the link later. This is pits loves aentic ops. And here if we go to our reporting and auditing we have this reports f uh folder we have the definition of reports. So for example um we may want to have a look at how well our devices are performing against the hardening guidelines for security. There’s uh Cisco u like frequently publishes this guidelines like hey if you want to have a router that is well

33:57 secured you want to get logging you want to get tacax you want to get AAA authentication you want to get all these different things cool okay these are public guidelines a lot of vendors do this it’s not only Cisco many many vendors do that so I can just go and say hey um I want you to fetch uh the configurations of this device and compare them against the recommendations of this guideline. So I’m going to put that request here in this small txt file. What’s going to happen is that

34:30 this workflow will get those files from GitHub and one by one it’s going to run all these different things. First of all getting the contents of the file then splitting it into small rules. If this has a URL, it will fetch it using an HTTP request. Then once it’s splitted, it will run those checks against our infrastructure on our target devices using the MCP client and then create the report where we want it to be created.

35:01 And finally, if there’s something that needs our attention, it will create those tickets um on GitHub, but also it will let us know with a small card uh about if it was just reports or reports plus bad news. We’re going to have that on our morning coffee on a Slack channel, right? We have here delivery of results. Exactly. Best way to kick off your morning, it’s either with bad news or by deleting something in production. when your coffee is not strong enough.

35:34 So, let’s have a look at it, shall we? I’m gonna go here to my reports, then to files, and I will show you one of the reports. Actually, I think it’s better if I show it to you via Slack. Let me go here to our Slack. Here we go. I’m going to expand it. Yes, I’m going to zoom in a little bit more. Here I have some raccoons that did this for me before the session. Yes, you can see here that for example this card, it was an memory audit. My premise was, hey, if there’s

36:06 something above an 80% threshold, something that is about to catch fire, let me know. Everything is cool. We can see that we just have the report and that’s it. Right? The report here, it says it’s all chill, you know, um statistics version. It it justifies what it ran to get this verdict and that’s it, right? Easy peasy. But then this other one, it did catch fire like hey your hardening status uh you need to get some work done here because you’re not compliant with this latest hardening

36:37 guidelines. So I click here actually no I click to open issue and we can see here that this is an issue on GitHub. Again this could be Jada this could be pager duty this could be your favorite ticketing tool. Uh out of all the 22 harding rules, we passed two. We uh failed 15 and there is uh there are five that we couldn’t run for any given reason. We have critical findings. Here we have the summary here. We even have

37:09 because I prompted it to do a remediation task list task list sorry based on its better judgment. So everything is here and then here we have a link to the reference report where we have more information right we can see here all the things the scopes environment overview and then one rule per row we have here all the things that were assessed how they were assessed and then here’s some risks and considerations something that I want to stress here I don’t intend I mean none

37:41 of this is intended to replace the better judgment of a security expert? Not at all. What we want to aid is in having somewhere to start with because I’m going to ideally I give this to my engineer who is the expert on the matter and then this person will evaluate if there’s a call to action here or if this is nonsense. Right? >> So, it’s we’re not replacing anybody. We’re just making uh their their

38:13 day-to-day housekeeping easier and more optimized. That’s intention here. >> Absolutely amazing. And we need this. The more we use agents, the more we use AI, we we we need to ensure this this is part of the workflow. >> Indeed. Yeah. >> Okay. Let me bring the screen out. Yeah. And especially I mean when

38:43 you showed me this workflow at first I think I mentioned it with you. Uh I immediately thought about how much people are just using AI and becoming developers let’s say and just deploying things to to production and like the infrastructure team is going to have a nightmare at some point because of how many projects are up and ensuring that we can make everything is secure is is needs a real strategy behind it.

39:14 >> Okay. So we have a question here. Can you give those workflow JSON files? So this is actually in our N template will be in the description of the video and yes this will be recorded in YouTube with all the links in the description. Hey nuts. Okay. Oh, here’s a really nice comment. This could have helped me years ago. I

39:46 had to manually pull the utilization by card in a GSR to understand why it was crashing. [laughter] [snorts] Yes, been there, done that. Unfortunately, hopping in between a thousand SSH terminals, copying and pasting things manually. Uh, those were the days. Those were the days. >> Those were the days. [laughter] Okay, I have a few questions for you. Uh just so we can finish up. Anything

40:18 that you didn’t cover that you wanted people to hear? >> Right. Uh I think that the design of MCP tools and servers deserves its own uh chapter, right? Uh right now MCP I mean MCP has been gaining traction with a little bit of uh controversy on the side but it’s as of now the best way to bring

40:48 our agents, our LLMs, whatever that may be into the real world. But as Uncle Ben said, with great power comes great responsibility. >> Yeah. and uh definitely talking about how to design these tools especially for infrastructure that deserves its own community call. >> Awesome. Awesome. And for anyone who wants to try out these workflows um or not even the workflow wants they have their own specific problem and want to reach out to you or want to refer to a

41:19 document where would you point them towards >> right um I don’t know if I can use the chat of this uh uh call to drop a link or >> um >> actually you’re going to be the first person to test that. Can you can you see the can you actually see the chat? >> No. Um well, let’s do the following. >> You can send it to me. I I can I can drop it. >> All right, I will do that.

41:51 So, let me put this uh and send it. Okay, I think I did. So, because >> nice. [snorts] All right, I >> sent it. >> Awesome. So, it’s two links. Um so the first one is the repository that I shared with you. I there you have all the information I built a very comprehensive set of guidelines for implementing this in your own premises

42:22 and there’s because you know like doing like the slack thing and then like the web hooks thing and this and this and that it takes some time right like to set it up to get it good the first attempt. So I put I invested a lot of time to make it bulletproof. So have a look at those rhythmi files. Everything is there. Also there you have the link to the official NA10 workflow catalog. Sometimes like like this is a living project. So time and again I upload new versions of this workflows and what that

42:53 when that happens the URL may change. So rest assured that the latest version of the URLs is going to be there in this GitHub repository. And if after going through this documentation you still have some questions, please ping me on LinkedIn uh I I shared with you my my LinkedIn Leo. Um I reply to all the messages. So please drop a message. That would be pretty cool. >> Sure. And if you’re ever struggling in implementing a template that you find in

43:23 our template library, use the AI assistant. It should be able to synchronize. It should be able to even help you figure out the authentication part. So all the credentials that annoying part I know it’s annoying but it’s part of the process use our our an assistant for that. And last question is what’s next for the DevNet team? What would you say the audience could expect and should watch out for? >> Absolutely. Uh we at Cisco DevNet we are

43:58 always working on cool stuff very cool stuff like cutting AI like uh use cases and whatnot. So the best way to check what we are up to is by um checking our YouTube channel. I’m going to post the link here. So I just shared it with you Leo. >> Thank you for that. Awesome. And we have one the last link of the day, I promise. developer.isco.com.

44:31 This is the go-to point for everything regarding networking automation and orchestration. We have a bunch of resources. We have all our MC servers, our API specifications, our learning labs, our sandboxes. Everything is for free and you can definitely check that out. And if you ping me on LinkedIn, I will be more than happy to share with you like a getting started whatnot. >> Awesome. Uh, a last comment.

45:07 [laughter] >> Uh, Poncho, thanks for coming on. Do you have any last words? Um, thank you Leo for the invitation and thank to each and every one of you uh community members of the of this amazing NH10 space. It was such a pleasure and an honor to be sharing this time with you. >> Awesome. Likewise. And like I mentioned uh we mentioned both workflows are free in the template library. I’ll drop the

45:37 links in the description along with the repository. Everyone thanks for watching. See you all in the next episode.