NetBox AI is Coming – Announcing the NetBox AI Enrichment API

Enrich any data intelligently with context from NetBox’s data model

As the capabilities of modern AI rapidly evolve, we’ve been busy at NetBox Labs experimenting with new ways to incorporate AI into the workflows of network and infrastructure teams to empower engineers and accelerate their work.

This year, NetBox AI is coming. The data in NetBox and its surrounding ecosystem is rich. NetBox’s comprehensive and cohesive data model makes sense of networks and infrastructure, unlocking the potential of AI for operations, observability, automation, and security. NetBox AI will tackle a host of use cases, and our mission with NetBox AI is simple: leverage the power of AI to enable engineers to do their best work, save time, and make the best decisions.

Our approach to NetBox AI is to start with the problems and workflows that engineers encounter every day. While “chatops” use cases for AI are exciting, we’ve found that getting real work done isn’t generally amenable to chat-only interfaces. Instead, NetBox AI will result in features and capabilities that appear throughout NetBox and the rest of our products that give engineers superpowers for accelerating their work by combining AI models, data from NetBox and other sources, and careful integration into the NetBox ecosystem.

In 2025, we’ll be rolling out a series of NetBox AI features and capabilities. As we do with all our products and features, we’ll bring ideas to market early, engage with our community, customers, and partners to get feedback, and iterate quickly.

The NetBox AI Enrichment API

We’re starting with NetBox AI today. We’re excited to announce the private preview of the experimental NetBox AI Enrichment API, a new API enabling engineers to easily enrich any data with context from NetBox about relevant infrastructure. The NetBox AI Enrichment API automatically identifies the most useful information in NetBox given context from the API caller, resulting in data enrichment that is easy to implement and use while providing rich results directly in the workflows of operators.

A quick example

How does the NetBox AI Enrichment API work? Let’s take a look at a simple example.

In this example, we’re using the NetBox AI Enrichment API to enrich a Zabbix monitoring alert, such as one that might be triggered when a device or interface goes down. Our goal is to get some information from NetBox that will help an operator troubleshoot the issue and accelerate remediation.

We’ll demonstrate this example with a simple curl command that calls the NetBox AI Enrichment API, which is available right in the NetBox API when NetBox AI is enabled. In practice, you’d trigger this API call from a Zabbix alert hook. Here’s the API call:

$ curl -s -X POST -H "Authorization: Token <netbox-api-token>" -H "Content-Type: application/json" -d '{
  "context": "Zabbix monitoring alert",
  "data": "Alert! Detected failure on dmi01-albany-sw01 iface GigabitEthernet1/0/1"
 }' https://<netbox-url>/api/plugins/netbox_ai_enrichment_api/enrichments/

That’s it! The NetBox AI Enrichment API is super simple to use. You provide it with two inputs: context, a simple string describing the context of the data source, and data, the data you want to enrich.

The API first identifies any objects from NetBox represented in the data. Then, based on the context, it determines what data in NetBox will be most useful. Finally, it returns enrichment data in a JSON response that includes relevant objects from NetBox, along with a natural language summary of the findings. Here’s the response:

{
 "id": 23,
 "url": "https://<netbox-url>/api/plugins/netbox_ai_enrichment_api/enrichments/23/",
 "context": "Zabbix monitoring alert",
 "data": "Alert! Detected failure on dmi01-albany-sw01 iface GigabitEthernet1/0/1",
 "result": {
  "status": {
   "value": "completed",
   "label": "Completed"
  },
  "created": "2025-01-16T22:25:11.521407Z",
  "completed": "2025-01-16T22:25:21.693074Z",
  "enrichment_data": {
   "dmi01-albany-sw01": {
    "url": "/dcim/devices/15/",
    "name": "dmi01-albany-sw01",
    "role": "Access Switch",
    "site": "DM-Albany",
    "model": "Device",
    "status": "active",
    "device_type": "C9200-48P",
    "primary_ip4": "None",
    "primary_ip6": "None"
   },
   "GigabitEthernet1/0/1": {
    "mtu": "None",
    "url": "/dcim/interfaces/170/",
    "name": "GigabitEthernet1/0/1",
    "type": "1000base-t",
    "cable": "#35",
    "model": "Interface",
    "speed": "None",
    "duplex": "None",
    "enabled": "True",
    "description": "",
    "mac_address": "None"
   }
  },
  "response_text": "## Summary of Alert\n\nA Zabbix monitoring alert has been triggered indicating a failure on the interface **GigabitEthernet1/0/1** of the switch **dmi01-albany-sw01** located at the **DM-Albany** site. \n\n### Device Information\n- **Device Name:** dmi01-albany-sw01\n- **Device Type:** Cisco C9200-48P\n- **Role:** Access Switch\n- **Status:** Active\n- **Primary IP:** None\n\n### Interface Information\n- **Interface Name:** GigabitEthernet1/0/1\n- **Enabled:** True\n- **Type:** 1000base-t\n- **Description:** None\n- **MAC Address:** None\n- **MTU:** None\n- **Speed:** None\n- **Duplex:** None\n- **Cable:** #35\n\n### Critical Issues\n- The interface **GigabitEthernet1/0/1** is currently experiencing a failure, which may impact network connectivity for devices connected to this switch.\n\n### Recommendations\n1. **Immediate Investigation:** Check the physical connection and status of the cable (#35) associated with the interface.\n2. **Review Logs:** Examine the switch logs for any error messages or indications of what may have caused the failure.\n3. **Test Connectivity:** If possible, perform a loopback test on the interface to determine if the issue is with the interface itself or the connected device.\n4. **Replace Hardware:** If the issue persists after troubleshooting, consider replacing the interface or the connected device.\n\nFor more details, you can access the device and interface information in NetBox:\n- [Device: dmi01-albany-sw01](/dcim/devices/15/)\n- [Interface: GigabitEthernet1/0/1](/dcim/interfaces/170/)"
 }
}

Simple integration = endless use cases

The NetBox AI Enrichment API may seem simple, but in this case simple is powerful. The API opens up endless use cases for quickly and easily pulling NetBox data into any workflow.

From the alert enrichment example above, to enriching IT troubleshooting tickets, to enabling operators to quickly pull in relevant NetBox data from a copy/paste workflow, and more: combining the simplicity of a single API call with the power of NetBox’s data model and NetBox AI unlocks massive potential.

Intelligently pulling the right data from NetBox into any workflow will lead to faster troubleshooting and resolution of issues, less “swivel chair” whiplash for engineers, and more proactive network and infrastructure operations.

Join the private preview

The NetBox AI Enrichment API is in Private Preview today as an experimental feature. We’re actively refining the feature based on feedback from users, and we’d love to get your input.

If you’ve got ideas for how you’d like to use the NetBox AI Enrichment API, then we want to give you a walkthrough and hear your feedback on how it works today and how it could be better. We also want to give you a sneak peak at other NetBox AI features we’re working on. Please contact us at product@netboxlabs.com, and include your name, company, role, and a few thoughts about how you might use the NetBox AI Enrichment API, or other NetBox AI features you’d like to discuss.

Share the Post:

Related Posts