> ## 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.

# Run an agent with Bolt

> Run a DinoAI agent from a Bolt schedule with the Run Paradime DinoAI Agent command, so it runs on a cron, after another schedule, on a PR merge, or in Turbo CI.

Bolt is the main way to run a DinoAI agent on a schedule. Add a **Run Paradime DinoAI Agent** command to a Bolt schedule and the agent runs on your cron, after another schedule completes, on a pull request merge, or as part of a Turbo CI run.

<Note>
  **Prerequisites**

  * An agent you can run, built in the Agent UI or defined as code under `.dinoai/agents/<name>.yml`.
  * A [Bolt schedule](/guides/paradime-101/running-dbt-in-production-with-bolt/creating-bolt-schedules) you can edit.
  * API credentials with **DinoAI Agent** capabilities set as [Bolt schedule environment variables](/guides/paradime-101/getting-started-with-your-paradime-workspace/managing-workspace-configurations): `PARADIME_API_ENDPOINT`, `PARADIME_API_SECRET` (an account API key, `prdm_cmp_...`), and `PARADIME_WORKSPACE_UID`.

  Estimated time: 10 minutes.
</Note>

## Steps

<Steps>
  <Step title="Add the Run DinoAI Agent command">
    In the Bolt schedule editor, select **Add command**, then **Run Paradime DinoAI Agent**.

    1. **Agent name**: pick the agent (the list comes from `.dinoai/agents/*.yml` on the schedule's git branch).
    2. **Task**: describe what you want the agent to do. This becomes the agent's opening message.
    3. Select **Save command**.
  </Step>

  <Step title="Set the trigger and deploy">
    Configure the [trigger](/guides/paradime-101/running-dbt-in-production-with-bolt/understanding-schedule-types-and-triggers) (cron, on merge, on run completion, or Turbo CI), then deploy the schedule.
  </Step>
</Steps>

<Check>
  The schedule runs and the agent's messages stream into the Bolt command's logs. The Bolt run inherits the agent's outcome: it passes when the agent completes and fails when the agent fails. Each Bolt run starts a fresh agent session, so there's no continuity between runs.
</Check>

## Define it as code

The UI writes a `paradime dinoai` command into the schedule. If you [manage schedules as code](/guides/orchestrate-data-pipelines/manage-schedules-as-code), add it directly:

```yaml theme={"system"}
schedules:
  - name: nightly data quality
    slug: nightly-data-quality-f6g7h8
    owner_email: data-team@acme.io
    environment: production
    git_branch: main
    commands:
      - paradime dinoai --agent=data-quality-checker --message="Audit all staging models for missing tests and post a summary to #data-quality-alerts"
    schedule: "0 2 * * *"
    timezone: UTC
```

## Trigger from the API (optional)

When you orchestrate the run yourself (Airflow, Lambda, a webhook), trigger the agent through the API with `triggerDinoaiAgentRun` instead. Use the API when you need multi-turn continuity, which a Bolt run does not provide.

<Card title="API and SDK reference" href="/developers/python-sdk/modules/dinoai-programmable-agents" icon="code" horizontal>
  Trigger, poll, and message agents programmatically.
</Card>

## Next steps

<CardGroup cols={2}>
  <Card title="Triggering from Bolt reference" href="/products/dino-ai/programmable-agents/triggering-from-bolt" icon="rocket">
    Every field of the Run DinoAI Agent command.
  </Card>

  <Card title="Browse templates" href="/guides/programmable-agents/index" icon="bot">
    Start from a proven agent recipe.
  </Card>
</CardGroup>


## Related topics

- [Linear backlog agent](/guides/programmable-agents/linear-backlog-agent.md)
- [Automate with AI agents](/guides/programmable-agents/index.md)
- [Build an agent in the UI](/guides/programmable-agents/build-in-the-agent-ui.md)
- [Jira backlog agent](/guides/programmable-agents/jira-backlog-agent.md)
- [GitHub Issues backlog agent](/guides/programmable-agents/github-issues-backlog-agent.md)
