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 openai
export 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.

cookbook/91_tools/linear_tools.py
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

ParameterTypeDefaultDescription
api_keystrNoneAdd Linear API key.

Toolkit Functions

FunctionDescription
get_user_detailsFetch authenticated user details.
get_teams_detailsFetch the list of teams with their IDs and names.
get_issue_detailsRetrieve details of a specific issue by issue ID.
create_issueCreate a new issue within a specific project and team.
update_issueUpdate the title of a specific issue by issue ID.
get_user_assigned_issuesRetrieve issues assigned to a specific user by user ID.
get_workflow_issuesRetrieve one response page of issues within a specific workflow state by workflow ID.
get_high_priority_issuesRetrieve 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.

Developer Resources