Launching NautobotGPT: Using AI to Power Smarter Automation with Nautobot
Four years ago, we launched Nautobot with a mission to integrate Source of Truth with network automation, making data a first-class citizen and a central requirement for enterprise-class network automation. Today, we’re taking another step forward with the introduction of NautobotGPT — an AI assistant built specifically for network teams using Nautobot. It marks a foundational evolution of the Nautobot experience as the industry continues to evolve around AI.
The Fastest Path from Idea to Automation
NautobotGPT accelerates network automation when using Nautobot. The primary way it does this is by empowering network automation engineers to build Nautobot Jobs faster and more easily. Nautobot Jobs is Nautobot’s Python-powered automation engine — and whether you’re just getting started or scaling enterprise deployments, NautobotGPT brings the speed of low-code, the power of Python, and the intelligence of AI to enterprise network automation.
Whether you’re asking a question, describing a problem, or pasting in an error message, with NautobotGPT, you can:
- Get answers based on official documentation, examples, and best practices
- Generate, edit, and troubleshoot Jobs using natural language
- Explain and debug Nautobot code or error messages
And coming soon, NautobotGPT will be able to:
- Interact directly with your Nautobot instance via natural language
- Build data models (and more) with guided development support
We built NautobotGPT to address real issues that slow down automation: learning curves, large amounts of dedicated time, scattered documentation, inconsistent tribal knowledge, and limited Python expertise across teams. Every capability within NautobotGPT is informed by years of direct experience from the engineers who build and deploy Nautobot daily. This deep, practical knowledge ensures that NautobotGPT guides network teams on their journey towards proven, reliable automation practices that accelerate success.
From Trial-and-Error to Learning and Confidence
NautobotGPT isn’t just about acceleration either — it’s also a powerful tool for learning. Whether you’re new to Nautobot or already a power user, NautobotGPT can help deepen your understanding of Nautobot and everything in its ecosystem. By explaining Jobs, errors, data models, and architectural choices, it supports skill development alongside productivity gains.
Power users can validate assumptions, explore lesser-known features, or onboard teammates more effectively. New users can rely on it as a persistent, in-context teacher and mentor to ramp up faster and in a way that fits their learning style.
It’s important to emphasize that AI solutions like NautobotGPT don’t replace people — they support and enable them. It amplifies expertise, shortens feedback loops, and helps engineers at all levels make more informed, confident decisions. It’s grounded not just in documentation and examples, but in real-world knowledge drawn from years of experience — from the engineers deploying Nautobot in production to the Nautobot core engineers shaping it daily.
Why Now
LLMs have reached a point where they can offer real utility in daily workflows. And network automation continues to grow in the value that it can provide to users.
We regularly see that engineers spend significant time ramping up, context-switching frequently to find answers, or are stuck debugging code. NautobotGPT helps shift time and energy back to solving the problems that matter most. Of course, as with any AI-generated output, peer and SME review remain important — especially when promoting changes into production environments (to state the obvious).
There’s also momentum in the broader ecosystem. Many teams are exploring AI, but few have embedded it into real workflows. NautobotGPT is built to close that gap.
NautobotGPT in Action
Let’s go through a few examples of using NautobotGPT.
Generating Nautobot Jobs with NautobotGPT
The first example showcases how NautobotGPT helps build a net new Job to analyze/search the data already inside Nautobot. Given the vast amounts of data in Nautobot, it is common to build Jobs for repeatable queries that aid in data compliance and audits going beyond traditional network automation Jobs.
The following shows a basic Job being created to log every circuit in Nautobot that isn’t attached to an interface on a device helping network engineers perform clean up of unused older circuits in Nautobot.
The system then responds with the Job needed shown in the next image:
Note that we don’t expect all Jobs to be 100% production-ready on the first try, but to get 80-90% of the way there. However, this one in particular was exactly the use case desired and was successfully registered and loaded into Nautobot. If the first result does not achieve success, the code and any error messages can be re-entered into NautobotGPT and it will recommend how to resolve any code errors. This is shown in the code troubleshooting section below.
As a user, you’d see the new Job as shown below (after enabling it in the UI):
For completeness and because it was cut off in the image above, the following is the full code snippet generated:
from nautobot.apps.jobs import Job, register_jobs
from nautobot.circuits.models import Circuit, CircuitTermination
from nautobot.dcim.models import Interface
class UnattachedCircuitsLogger(Job):
class Meta:
name = "Unattached Circuits Logger"
description = "Logs all circuits that are not attached to any device interface."
def run(self):
unattached_circuits = []
for circuit in Circuit.objects.all():
# Check terminations of the circuit
terminations = CircuitTermination.objects.filter(circuit=circuit)
attached = False
for termination in terminations:
# Check if termination is attached to an interface
if Interface.objects.filter(cable__termination_a=termination).exists() or \
Interface.objects.filter(cable__termination_b=termination).exists():
attached = True
break
if not attached:
self.logger.info(
"Circuit %s is not attached to any device interface.",
circuit,
extra={"object": circuit}
)
unattached_circuits.append(circuit)
return f"Found {len(unattached_circuits)} unattached circuits."
register_jobs(UnattachedCircuitsLogger)
Using NautobotGPT as a Knowledge Assistant
Not every use case is about writing code from scratch. Maybe it’s just updating code as in the next example simply asking how a user can hide a Job from the UI (meant to be executed from the API in this case). It’s as simple as just asking the question, e.g. “How can I hide a Job so it isn’t shown in the UI of Nautobot?”
Troubleshooting Nautobot Jobs
As you can see, the goal is to enable engineers to work faster and smarter while they learn and automate. It may be a basic Job, but the following takes a small Job that isn’t working, and gets a novice engineer the help they need in a self-service manner without having to escalate early on in their journey.
Conclusion
Accelerating the Future of Network Automation
Our goal remains the same: make network automation more accessible, reliable, and scalable. NautobotGPT is one more step in that direction. There’s more to come, so stay tuned, but for now, we’re excited to get NautobotGPT into the hands of users and see how it changes the way teams automate.
If you are interested to hear more, be sure to reach out!
– Jason
Tags :
Contact Us to Learn More
Share details about yourself & someone from our team will reach out to you ASAP!