Comment Received Trigger
Triggered when a comment is received.
Linear is a streamlined issue tracking and project planning tool for modern teams, featuring fast workflows, keyboard shortcuts, and GitHub integrations
Triggered when a comment is received.
Triggered when a new issue is created.
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
Fires when a new Linear project is created. Covers projects in both public and private teams — polls with the connected user's token, so visibility matches what the connected user can see in Linear.
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
Fires when a project status update is posted on the Linear project's Updates tab. Covers projects in both public and private teams — polls with the connected user's token.
Fires when a new comment is posted on a *public-team* Linear issue. For private teams (lock icon in Linear's sidebar) use `LINEAR_PRIVATE_TEAM_COMMENT_CREATED`.
Fires when a new issue is created in a Linear *public* team. For private teams (lock icon in Linear's sidebar) use `LINEAR_PRIVATE_TEAM_ISSUE_CREATED`.
Fires when properties on a *public-team* Linear issue change (status, assignee, priority, labels, etc.). For private teams (lock icon in Linear's sidebar) use `LINEAR_PRIVATE_TEAM_ISSUE_PROPERTIES_UPDATED`.
Tool to add a reaction to an existing Linear comment. Use when you want to programmatically react to a comment on an issue.
Archives an existing Linear issue by its UUID or shorthand identifier, removing it from active views while preserving its data for future reference.
Archives an existing Linear project by its UUID, removing it from active views. Use this action when you need to mark a completed or obsolete project as archived. Archiving is reversible (projects can be unarchived later), but confirm the project name with the user before executing, especially in bulk operations.
Archives a project update in Linear, hiding it from the default view while preserving its data. Use this action when you need to clean up old or obsolete project status updates without permanently deleting them. Archived updates can be unarchived later if needed. This action is irreversible only in the sense that the project update will be hidden from active views until explicitly unarchived.
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.
Creates a label for a specified Linear team, or returns an existing exact-name match found in the team's initial label results. The response includes an execution message when an existing label is returned.
Creates a new attachment and associates it with a specific, existing Linear issue.
Create a relationship between two Linear issues using the issueRelationCreate mutation. Use this to establish connections like 'blocks', 'duplicate', or 'related' between issues.
Creates an issue in a specified Linear team with a title and optional project, description, assignee, state, priority, cycle, due date, and other properties. Returns the created issue's ID and URL.
Creates a new Linear project with specified name and team associations.
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.
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.
Creates a new team in Linear with the specified name and key. Use this action when you need to create a new organizational unit or work group in a Linear workspace. Teams are fundamental organizational structures in Linear that group issues, projects, and members together. Once created, the team's key becomes the prefix for all issues created within that team (e.g., 'ENG-123'). IMPORTANT: The key must be unique across the workspace and cannot be changed after creation.
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 executing, especially in bulk operations.
Downloads a Linear Attachment record or a private upload embedded in issue/comment Markdown; `file_name` must include the correct extension.
Retrieves a single Linear comment by its unique ID. Returns comprehensive details including the comment body, author, timestamps, associated issue, and thread information. Use this action when you need to fetch details about a specific comment, such as when displaying comment information, checking comment status, or retrieving comment content for processing. The comment ID can be obtained from issue queries, comment lists, or comment creation responses.
Lists cycles across the Linear account without filters, including team IDs and scheduled end times. Results are paginated; use page_info.endCursor and hasNextPage to retrieve subsequent pages.
DEPRECATED: Use ListLinearTeams instead (returns paginated payloads with members and projects); this tool returns simpler id/name-level data for all teams visible to the connected workspace with no server-side filtering. Match teams on stable team id, not display name, as names are not guaranteed unique. Partial results reflect workspace permission scope, not tool failure. Skip this call if team_id values are already known.
Fetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms.
Gets the currently authenticated Linear user's ID, name, email, and other profile information. The account behind the token may be a bot or service account; the user ID is returned under user.id.
Lists cycles for a specified Linear team ID, including progress, creation and end times, and history. Results are paginated; follow page_info cursors to retrieve subsequent pages.
Retrieves paginated Linear issue labels for a specified team or across the workspace. Use page_info.hasNextPage and page_info.endCursor to fetch further pages.
Retrieves a Linear issue by UUID or shorthand identifier, including its details, parent, cycle, attachments, comments and subscribers. Optional related fields may be null; certain issue-not-found errors return a null issue with an explanatory message.
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.
Retrieves a specific project update by its unique identifier. Use when you need to fetch details about a specific project status update, including the update content, health status, timestamps, and associated project information. This action is useful when verifying a newly created project update or retrieving historical project update information.
Lists visible Linear teams with their members and project IDs, with pagination for teams but not nested members or projects. An optional project ID filters each team's projects rather than the teams themselves.
Lists comments from Linear workspace accessible to the authenticated user. Use this action when you need to retrieve comments for analysis, reporting, or tracking discussions across issues. The response includes comment content, timestamps, author information, and associated issue details. Supports pagination for large result sets.
Lists the connected user's issue drafts for review or editing. Results are paginated; check page_info.hasNextPage for additional drafts.
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 followed by client-side filtering.
Lists non-archived Linear issues with optional project and assignee filters, returning a paginated issues array and page_info. Issues include due dates; optional transition history includes completion timestamps and may be truncated or report per-issue errors.
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 workspace projects are returned regardless of team or name — filter client-side. Multiple projects can share identical names; always confirm project_id before downstream use. Results are permission-scoped to the connected user. Pagination: loop while page_info.hasNextPage is true, passing page_info.endCursor as after, or results will be silently truncated. HTTP 429 may occur in large workspaces; apply exponential backoff between calls.
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 validation errors or 'Entity not found' failures in tools like LINEAR_UPDATE_ISSUE. State names (e.g., 'Done', 'In Progress') are non-unique across teams; always resolve names to IDs via this tool for the specific team_id before using them in filters or mutations. Uses cursor-based pagination via pageInfo.hasNextPage and endCursor; iterate until hasNextPage is false to avoid missing states in large workspaces. Always fetch fresh state IDs rather than hardcoding or reusing stale values.
Lists workspace users with IDs, names, emails, and active status. Results are paginated; use the returned cursor to retrieve subsequent pages.
Retrieves all project updates from the Linear workspace. Project updates are status posts written by team members to communicate project progress, blockers, and health. Use when you need to fetch project update history, track project health over time, or review team communication. Returns a paginated list with fields including id, body, health, createdAt, url, user, and project. Results are permission-scoped to the connected user — only updates from accessible projects are returned. Pagination: loop while page_info.hasNextPage is true, passing page_info.endCursor as after, or results will be silently truncated. HTTP 429 may occur in large workspaces; apply exponential backoff between calls.
Removes a specified label from a Linear issue using the issue and label IDs, and returns the updated issue and labels. If the label is absent, the label set is unchanged. The operation replaces the fetched label set, so concurrent label changes may be overwritten.
Tool to remove a reaction on a comment. Use when you have a reaction ID and need to delete it.
Marks a Linear comment as resolved. This action is used when a comment thread or discussion has been addressed and should be marked as complete. Use this action when you need to resolve a comment after addressing the feedback or discussion it represents. The comment remains visible but is marked as resolved with a timestamp and the resolving user's information.
Execute a Linear GraphQL query or mutation to retrieve or change accessible data. Use it for custom filtering, schema introspection, or operations without a dedicated action. When an operation partially succeeds, the response can include both data and errors.
Searches Linear issues by full-text query, with pagination and an option to include archived issues.
Unarchive a previously archived project update in Linear. Use this action when you need to restore an archived project update to make it visible and active again. Archived project updates are hidden from normal views but can be restored using this action. Use when a project update was archived by mistake or needs to be brought back into active use.
Unresolves a previously resolved Linear comment, marking it as requiring attention again. Use this action when you need to reopen a comment thread that was previously marked as resolved. This is useful when additional discussion is needed or the resolution was premature.
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.
Updates an existing Linear issue by ID, requiring at least one field to modify; supplied fields overwrite existing values and labels replace the label set. A team move combined with a state, project, or cycle update runs in two phases, so an error may leave the first phase applied.
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.
Tool to update an existing Linear project update post. Use this action when you need to modify a project update's content, health status, or diff visibility settings. All fields except the update ID are optional - only provide the fields you want to update. Changes are immediately visible to all team members viewing the project.
Updates an existing Linear team's settings, including its name, key, cycle settings, and workflow state configuration. At least one update field must be provided.
Validates the Linear API credentials by checking if the authentication token can successfully query the current user. Use this action when you need to verify that API credentials are valid before performing other operations, or to confirm that authentication is working correctly. This is particularly useful for connection testing, credential verification flows, or troubleshooting authentication issues.
Return the identity (name, email) of the connected Linear account.
The Linear integration connects your Dench AI CRM directly to Linear, so agents can read and act on your Linear data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.
48 actions are available for agents to invoke on your behalf, and 12 triggers can start a Dench automation the moment something changes in Linear. Every call runs through Linear's own authorization, scoped to the account you connect.
Sign in to your Dench workspace and open Integrations.
Find Linear and click Connect — you'll authorize access through Linear's own sign-in flow. No API keys or code required.
Ask an agent to use Linear in chat, or wire a Linear trigger into an automation.
Manage or disconnect the connection any time from workspace settings.
The Dench Linear integration connects your AI CRM to Linear, so AI agents can work with your Linear data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.
The Linear integration currently exposes 48 actions, including Add reaction to comment, Archive issue, Archive Project, Archive Project Update, Create a comment, and Create a label. Agents invoke them on your behalf from chat or from automations.
Yes. The Linear integration provides 12 triggers — such as Comment Received Trigger, Issue Created Trigger, Issue Updated Trigger, and Private Team Comment Created — that can start a Dench automation the moment something happens in Linear.
No. You connect Linear from your Dench workspace using Linear's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.
Connections are authorized through Linear's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Linear connection from your workspace settings at any time.