> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Programmable Agents

> Define named DinoAI agents as YAML in your git repo and trigger them from the Paradime API or a Bolt schedule for composable, version-controlled automation.

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

#### How It Works

1. Define your agents: build them in the app from the Agents page, choosing whether each lives only in the workspace or is deployed to your repo as YAML, or commit files under `.dinoai/agents/` by hand (see Creating Agents in the App).
2. Trigger a run from one of:
   * The **Paradime API** — `triggerDinoaiAgentRun` GraphQL mutation. See API Reference.
   * A **Bolt schedule** — using the **Run Paradime DinoAI Agent** command type. Runs natively, no API keys needed. See Running from Bolt.
3. The agent pod uses its configured tools to complete the task and posts results (e.g. to Slack).
4. Inspect messages live in the Bolt run logs, or poll the API for status and messages.

```mermaid theme={"system"}
sequenceDiagram
    participant R as Your repo<br/>(.dinoai/agents/*.yml)
    participant B as Bolt schedule<br/>(optional)
    participant API as Paradime API
    participant P as Agent pod

    alt Triggered from Bolt
        B->>P: Dispatch agent run<br/>(native, no API keys)
    else Triggered from your code
        R->>API: triggerDinoaiAgentRun()
        API->>P: Spawn agent pod
    end
    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](/products/dino-ai/programmable-agents/quick-start) — Define your first agent and trigger a run
* [Creating Agents in the App](/products/dino-ai/programmable-agents/creating-agents-in-the-app) — Build and deploy an agent from the Agents page, no YAML required
* [Agent Sessions](/products/dino-ai/programmable-agents/agent-sessions) — Follow runs live, read transcripts, continue a chat, stop a run
* [YAML Configuration](/products/dino-ai/programmable-agents/yaml-configuration) — Full schema and field reference
* [Running from Bolt](/products/dino-ai/programmable-agents/triggering-from-bolt) — Trigger agents from a Bolt schedule (UI and YAML)
* [API Reference](/products/dino-ai/programmable-agents/api-reference) — GraphQL mutations and queries
* [Agent-to-Agent Delegation](/products/dino-ai/programmable-agents/agent-to-agent-delegation) — Spawn child agents and use the callback pattern
* [Tools Reference](/products/dino-ai/programmable-agents/tools-reference) — Full list of available tools
* [Examples](/guides/programmable-agents/index) — Ready-to-use agent definitions


## Related topics

- [Programmable Agents](/guides/programmable-agents/index.md)
- [Programmable Agents quick start](/products/dino-ai/programmable-agents/quick-start.md)
- [DinoAI Programmable Agents](/developers/python-sdk/modules/dinoai-programmable-agents.md)
- [DinoAI Programmable Agents API](/developers/graphql-api/api-reference/dinoai-programmable-agents-api.md)
- [Agent-to-Agent Delegation](/products/dino-ai/programmable-agents/agent-to-agent-delegation.md)
