GitHub Issues Backlog Agent
Automate GitHub backlog execution with a DinoAI agent that picks up Agent Ready issues, builds dbt™ models with tests and docs, opens one PR per issue, and posts progress to Slack.
Automate your analytics engineering backlog with a native DinoAI agent that reads every open GitHub issue labelled Agent Ready, implements the required dbt™ models with tests and YAML docs, opens a PR per issue and posts the link to Slack.
No custom Python, no SDK glue, no orchestrator. The agent is a single YAML file in your repo, triggered on a schedule by Bolt.
Before You Start
Paradime
Your Paradime API endpoint, API key, and API secret. — You can generate under Workspce Settings → API. Make sure to have
DinoAI agent APIcapabilities. Requires Admin access to generate API keys.
GitHub
Write access to the repository you want to review PRs on
Ability to add repository secrets and create GitHub Actions workflows
Integrations
The following must already be connected in Paradime:
Slack — the agent posts reviews to
#pr-reviewsviapost_slack_message
Labelling
Issues you want automated must be open and carry the label
agent-ready.
What You'll Build
By the end of this guide you'll have:
A
github-backlog-agentDinoAI agent YAML committed under.dinoai/agents/A Bolt schedule that triggers the agent on a cron cadence using the Run Paradime DinoAI Agent command — no scripts to maintain
What the Agent Does Per Issue
Once triggered, the agent works through the backlog and, for each open Agent Ready issue:
The agent never invents a column that isn't in the source. When an issue is ambiguous it surfaces explicit Open questions in the PR description rather than guessing.
Architecture Overview
How It Works
Bolt runs a single paradime dinoai command on your chosen cadence. That spins up one agent pod with a task message telling it to process the Agent Ready backlog. The agent list issues, create branch, implement each issue, push, and open a PR - then posts to Slack. Bolt blocks until the agent reaches a terminal state and inherits its success or failure, and the agent's messages stream into the Bolt run logs.
Add Paradime Credentials to the Bolt Schedule
The paradime dinoai command authenticates with your Paradime API credentials. Store them on the schedule (or at the workspace level under Workspace Settings → Environment Variables to share across all schedules):
PARADIME_API_ENDPOINT
Your Paradime GraphQL endpoint
PARADIME_API_KEY
Your Paradime API key
PARADIME_API_SECRET
Your Paradime API secret
Make sure the API key has DinoAI Agent capabilities enabled (Workspace Settings → API). These are the only secrets you manage.
Create the Bolt Schedule
Go to Bolt → Schedules and click New Schedule. Name it something like GitHub Backlog Agent, then add a command using the Run Paradime DinoAI Agent command type.

Option 1: From the Bolt UI
Click Add command → Run Paradime DinoAI Agent, then fill in:
Agent Name — pick
github-backlog-agentfrom the dropdown.Task — the agent's opening message. For a full backlog sweep:
Save Command, then set the trigger type (cron, on-merge, on-completion) and deploy.
Option 2 Schedules as Code
If you manage Bolt schedules with YAML, add the same command directly. The UI just writes a paradime dinoai invocation under commands::
Agent Name
--agent=<name>
Must match an existing .dinoai/agents/<name>.yml on the schedule's branch.
Task
--message="<task>"
The agent's opening user message. Use a single quoted string.
Choose a Schedule Frequency
Pick the cadence that matches how often your team labels new issues as Agent Ready:
Every day at 9 AM
0 9 * * *
Monday–Sunday, 9:00 AM
Weekdays at 9 AM
0 9 * * 1-5
Monday–Friday, 9:00 AM
Once a week (Monday 9 AM)
0 9 * * 1
Every Monday, 9:00 AM
Twice a week (Mon & Thu)
0 9 * * 1,4
Monday and Thursday, 9:00 AM
Every 6 hours
0 */6 * * *
12 AM, 6 AM, 12 PM, 6 PM
For most teams, weekdays at 9 AM (0 9 * * 1-5) is a good default. If there are no Agent Ready issues, the agent reports an empty backlog and the run completes cleanly.
File Structure
The only file you author lives in your repo:
Everything else — triggering, polling, notifications — is handled natively by Bolt and the agent runtime.
Related Docs
Last updated
Was this helpful?