# Ninox Scripting

## **Start here**

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Introduction to scripting at Ninox</strong><br>Learn what scripting is, where it runs, and which core terms matter first.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/I3xpSNfSzaIQEtl7Nd5w">/spaces/kPhymvwY495t6ZTxhW8Q/pages/I3xpSNfSzaIQEtl7Nd5w</a></td></tr><tr><td><strong>Step-by-Step Ninox script</strong><br>Build a script in small steps and see how the parts work together.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/Q92DRSIHogTgDRjpo8ZJ">/spaces/kPhymvwY495t6ZTxhW8Q/pages/Q92DRSIHogTgDRjpo8ZJ</a></td></tr><tr><td><strong>Explore core scripting elements</strong><br>Understand statements, variables, operators, and editor basics.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/4oweNaShTqTuEcjOGaiK">/spaces/kPhymvwY495t6ZTxhW8Q/pages/4oweNaShTqTuEcjOGaiK</a></td></tr></tbody></table>

## **Learn by topic**

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Work with functions</strong><br>Find the right function for text, dates, math, records, files, and integrations.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/zTdRTs33ne7kLCWzXtPc">/spaces/kPhymvwY495t6ZTxhW8Q/pages/zTdRTs33ne7kLCWzXtPc</a></td></tr><tr><td><strong>Triggers and automation</strong><br>Run logic automatically when records change or events happen.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/q0BO6RVF5YLS4yk5xZeF">/spaces/kPhymvwY495t6ZTxhW8Q/pages/q0BO6RVF5YLS4yk5xZeF</a></td></tr><tr><td><strong>Scripting patterns for common tasks</strong><br>Reuse proven approaches for updates, queries, checks, and record handling.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/qLvaw8RgdH1mO3OlQikY">/spaces/kPhymvwY495t6ZTxhW8Q/pages/qLvaw8RgdH1mO3OlQikY</a></td></tr><tr><td><strong>Best practices and common pitfalls</strong><br>Avoid slow scripts, hidden side effects, and hard-to-debug automation.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/jrSJ1YA0YQJOxpNKF1cs">/spaces/kPhymvwY495t6ZTxhW8Q/pages/jrSJ1YA0YQJOxpNKF1cs</a></td></tr></tbody></table>

## **Browse function categories**

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Text and strings</strong><br>Clean, combine, search, and format text values.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/MFgyhVFydCcTVsiFS5om">/spaces/kPhymvwY495t6ZTxhW8Q/pages/MFgyhVFydCcTVsiFS5om</a></td></tr><tr><td><strong>Numbers and math</strong><br>Calculate totals, round values, and work with numeric logic.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/Kd2LGBjXgGJXyXZ7LUcl">/spaces/kPhymvwY495t6ZTxhW8Q/pages/Kd2LGBjXgGJXyXZ7LUcl</a></td></tr><tr><td><strong>Dates and time</strong><br>Build dates, compare periods, and calculate durations.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/pkJ4ttZJZMAvLD8tTGNc">/spaces/kPhymvwY495t6ZTxhW8Q/pages/pkJ4ttZJZMAvLD8tTGNc</a></td></tr><tr><td><strong>Records and tables</strong><br>Query, inspect, sort, and update records.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/yrsmPC9E6UUzy3MY8CVU">/spaces/kPhymvwY495t6ZTxhW8Q/pages/yrsmPC9E6UUzy3MY8CVU</a></td></tr><tr><td><strong>User Interface and navigation</strong><br>Show messages, open pages, and guide users through the app.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/ITPAoceKYUyGGuyGVuYc">/spaces/kPhymvwY495t6ZTxhW8Q/pages/ITPAoceKYUyGGuyGVuYc</a></td></tr><tr><td><strong>Files and export</strong><br>Import, create, inspect, and share files.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/PSGegaMb7QkbmkN1ih3J">/spaces/kPhymvwY495t6ZTxhW8Q/pages/PSGegaMb7QkbmkN1ih3J</a></td></tr><tr><td><strong>Users and roles</strong><br>Adapt logic to the current user, role, and workspace context.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/uHl8tI7lNVcgA5ysrpFM">/spaces/kPhymvwY495t6ZTxhW8Q/pages/uHl8tI7lNVcgA5ysrpFM</a></td></tr><tr><td><strong>Location and devices</strong><br>Work with GPS, links, calls, and barcode scans.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/o1eHswbZz2sRJaRDpT8n">/spaces/kPhymvwY495t6ZTxhW8Q/pages/o1eHswbZz2sRJaRDpT8n</a></td></tr><tr><td><strong>Integration and HTTP</strong><br>Connect Ninox to external services and APIs.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/2pmR3zEq8erLHQifiH63">/spaces/kPhymvwY495t6ZTxhW8Q/pages/2pmR3zEq8erLHQifiH63</a></td></tr><tr><td><strong>System and flow control</strong><br>Control timing, caching, sync, and environment checks.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/aNHJamYfOfRT1qtfOKd4">/spaces/kPhymvwY495t6ZTxhW8Q/pages/aNHJamYfOfRT1qtfOKd4</a></td></tr></tbody></table>

## **Full reference**

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Functions library</strong><br>Browse the full documented function set in one place.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/nzgnJwAbsk6XKnjlwJrE">/spaces/kPhymvwY495t6ZTxhW8Q/pages/nzgnJwAbsk6XKnjlwJrE</a></td></tr><tr><td><strong>Data types and operators</strong><br>Find common value types, operators, and conversion helpers fast.</td><td><a href="/spaces/kPhymvwY495t6ZTxhW8Q/pages/ODshFpryNDHVF5t8W3W5">/spaces/kPhymvwY495t6ZTxhW8Q/pages/ODshFpryNDHVF5t8W3W5</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://docs.ninox.com/ninox-scripting/ninox-scripting.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.
