agent-ready, works out the dbt™ change each ticket is asking for, verifies the change against live data before touching the repo, and ships it as a PR. It was built for planned MongoDB schema evolution (the drift is announced in a ticket before or as it lands), but the pattern is generic: column renames, new models, source or test additions, any repo-local dbt™ edit a ticket can scope. It is read-only on Jira, so the PR description is the link back to the ticket.
Prerequisites
- Jira connected so the agent can call
list_jira_issuesandget_jira_issue(read-only: it never comments or transitions tickets). - A MongoDB connection so the agent can verify drift against the source collection.
- A warehouse connection (the agent confirms landed columns and types via
run_sql_query). - Slack connected (the agent posts a note when the queue is empty or a discrepancy blocks a ticket).
- Your repository connected so the agent can branch, commit, and open PRs.
- Tickets to automate must carry the label
agent-readyand not be done.
Steps
1
Create the agent
In the Agent app, open Agents, select New agent, and choose Start from scratch. Fill in the builder fields below, leave Model on Auto. See Build an agent in the UI for a tour of the builder.Name: Goal:Backstory:Allowed tools (everything else is refused, see the Tools Reference):
mongodb-schema-drift-triagerRole:get_jira_issue,list_jira_issueslist_mongodb_collections,mongodb_collection_schema,mongodb_count,mongodb_aggregate,mongodb_findrun_sql_queryread_file,write_file,replace_in_file,search_files_and_directories,ripgrep_searchrun_terminal_commandpost_slack_message
#dinoai-demo (or your team’s channel, updating the channel in the Goal to match).The Jira allowlist is deliberately read-only: no
add_jira_comment or update_jira_issue. This agent never writes to the ticket, so it can safely run against a Jira project the data team does not own; all its output lands in the PR and Slack. If you want the full ticket lifecycle (status transitions and comments), use the Jira change request agent pattern instead.2
Deploy the agent
Select Deploy and choose where the agent lives: Just here saves it to the workspace and makes it live immediately, Open a pull request commits it to your repo as
.dinoai/agents/mongodb-schema-drift-triager.yml so it is governed as code. Both appear in the Bolt agent picker. See Creating Agents in the App.3
Run it with Bolt
On the Agents page, hover the agent card and select Schedule. This opens a new Bolt schedule with the Run Paradime DinoAI Agent command already added and the agent pre-selected. The command runs natively, so no API keys or environment variables are needed. Set the Task:Because the agent resolves one ticket per invocation, pick a cadence that matches your ticket volume:
0 9 * * 1-5 (weekdays at 9 AM) drains one ticket per day, or add the same command several times to the schedule to process several tickets per run. To point a run at a specific ticket, put the key in the task: Resolve DATA-123. See Run an agent with Bolt for the full walkthrough.After a run, the oldest
agent-ready ticket has one PR on an agent/<ticket-key>-<slug> branch whose description links the ticket, maps each acceptance criterion to the diff, and embeds the live-data evidence (counts, sample documents, schema diff). When the queue is empty the agent posts a short Slack note and exits cleanly. When the ticket describes a change the live data does not confirm, no PR is opened and the discrepancy lands in Slack instead.How it works
The agent separates intent from truth: the Jira ticket says what the team agreed to change, but before editing anything it checks that the change actually landed, sampling the MongoDB collection for drift tickets or querying the warehouse for source changes. A ticket that describes drift that has not happened yet produces a Slack discrepancy note, not a broken model. Because Jira access is read-only, the PR description carries everything a reviewer needs: the ticket link, the acceptance-criteria mapping, and the evidence.Next steps
MongoDB schema drift healer
The reactive variant, triggered by self-healing on failure.
Jira change request agent
The Jira-writing variant with status transitions and comments.
Run an agent with Bolt
Trigger agents from a Bolt schedule.
MongoDB tools reference
The read-only MongoDB tools this agent uses.