Prefer a single verdict posted to Slack and a script you control? See the end-to-end PR reviewer. The two can share one agent; the difference is where the output goes.
Steps
1
Create the agent
In the Agent app, open Agents, select New agent, and fill in the build form (creating agents in the app). When you deploy, the agent is written to your repository’s default branch — the Action reads it from there on purpose, so a pull request cannot supply the reviewer that reviews it.Name: Goal:Backstory:Model: leave Auto selected, or pick a model family per repository with the Action’s
pr-reviewer (the Action’s default; any name works if you set agent: in the workflow)Role:model_family input.Allowed tools: leave all tools enabled (the default). The reviewer will reach for the terminal, file, lineage and SQL tools on its own; the backstory keeps it from committing or pushing.If you would rather guarantee the agent can only read, restrict it to this set (Tools Reference):run_terminal_command— required:git diff,dbt compile, andgit rev-parse HEAD(the Action checks the agent reviewed the right commit)read_file,search_files_and_directories,ripgrep_searchget_lineage,get_exposures,get_node_details,get_all_models,get_all_sources,get_mart_modelsrun_sql_query, plus thelist_all_*catalog tools for your warehouseget_bolt_run_logs,get_model_health— optional, to read CI runs and model health for the same commitload_skill_instructions,todo_read,todo_write
Prefer to write the YAML by hand?
Prefer to write the YAML by hand?
The same definition can be committed as
.dinoai/agents/pr-reviewer.yml on the default branch — see the YAML configuration reference. The app builder produces exactly that file.2
Deploy the agent
Select Deploy. Choose Open a pull request and merge it, or Just here if the workspace is configured to write agents straight to the default branch. The Action looks for the agent on the default branch; until it is there, the Action logs a notice and runs its built-in reviewer instead.
3
Store Paradime credentials in GitHub
Generate an account API key with the DinoAI agent API capability and copy the API Endpoint shown with it. In the dbt™ repo, go to Settings → Secrets and variables → Actions:
An account key spans workspaces, so the two secrets can live once at the organization level and each repository carries only its workspace token as a variable.
4
Add the workflow
Create Open a pull request that touches a model. The job takes one to two minutes; the review appears on the PR with each finding on its line.
.github/workflows/dinoai-pr-review.yml:.github/workflows/dinoai-pr-review.yml
What the agent receives
You do not write the review prompt — the Action builds it on every run and prepends the output contract. The agent gets:- the repository, PR number, base and head commit SHAs, title and description, and a diffstat (never the diff itself: the agent is checked out at the head commit and computes
git diff base...headlocally), - the recent PR conversation, so it does not repeat what a human already said,
- on a re-run, what changed since its last review and the findings it already reported, so it says what is fixed instead of re-posting,
- the output format: a fenced
dinoai-findingsJSON block with a summary, a list of findings (path,line,severity,title,body, optionalsuggestion) and the commit it reviewed.
Tuning the reviewer
Next steps
DinoAI GitHub Action
All inputs, incremental review, bot identity and limitations.
YAML configuration
Every field an agent definition supports.
Tools reference
What each tool does and which to allow.
End-to-end PR reviewer
The Slack-verdict variant driven by a script you own.