Skip to main content

Overview

Tool Name

Purpose

The linear_connector_tools group integrates Genesis with Linear issue tracking. It uses the effective usable linear connection for the current user and active bot (My default, then Role default) from Genesis Connections and supports both API key and user OAuth authentication.

Key Features

Create and update issues

Open new Linear issues, edit fields, assign work, and create sub-issues.

Search active work

Filter issues by team, assignee, state, project, label, query text, or priority.

Comment and review context

Add issue comments and fetch detailed issue or comment history.

Upload and download files

Upload files from Git repos or bot storage to Linear, or download files from Linear to bot storage.

Manage attachment links

Link external URLs to issues, list existing attachment links, or remove them.

Discover teams and projects

List available teams and projects before automating writes.

Input Parameters for Each Function

linear_connector

Core parameters File and attachment link parameters
thread_id, bot_id, and user_id are supplied implicitly by Genesis at runtime, so you normally only provide the business fields above.
Available actions

Workflow/How It Works

  1. Configure your effective default linear connection in Linear, or pass connection when you need a specific saved connection.
  2. Start with GET_TEAMS or GET_PROJECTS if you need valid team keys or project names.
  3. Use CREATE_ISSUE, UPDATE_ISSUE, GET_ISSUE, and SEARCH_ISSUES to manage work items.
  4. Use ADD_COMMENT and LIST_COMMENTS to collaborate inside an issue thread.
  5. Use UPLOAD_FILE to attach files (logs, reports, CSVs, images) to issues and DOWNLOAD_FILE to pull files from Linear asset URLs into bot storage.
  6. Use CREATE_ATTACHMENT_LINK, LIST_ATTACHMENT_LINKS, GET_ATTACHMENT_LINK, and DELETE_ATTACHMENT_LINK to manage structured URL references in Linear’s Attachments panel.
Do not retry a governed write after reconciliation_required; the Action Review sweep may resolve eligible results as described in the Action Review response contract.

Examples

This example assumes the default linear connection uses user_oauth. If the default connection uses api_key, pass a specific Linear user name or email instead of assignee="me".

Output

  • CREATE_ISSUE, UPDATE_ISSUE, and SEARCH_ISSUES return compact issue records with id, title, url, state, assignee, priority, project, team, and labels.
  • GET_ISSUE returns a detailed issue object with description, creator, estimate, due date, parent, children, attachments, and timestamps.
  • ADD_COMMENT returns the created comment metadata.
  • LIST_COMMENTS, GET_TEAMS, and GET_PROJECTS return count plus an array of results.
  • Comment records include author and, where available, author_email; either field can be null when Linear does not return a user for the comment.
  • UPLOAD_FILE returns asset_url, filename, size, and content_type. If comment was provided, includes the created comment.
  • DOWNLOAD_FILE returns filename, file_path, relative_path, file_id, and size.
  • LIST_ATTACHMENT_LINKS returns count plus an array of attachment link details.
  • CREATE_ATTACHMENT_LINK returns the created attachment link with id, title, subtitle, and url.
  • GET_ATTACHMENT_LINK returns full attachment link details including the associated issue and creator.
  • DELETE_ATTACHMENT_LINK returns success.

Configuration Details

  • The tool resolves the effective usable linear connection for the current user and active bot (My default, then Role default). Pass connection to target a specific saved connection instead.
  • Genesis supports both api_key and user_oauth authentication for Linear.
  • Connection tests query https://api.linear.app/graphql and verify the authenticated viewer.
  • For user_oauth, Genesis uses fixed provider endpoints: https://linear.app/oauth/authorize and https://api.linear.app/oauth/token.
  • If your deployment restricts outbound access, allow both linear.app and api.linear.app.

Limitations or Notes

  1. SEARCH_ISSUES text matching is limited to issue titles and identifiers, and each call returns up to 50 issues.
  2. Unknown label names cause CREATE_ISSUE or UPDATE_ISSUE to fail; Genesis does not create labels automatically.
  3. assignee="me" is only supported when the resolved linear connection uses user_oauth.
  4. When multiple role defaults for linear conflict, Genesis returns an error directing you to set a user default or pass connection explicitly. See Default connection layers.
  5. issue_id can be a Linear UUID or an issue identifier such as ENG-123.
  6. A missing or expired OAuth token prevents the tool from connecting until the user reauthorizes.
  7. UPLOAD_FILE uploads binary files to Linear’s cloud storage (via a signed URL). Use this when you have actual file content. CREATE_ATTACHMENT_LINK only links a URL; it does not upload files.
  8. Files in Linear’s private cloud storage require authentication to access externally. DOWNLOAD_FILE handles this automatically, but only for HTTPS URLs on supported Linear asset hosts such as uploads.linear.app, cdn.linear.app, or api.linear.app.