# Get Started

## Introduction to Automation

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>CDB and YANG</strong></td><td>Learn about NSO's configuration DB &#x26; YANG.</td><td><a href="/pages/pZUZmkxLAnUONrqDb5PR">/pages/pZUZmkxLAnUONrqDb5PR</a></td></tr><tr><td><strong>Basic Python Automation</strong></td><td>Learn basics of NSO automation with Python.</td><td><a href="/pages/TxJY7WsTvmyw37b0w6Nm">/pages/TxJY7WsTvmyw37b0w6Nm</a></td></tr><tr><td><strong>Develop a Simple Service</strong></td><td>Take first steps to develop a simple NSO service.</td><td><a href="/pages/8ue8V7101TddJ17baqbw">/pages/8ue8V7101TddJ17baqbw</a></td></tr><tr><td><strong>Applications in NSO</strong></td><td>Automate NSO with applications.</td><td><a href="/pages/sXgWFsCfe9tG1xRpMdkO">/pages/sXgWFsCfe9tG1xRpMdkO</a></td></tr></tbody></table>

## Core Concepts

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Services</strong></td><td>Learn the concepts of NSO services and automation.</td><td><a href="/pages/IAQGSOrRFtEfgMpsPElu">/pages/IAQGSOrRFtEfgMpsPElu</a></td></tr><tr><td><strong>Implementing Services</strong></td><td>Learn NSO service development in detail.</td><td><a href="/pages/1ErWKzeM15TwAei4yXWm">/pages/1ErWKzeM15TwAei4yXWm</a></td></tr><tr><td><strong>Templates</strong></td><td>Develop and deploy NSO templates.</td><td><a href="/pages/Whkl286OHBVy52qnpzLh">/pages/Whkl286OHBVy52qnpzLh</a></td></tr><tr><td><strong>Nano Services</strong></td><td>Learn about nano services for staged provisioning.</td><td><a href="/pages/vJ0F1vOS4MeZ3S4VAOGS">/pages/vJ0F1vOS4MeZ3S4VAOGS</a></td></tr><tr><td><strong>Packages</strong></td><td>Learn about NSO packages and how they work.</td><td><a href="/pages/Co2LbpwYJk0phPiX0Gdp">/pages/Co2LbpwYJk0phPiX0Gdp</a></td></tr><tr><td><strong>Using CDB</strong></td><td>Concepts of importance in usage of the CDB.</td><td><a href="/pages/FxpCNgv5QKnfWrJw4nXf">/pages/FxpCNgv5QKnfWrJw4nXf</a></td></tr><tr><td><strong>YANG</strong></td><td>Explore YANG data modeling and its use.</td><td><a href="/pages/wD3v9o26MqWM8gLSMCJU">/pages/wD3v9o26MqWM8gLSMCJU</a></td></tr><tr><td><strong>NSO Concurrency Model</strong></td><td>Understand NSO's concurrency model.</td><td><a href="/pages/8PJW3J1uuhcu5ttTWYkl">/pages/8PJW3J1uuhcu5ttTWYkl</a></td></tr><tr><td><strong>Service Handling of ADMs</strong></td><td>Perform Handling of ambiguous device models.</td><td><a href="/pages/KXtxbH7UIdS0MakRJBfx">/pages/KXtxbH7UIdS0MakRJBfx</a></td></tr><tr><td><strong>NSO Virtual Machines</strong></td><td>Learn about Java and Python virtual machines.</td><td><a href="/pages/yGfkdnr1VpEtgrxAU0w0">/pages/yGfkdnr1VpEtgrxAU0w0</a></td></tr><tr><td><strong>API Overview</strong></td><td>Learn concepts and usage of Java and Python APIs.</td><td><a href="/pages/UVNTYYEFNC1zzWA5XYMP">/pages/UVNTYYEFNC1zzWA5XYMP</a></td></tr><tr><td><strong>Northbound APIs</strong></td><td>Learn working mechanism of northbound APIs.</td><td><a href="/pages/TItWBhukD9D6FJkD3eWB">/pages/TItWBhukD9D6FJkD3eWB</a></td></tr></tbody></table>

## Advanced Development

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Dev Env &#x26; Resources</strong></td><td>Useful info to get started with NSO development.</td><td><a href="/pages/UI92G83zmOpE8suAEtJj">/pages/UI92G83zmOpE8suAEtJj</a></td></tr><tr><td><strong>Developing Services</strong></td><td>Develop and deploy NSO services/nano services.</td><td><a href="/pages/3IPqmFAvtcCLGCnYJvvZ">/pages/3IPqmFAvtcCLGCnYJvvZ</a></td></tr><tr><td><strong>Developing Packages</strong></td><td>Develop and deploy NSO packages.</td><td><a href="/pages/Yb0PdnXkYaOCtAjNU3ch">/pages/Yb0PdnXkYaOCtAjNU3ch</a></td></tr><tr><td><strong>Developing NEDs</strong></td><td>Develop and deploy NSO NEDs.</td><td><a href="/pages/8ejgwCG15ge0KL57wXne">/pages/8ejgwCG15ge0KL57wXne</a></td></tr><tr><td><strong>Developing Alarm Apps</strong></td><td>Develop and deploy NSO alarm applications.</td><td><a href="/pages/x0g4ATc1LLQtq5WGL5ri">/pages/x0g4ATc1LLQtq5WGL5ri</a></td></tr><tr><td><strong>Kicker</strong></td><td>Trigger declarative notification actions in NSO.</td><td><a href="/pages/l1veKT5BYCJEPHqk6ytW">/pages/l1veKT5BYCJEPHqk6ytW</a></td></tr><tr><td><strong>Scaling and Performance</strong></td><td>Optimize your NSO automation solution.</td><td><a href="/pages/INyCuLO2h06pPPZrhcFY">/pages/INyCuLO2h06pPPZrhcFY</a></td></tr><tr><td><strong>Progress Trace</strong></td><td>Debug, diagnose, and profile events in NSO.</td><td><a href="/pages/kpsJEQm3pOtFku8CHOm1">/pages/kpsJEQm3pOtFku8CHOm1</a></td></tr><tr><td><strong>Web UI Development</strong></td><td>Develop enhancements for NSO Web UI.</td><td><a href="/pages/CaqxNy7kRXnmVOt6aIiJ">/pages/CaqxNy7kRXnmVOt6aIiJ</a></td></tr></tbody></table>

## Connected Topics

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>SNMP Notifications</strong></td><td>Configure NSO as SNMP notification receiver.</td><td><a href="/pages/7JdgJxfER9fTkxUSsVi5">/pages/7JdgJxfER9fTkxUSsVi5</a></td></tr><tr><td><strong>Web Server</strong></td><td>Use embedded server to deliver static/CGI content.</td><td><a href="/pages/2Q779klNQ2CNgat78Ncg">/pages/2Q779klNQ2CNgat78Ncg</a></td></tr><tr><td><strong>Scheduler</strong></td><td>Schedule time-based jobs for background tasks.</td><td><a href="/pages/CjjXi3Jz3h1ieY3Cbm5a">/pages/CjjXi3Jz3h1ieY3Cbm5a</a></td></tr><tr><td><strong>External Logging</strong></td><td>Send log data to external commands.</td><td><a href="/pages/YmgQfKSxYe7Kdi8QDXYY">/pages/YmgQfKSxYe7Kdi8QDXYY</a></td></tr><tr><td><strong>Encryption Strings</strong></td><td>Store encrypted values in NSO.</td><td><a href="/pages/Mjhh9xTOj3hWijpPDr9o">/pages/Mjhh9xTOj3hWijpPDr9o</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nso-docs.cisco.com/guides/development/get-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
