Tutorials
The module pages explain what each part of the platform is. These tutorials
show you how to use it — end to end, in the order you'd actually do it, with
every call given for the CLI, the
TypeScript SDK and curl.
Every step is a real API call against the single public contract — there is nothing here that only the console can do.
Before you start
You need two things for any tutorial on this page:
-
A credential. A
nat_sk_…API key, or a session JWT from Auth. -
A shell that knows about it. Every example below reads
NATURALI_TOKEN:export NATURALI_TOKEN=nat_sk_...
Pick your client once and the tabs throughout the tutorials stay on it.
Each tutorial is atomic: it delivers one complete, working value on its own, and anything it needs from earlier is a linked prerequisite rather than a repeated walkthrough.
Available tutorials
They are listed in the order a newcomer should read them — each one's Prerequisites section names what it expects you to arrive with, and links to the tutorial that produces it.
Create a provider
Create a project, register a provider — naturali models (managed) or your own key (BYOK) — and prove it works with one smoke-test generation.
Your first agent generation
Bind an agent to your provider, run a generation, and read exactly what the run cost.
Connect a Discord channel
Connect a Discord bot to an agent and prove it answers real users in direct messages.
Structured output
Constrain an agent to a JSON Schema so its generations return a validated object instead of prose.
Search a library of PDFs
Turn a folder of PDFs into a knowledge collection whose passages you can retrieve by question, with the chunking that fits your documents.
Ingest images and audio
Register converters so screenshots, scanned PDFs and recordings become searchable documents alongside your text files.
Split a library between agents
Split a knowledge base into topic collections and wire one search tool and one agent to each, so every agent answers only from its own part of the library.
A board that runs itself
Build a kanban whose column runs your agent on a card and routes it onward by itself, then read the audit trail proving automation made the move.
Wait for a slow job on a board
Add a poll column to a board so it checks an asynchronous job by itself, on an interval, until it's done — no hot loop, no human relaying status checks.
Erase a person's data
Satisfy an erasure request — destroy a run's recorded content, prove it is gone, and keep the billing and audit record intact.
Run an agent that records nothing
Put one agent into zero-retention so its prompts, tool calls and results are never written to disk — while it keeps answering and keeps billing.