Prerequisites
- Linear connected so the agent can call
create_linear_issue,get_linear_issue, andlist_linear_issues. - Slack connected with the Paradime bot installed, so teammates can DM it.
- Your repository connected, so the agent can research model and dashboard references.
- The Linear team key you file into (for example
"DATA"). - Familiarity with customizing the Slack Agent: this guide replaces the default Slack bot personality.
Steps
1
Create the agent
Build the agent in the Agent UI, naming it exactly
dinoai-slack-bot, and use the definition below for its role, goal, backstory, and tools. (Alternatively, commit the file directly at .dinoai/agents/dinoai-slack-bot.yml.) Either way, the name dinoai-slack-bot is the reserved convention that binds the agent to Slack DMs and @Paradime mentions, so this definition becomes what your teammates talk to..dinoai/agents/dinoai-slack-bot.yml
tools.mode: allowlist keeps the bot scoped to intake: it can research and file issues, but not write code, run SQL, or trigger pipelines. You do not need to list run_subagent: core research and navigation tools are always available to every agent regardless of the allowlist. See the Tools Reference.2
Map it to your Linear team
Only three things to adapt, all in the backstory:
- Team key: swap
DATAfor the key of the team the issues belong to. If different request types belong to different teams, describe the routing in plain “if this, file in that team” language. - Priority mapping: the 1–4 scale above matches Linear’s convention (1=Urgent, 2=High, 3=Medium, 4=Low). Adjust the plain-language rules to your team’s culture if needed.
- Triage state: leaving
state_idempty files new issues into the team’s default state, which is the right behavior for teams using Linear’s triage flow. Only set astate_id(a state UUID) if you want intake issues to land in a specific custom state.
3
Deploy it to your repo
Deploying from the Agent UI opens a PR that adds the agent file to your repository; review and merge it. If you authored the YAML by hand instead, commit it to your repository’s default branch, alongside your dbt™ project:Once the file is on the default branch, DinoAI loads this definition for every new Slack message instead of the default general-purpose assistant.
4
Try it in Slack
DM the Paradime bot something deliberately vague, the way a real requester would:The bot should ask one question at a time (business question, consumer, urgency), resolve “the customer dashboard” against your repo on its own, present a confirmation summary, and only file the issue after you confirm.
You know it works when a vague DM ends with a confirmed summary and a reply containing a real Linear issue identifier and URL, with the priority inferred rather than asked, and the issue sitting in your team’s triage state. If issue creation fails, the most likely cause is a wrong team key: check the error the bot reports and confirm the key with
list_linear_issues.How it works
The design is identical to the Jira intake agent, and the three decisions that make it work are covered there: an interview shaped around what the requester can know, repo research delegated torun_subagent so raw search results stay out of the billable conversation, and one issue per conversation with a fresh-chat nudge.
What changes for Linear is the handoff. The Linear backlog agent picks up tickets labelled Agent Ready, and the intake tools do not set labels on creation. That gap is deliberate in this recipe: intake files structured issues into the team’s triage state, and a human applies the Agent Ready label during triage to decide which ones an agent should implement. The label becomes your human-in-the-loop gate between “well-formed request” and “autonomous implementation”, which is exactly where you want a person in the flow.
Next steps
Linear backlog agent
Close the loop: an agent that implements the issues this one files.
Jira intake agent
The same pattern for Jira, including custom field mapping.
Customize the Slack Agent
How the dinoai-slack-bot convention binds an agent to Slack.
Programmable Agents reference
The agent YAML schema and tools.