Linear
LinearTools let an agent create, update, and query issues and users in Linear over its GraphQL API.
LinearTools enable an Agent to perform Linear tasks.
Prerequisites
The following example requires the requests and openai libraries and a Linear API key, which can be obtained from here.
uv pip install agno requests openaiexport LINEAR_API_KEY="LINEAR_API_KEY"Example
The following agent will use Linear API to search for issues in a project for a specific user.
from agno.agent import Agent
from agno.tools.linear import LinearTools
agent = Agent(
name="Linear Tool Agent",
tools=[LinearTools()],
markdown=True,
)
agent.print_response("Show all the issues assigned to user id: 12021")Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | None | Add Linear API key. |
Toolkit Functions
| Function | Description |
|---|---|
get_user_details | Fetch authenticated user details. |
get_teams_details | Fetch the list of teams with their IDs and names. |
get_issue_details | Retrieve details of a specific issue by issue ID. |
create_issue | Create a new issue within a specific project and team. |
update_issue | Update the title of a specific issue by issue ID. |
get_user_assigned_issues | Retrieve issues assigned to a specific user by user ID. |
get_workflow_issues | Retrieve one response page of issues within a specific workflow state by workflow ID. |
get_high_priority_issues | Retrieve issues with a high priority (priority <= 2). |
You can use include_tools or exclude_tools to modify the list of tools the agent has access to. Learn more about selecting tools.
Use an account's actual user ID
The cookbook's 12021 is a placeholder. Replace its final request with this account-discovery request:
agent.print_response(
"Use get_user_details to find my user ID, then show the issues assigned to that ID."
)Issue-listing methods return one GraphQL response page; they do not collect every page automatically.