Skip to main content
The Linear backlog agent reads every open Linear ticket labelled Agent Ready, implements the dbt™ models each one needs with tests and YAML docs, opens one PR per ticket, and posts progress to Slack. The orchestration lives inside the agent’s goal: one session lists the backlog with list_linear_issues, works each ticket in turn, and posts a summary. There is no orchestrator script, Python package, or API-key plumbing to maintain.
Prerequisites
  • Linear connected so the agent can call list_linear_issues, get_linear_issue, and add_linear_comment.
  • Slack connected (the agent posts status updates via post_slack_message).
  • Your repository connected so the agent can branch, commit, and open PRs.
  • Familiarity with programmable agents and running an agent with Bolt.
  • Tickets to automate must carry the label Agent Ready and not be in a completed state.
Estimated time: 15 minutes.

Steps

1

Create the agent

In the Agent app, open Agents, select New agent, and start from the linear-backlog-agent template (or Start from scratch). Fill in the builder fields with the content below. See Build an agent in the UI for a tour of the builder.Name: linear-backlog-agentRole:
Goal:
Backstory:
Model: leave Auto selected.Allowed tools (everything else is refused, see the Tools Reference):
  • list_linear_issues, get_linear_issue, add_linear_comment
  • read_file, write_file, search_files_and_directories, ripgrep_search
  • run_sql_query
  • run_terminal_command
  • post_slack_message
Output: set the Slack channel to #analytics-eng (or your team’s channel, updating the channel referenced in the Goal to match).
2

Deploy the agent

Select Deploy and choose where the agent lives:
  • Just here: saved to the workspace and live immediately, ideal while you tune the goal.
  • Open a pull request: committed to your repo as .dinoai/agents/linear-backlog-agent.yml, so the agent is version-controlled and reviewed as code.
Both kinds appear in the Bolt agent picker. See Creating Agents in the App for the deploy options.
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:
See Run an agent with Bolt for the full walkthrough.
4

Choose a schedule frequency

Pick the cadence that matches how often your team labels new tickets as Agent Ready:
For most teams, weekdays at 9 AM (0 9 * * 1-5) is a good default. The agent exits cleanly when nothing is labelled Agent Ready, so there is no cost to running it on days with an empty queue.
After a run, each open Agent Ready ticket has one PR, the PR link is posted both to your Slack channel and as a comment on the ticket, and a final summary lists every ticket with its outcome. Review the PRs, resolve any Open questions the agent flagged, and merge.

How it works

One session processes tickets sequentially: it lists the Agent Ready backlog with list_linear_issues, then for each ticket reads it, implements the dbt™ changes on its own branch, opens a PR, and comments the link back on the ticket. For a typical daily backlog this is the simplest, cheapest shape: no infrastructure, no secrets, nothing to keep in sync with your dbt™ project.
If you need true parallelism across a very large backlog (one session per ticket, all at once), orchestrate the fan-out yourself through the API with triggerDinoaiAgentRun, one call per ticket. See the API and SDK reference. Most teams will not need this.

Next steps

Jira backlog agent

The same pattern for a Jira backlog.

GitHub Issues backlog agent

The same pattern for a GitHub backlog.

Run an agent with Bolt

Trigger agents from a Bolt schedule.

Programmable Agents reference

The agent schema, tools, and API.