OperatorGet started
← All integrations
Linear logo

Connect Linear to OpenClaw on Operator.io

Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.

Automate Linear with AI

Your OpenClaw agent lives on Operator and treats Linear as one more service it can drive. Send it an outcome in a Telegram or Discord message and it works out which of the 32 Linear actions to run, then runs them.

Your agent reaches Linear directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.

What your agent can do with Linear

Your agent can call any of these Linear actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.

Create attachment

Creates a new attachment and associates it with a specific, existing Linear issue.

Add reaction to comment

Tool to add a reaction to an existing Linear comment. Use when you want to programmatically react to a comment on an issue.

Create a comment

Creates a new comment on a specified Linear issue. This action modifies shared workspace data and is not reversible — confirm the target issue and comment content before executing.

Create linear issue

Creates a new issue in a specified Linear project and team, requiring team_id and title, and allowing optional properties like description, assignee, state, priority, cycle, and due date. All UUID parameters (state_id, assignee_id, cycle...

Create issue relation

Create a relationship between two Linear issues using the issueRelationCreate mutation. Use this to establish connections like 'blocks', 'duplicate', or 'related' between issues.

Create a label

Creates a new label in Linear for a specified team, used to categorize and organize issues. Label names must be unique within each team. If a label with the same name already exists, the existing label will be returned. Both new and exis...

Create Project

Creates a new Linear project with specified name and team associations.

Create Project Milestone

Tool to create a project milestone in Linear with a name and optional target date and sort order. Use when you need to add milestones to track progress within a project.

Create Project Update

Tool to create a project status update post for a Linear project. Use when you need to post progress updates, status reports, or announcements for a project.

Delete issue

Archives an existing Linear issue by its ID, which is Linear's standard way of deleting issues; the operation is idempotent. Archiving is permanent with no built-in undo — confirm the issue identifier and title with the user before execu...

Download issue attachments

Downloads a specific attachment from a Linear issue; the `file_name` must include the correct file extension.

Get current user

Gets the currently authenticated user's ID, name, email, and other profile information — this is the account behind the API token, which may be a bot or service account rather than a human user. Use the returned `id` field (nested under...

Get cycles by team ID

Retrieves all cycles for a specified Linear team ID; cycles are time-boxed work periods (like sprints). Results are team-scoped to the given team_id. To identify the active cycle, check that the current date (in UTC) falls between a cycl...

Get create issue default params

Fetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms.

Get Linear issue

Retrieves an existing Linear issue's comprehensive details, including id, identifier, title, description, timestamps, state, team, creator, attachments, comments (with user info and timestamps, use issue.comments.nodes for comment IDs),...

Get Linear project

Retrieves a single Linear project by its unique identifier. Use when verifying a newly created or updated project, or when fetching detailed project information by ID.

List issue drafts

Tool to list issue drafts. Use when you need to fetch draft issues for review or further editing. Check `pageInfo.hasNextPage` in the response to determine if additional drafts exist beyond the current page.

List issues by team ID

Tool to list all issues for a specific Linear team, scoped by team ID. Use when you need to retrieve issues belonging to a particular team without fetching workspace-wide issues. This is more efficient than workspace-wide listing followe...

Get all cycles

Retrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account; no filters applied. In large multi-team workspaces this produces heavy responses — filter client-side by team ID and date range using each cycle's star...

List Linear issues

Lists non-archived Linear issues; if project_id is not specified, issues from all accessible projects are returned. Can filter by assignee_id. Only project_id and assignee_id server-side filters are supported; label, state, team, cycle,...

Get labels

Retrieves labels from Linear. If team_id is provided, returns labels for that specific team; if omitted, returns all labels across the workspace. Label names are not unique across teams — always use returned IDs, not names, and track eac...

List linear projects

Retrieves all projects from the Linear account. Returns a flat array (not a GraphQL connection) with fields id and name; use LINEAR_RUN_QUERY_OR_MUTATION for progress, state, issues, or team linkage. No server-side filtering: all workspa...

List Linear states

Retrieves all workflow states for a specified team in Linear, representing the stages an issue progresses through in that team's workflow. Returned state IDs are team-scoped — never reuse a stateId across different teams, as this causes...

Get teams

Retrieves all teams with their members and projects. Use stable team IDs or keys (not display names) for subsequent operations — names are non-unique. Results reflect only teams visible to the authenticated token scope; missing teams or...

List Linear users

Lists all workspace users (not team-scoped) with their IDs, names, emails, and active status. Display names are non-unique — use email to disambiguate before extracting an ID. Only assign users with `active: true`. Returned IDs are UUID...

Remove label from Linear issue

Removes a specified label from an existing Linear issue using their IDs; successful even if the label isn't on the issue. Operation is irreversible — obtain explicit user approval before executing. Use this tool instead of LINEAR_UPDATE_...

Remove reaction from comment

Tool to remove a reaction on a comment. Use when you have a reaction ID and need to delete it.

Run Query or Mutation

Execute any GraphQL query or mutation against Linear's API. USE WHEN: No dedicated action exists, need complex filtering, custom fields, or schema discovery. *** INTROSPECTION FIRST - NEVER GUESS FIELD NAMES *** Run introspection before...

Search Linear issues

Search Linear issues using full-text search across identifier, title, and description. Use when you need to find issues by keywords or specific identifiers. Note: This endpoint only supports full-text search; for structured filtering by...

Update issue

Updates an existing Linear issue using its `issue_id`; requires at least one other attribute for modification, and all provided entity IDs (for state, assignee, labels, etc.) must be valid UUIDs — only `issueId` accepts key format (e.g.,...

Update a comment

Tool to update an existing Linear comment's body text. Use when you need to edit or modify the content of a previously created comment.

Update Project

Tool to update an existing Linear project. Use when you need to modify project properties like name, description, state, dates, or lead. All fields except project_id are optional - only provide the fields you want to update.

How to connect Linear

You authorize Linear once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Linear without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.

When you are ready, the get started guide walks through standing up your OpenClaw agent.

Common questions about Linear

How do I connect Linear to Operator?
You authorize Linear once from your Operator dashboard. Operator holds the connection and refreshes the access token for you, so your agent keeps working with Linear without you signing in again.
Can my agent manage tasks and projects in Linear?
Yes. It can create and update items, move them between stages, add notes, and read the current state back to you. Use it to file new work as it arrives, check status without opening the app, or keep Linear aligned with what is happening elsewhere.
Do I need to write code or manage Linear API keys?
No code and no API keys. You authorize Linear through a normal sign in and Operator handles the connection, so there is nothing to wire up or host.
Can my agent use Linear together with my other apps?
Yes. The same agent reaches every app you connect, so it can move between Linear and tools like Google Sheets, Notion, Jira in one job, reading from one and acting in another without you wiring anything between them.

Linear integrations

Pick an app to see what your agent does across Linear and it, or browse all integrations.

Put your agent on Linear

Sign in, connect Linear, and hand your agent the work. Your first week is free.

Get started