# Programmable Agents

Programmable Agents let you define named DinoAI agents as YAML files in your git repo and trigger them via the Paradime public API. Each agent has a fixed role, goal, and set of tools — making it composable, version-controlled, and automatable.

### How It Works

1. Commit one or more YAML files under `.dinoai/agents/` in your repo
2. Trigger a run via the GraphQL API
3. Poll to read messages as the agent works
4. Optionally send follow-up messages in the same session

```mermaid
sequenceDiagram
    participant R as Your repo<br/>(.dinoai/agents/*.yml)
    participant API as Paradime API
    participant P as Agent pod

    R->>API: triggerDinoaiAgentRun()
    API->>P: Spawn agent pod
    P->>P: Uses tools, posts to Slack
    loop poll for status + messages
        API->>P: dinoaiAgentRun()
        P-->>API: status + messages
    end
    API-->>R: Run complete
```

### Pages in This Section

* [Quick Start](/app-help/products/dino-ai/programmable-agents/quick-start.md) — Define your first agent and trigger a run
* [YAML Configuration](/app-help/products/dino-ai/programmable-agents/yaml-configuration.md) — Full schema and field reference
* [API Reference](/app-help/products/dino-ai/programmable-agents/api-reference.md) — GraphQL mutations and queries
* [Agent-to-Agent Delegation](/app-help/products/dino-ai/programmable-agents/agent-to-agent-delegation.md) — Spawn child agents and use the callback pattern
* [Tools Reference](/app-help/products/dino-ai/programmable-agents/tools-reference.md) — Full list of available tools
* Examples — Ready-to-use agent definitions


---

# 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.paradime.io/app-help/products/dino-ai/programmable-agents.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.
