opencode

Connect OpenCode to Linear and Slack

With Linear and Slack wired into OpenCode, the agent can move issues forward and keep the team in the loop in the same run. It reads and updates Linear issues, then posts the relevant update into Slack, and it can spin a Slack request into a new Linear ticket. Your tracker and your team chat stay aligned without manual cross-posting.

Loading preview…
Opens a workflow with 257 tools ready to use.

Tools OpenCode gets

Pick the operations you want and each becomes a tool the agent can call directly while it works.

Linear

50 tools
List Issue Comments

List comments for a specific Linear issue

Create Issue Comment

Create a comment on a specific Linear issue

Update Issue Comment

Update an existing comment

Delete Issue Comment

Delete a comment

List Team Cycles

Retrieve cycles for a specific Linear team

Create Cycle

Create a new cycle (sprint) for a team

Update Cycle

Update an existing cycle

Archive Cycle

Archive a cycle

Get Document

Retrieve a Linear document by ID

List Documents

List documents in the user's Linear workspace

Create Document

Create a new document. Requires exactly one of: projectId, teamId, or issueId.

Update Document

Update an existing document

Delete Document

Delete a document

Get Issue

Retrieve detailed information about an issue by ID

List Issues

List issues in the user's Linear workspace

Create Issue

Create a new Linear issue

Update Issue

Update an existing Linear issue

Delete Issue

Delete a Linear issue

Search Issues

Search issues by query string

Archive Issue

Archive an issue

Unarchive Issue

Unarchive an issue

List Team Workflow States

List workflow states (statuses) for a team

List Issue Labels

List available issue labels in a Linear workspace

Create Issue Label

Create a new Linear issue label

Update Issue Label

Update an issue label

Delete Issue Label

Delete an issue label

List Projects

List projects in the user's Linear workspace

Get Project

Retrieve details of a specific project

Create Project

Create a new project in Linear

Update Project

Update an existing Linear project

Archive Project

Archive a project (soft delete)

Delete Project

Permanently delete a project

List Project Milestones

List milestones for a project

Create Project Milestone

Create a project milestone

Update Project Milestone

Update a project milestone

Delete Project Milestone

Delete a project milestone

List Teams

List teams in the user's Linear workspace

Get Team

Retrieve details of a specific Linear team

List Users

Retrieve users in the Linear workspace

Get User

Retrieve details of a specific Linear user

Get Authenticated User

Get the currently authenticated user

List Issue Attachments

List attachments for an issue

Create Issue Attachment

Create an attachment (link URL to issue)

Delete Attachment

Delete an attachment

List Issue Relations

List issue relations (blocks, related, duplicate)

Create Issue Relation

Create a relation between issues

Delete Issue Relation

Delete an issue relation

List Webhooks

List webhooks for the organization

Create Webhook

Create a webhook

Delete Webhook

Delete a webhook

Slack

207 tools
Send Message to Channel

Post a message to a channel

Update Existing Message

Update an existing message

Delete Message

Delete a message

Send Ephemeral Message

Send an ephemeral message (only visible to one user)

Schedule Message for Later

Schedule a message for later

Get Message Permalink

Get a permalink URL for a message

List Channels in Workspace

List channels in the workspace

Get Channel Information

Get information about a channel

Get Channel Messages

Get messages from a channel

List Channel Members

Get members of a channel

Join Public Channel

Join a public channel

Leave Channel

Leave a channel

Create Channel

Create a new channel

Archive Channel

Archive a channel

Unarchive Channel

Unarchive a channel

Invite Users to Channel

Invite users to a channel

Remove User from Channel

Remove a user from a channel

Set Channel Topic

Set the topic of a channel

Set Channel Purpose

Set the purpose of a channel

Rename Channel

Rename a channel

Get Thread Replies

Get thread replies

Open Direct Message

Open or resume a direct message or multi-person DM

Close Direct Message

Close a direct message or multi-person DM

Mark Channel As Read

Mark a channel as read

List Workspace Users

List all users in the workspace

Get User Information

Get information about a user

Find User by Email

Find a user by their email address

Get User Presence Status

Get a user's presence status

List User Accessible Conversations

List conversations the calling user may access

Add Bookmark to Channel

Add a bookmark to a channel

Edit Channel Bookmark

Edit an existing bookmark

List Channel Bookmarks

List bookmarks in a channel

Remove Channel Bookmark

Remove a bookmark from a channel

List Workspace User Groups

List user groups in the workspace

Create User Group

Create a new user group

Disable User Group

Disable an existing user group

Enable User Group

Enable a disabled user group

Update User Group

Update an existing user group

List Usergroup Members

List users in a user group

Update Usergroup Member List

Update the list of users in a user group

Set Do Not Disturb Snooze

Turn on Do Not Disturb for the current user

End Snooze Mode

End the current user's snooze mode

End Do Not Disturb

End the current user's Do Not Disturb session

Get Do Not Disturb Status

Get Do Not Disturb status for a user

Get Team Do Not Disturb Status

Get Do Not Disturb status for users on a team

List Custom Emoji in Workspace

List custom emoji in the workspace

Star Message or File

Star a message, file, or channel

Unstar Item

Remove a star from an item

List User Starred Items

List starred items for the current user

Get Bot Information

Get information about a bot

Create Reminder

Create a reminder

Mark Reminder Complete

Mark a reminder as complete

Delete Reminder

Delete a reminder

Get Reminder Information

Get information about a reminder

List User Reminders

List all reminders for the current user

Add Emoji Reaction to Message

Add an emoji reaction to a message

Remove Emoji Reaction from Message

Remove an emoji reaction from a message

Get Message Reactions

Get reactions on a message

Pin Message to Channel

Pin a message to a channel

Unpin Message from Channel

Unpin a message from a channel

List Pinned Items in Channel

List pinned items in a channel

List Workspace Files

List files in the workspace

Get File Information

Get information about a file

Delete File

Delete a file

Upload File to Slack

Upload a file to Slack

Create File Public Url

Create a public URL for a file (files.sharedPublicURL)

Revoke File Public Url

Revoke public URL for a file (files.revokePublicURL)

Search Workspace Messages

Search for messages in the workspace

Search Workspace Files

Search for files in the workspace (search.files)

Search Messages and Files

Search for messages and files (search.all)

Delete Scheduled Message

Delete a scheduled message (chat.deleteScheduledMessage)

List Scheduled Messages

List scheduled messages (chat.scheduledMessages.list)

Send Me Message

Share a /me message into a channel (chat.meMessage)

Provide Custom Unfurl Behavior

Provide custom unfurl behavior for URLs (chat.unfurl)

Get User Profile Information

Get a user's profile information (users.profile.get)

Set User Presence Status

Set user presence (users.setPresence)

Test Authentication

Test authentication and get info about the token

Get Workspace Information

Get information about the workspace

Test Api Connection

Test the API connection (api.test)

Revoke Oauth Token

Revoke an OAuth token (auth.revoke)

Uninstall App from Workspace

Uninstall an app from a workspace (apps.uninstall)

Get Team Billable Information

Get billable info for team members (team.billableInfo)

Get Workspace Access Logs

Get access logs for the workspace (team.accessLogs)

Get Workspace Integration Logs

Get integration logs for the workspace (team.integrationLogs)

Accept Shared Channel Invite

Accept a shared channel invite (conversations.acceptSharedInvite)

Decline Shared Channel Invite

Decline a shared channel invite (conversations.declineSharedInvite)

List Slack Connect Invites

List Slack Connect invites (conversations.listConnectInvites)

Get External File Upload Url

Get URL for uploading a file externally (files.getUploadURLExternal)

Complete External File Upload

Complete a file upload after uploading to external URL (files.completeUploadExternal)

Set User Profile Fields

Set user profile fields (users.profile.set)

Approve Slack Connect Channel Invite

Approve an invitation to a Slack Connect channel (conversations.approveSharedInvite)

Invite User to Slack Connect Channel

Invite a user to a Slack Connect channel (conversations.inviteShared)

Add Remote File to Workspace

Add a remote file (files.remote.add)

Remove Remote File

Remove a remote file (files.remote.remove)

Share Remote File to Channel

Share a remote file to a channel (files.remote.share)

List Remote Files

List remote files (files.remote.list)

List Reactions for Item

List reactions for an item (reactions.list)

Get Remote File Information

Get information about a remote file (files.remote.info)

Update Remote File

Update a remote file (files.remote.update)

Delete File Comment

Delete a file comment (files.comments.delete)

Delete User Profile Photo

Delete the user's profile photo (users.deletePhoto)

Set User As Active

Mark user as active (users.setActive) - Deprecated but still functional

Create Canvas in Channel

Create a canvas in a channel (conversations.canvases.create)

Set Channel External Invite Permissions

Set external invite permissions for a channel (conversations.externalInvitePermissions.set)

Approve Slack Connect Invite Request

Approve a Slack Connect invite request (conversations.requestSharedInvite.approve)

Deny Slack Connect Invite Request

Deny a Slack Connect invite request (conversations.requestSharedInvite.deny)

List Slack Connect Invite Requests

List Slack Connect invite requests (conversations.requestSharedInvite.list)

Get Analytics File for Date

Get analytics data for a given date (admin.analytics.getFile)

List App Activity Logs

Get logs for app activities (admin.apps.activities.list)

Approve App for Installation

Approve an app for installation (admin.apps.approve)

List Approved Apps

List approved apps (admin.apps.approved.list)

Clear App Resolution

Clear app resolution (admin.apps.clearResolution)

Lookup App Configuration

Look up app config (admin.apps.config.lookup)

Set App Configuration

Set app config (admin.apps.config.set)

Cancel App Request

Cancel an app request (admin.apps.requests.cancel)

List App Requests

List app requests (admin.apps.requests.list)

Restrict App

Restrict an app (admin.apps.restrict)

List Restricted Apps

List restricted apps (admin.apps.restricted.list)

Uninstall App

Uninstall an app (admin.apps.uninstall)

Get Allowed Audit Anomaly Item

Get allowed audit anomaly item (admin.audit.anomaly.allow.getItem)

Update Allowed Audit Anomaly Item

Update allowed audit anomaly item (admin.audit.anomaly.allow.updateItem)

Assign Entities to Auth Policy

Assign entities to auth policy (admin.auth.policy.assignEntities)

Get Entities for Auth Policy

Get entities for auth policy (admin.auth.policy.getEntities)

Remove Entities from Auth Policy

Remove entities from auth policy (admin.auth.policy.removeEntities)

Create Information Barrier

Create an information barrier (admin.barriers.create)

Delete Information Barrier

Delete an information barrier (admin.barriers.delete)

List Information Barriers

List information barriers (admin.barriers.list)

Update Information Barrier

Update an information barrier (admin.barriers.update)

Archive Conversation As Admin

Archive a conversation (admin.conversations.archive)

Bulk Archive Conversations

Bulk archive conversations (admin.conversations.bulkArchive)

Bulk Delete Conversations

Bulk delete conversations (admin.conversations.bulkDelete)

Bulk Move Conversations to Team

Bulk move conversations to a team (admin.conversations.bulkMove)

Convert Channel to Private

Convert public channel to private (admin.conversations.convertToPrivate)

Convert Channel to Public

Convert private channel to public (admin.conversations.convertToPublic)

Create Admin Conversation

Create a conversation (admin.conversations.create)

Delete Conversation

Delete a conversation (admin.conversations.delete)

Disconnect Shared Channel

Disconnect a shared channel (admin.conversations.disconnectShared)

List Ekm Original Channel Info

List original connected channel info for EKM (admin.conversations.ekm.listOriginalConnectedChannelInfo)

Get Conversation Preferences

Get conversation preferences (admin.conversations.getConversationPrefs)

Get Channel Retention Settings

Get custom retention settings (admin.conversations.getCustomRetention)

List Teams for Conversation

Get teams for a conversation (admin.conversations.getTeams)

Invite Users to Conversation As Admin

Invite users to a conversation (admin.conversations.invite)

Lookup Conversations

Look up conversations (admin.conversations.lookup)

Remove Channel Retention Settings

Remove custom retention settings (admin.conversations.removeCustomRetention)

Rename Conversation As Admin

Rename a conversation (admin.conversations.rename)

Add Idp Group to Channel

Add IDP group to channel (admin.conversations.restrictAccess.addGroup)

List Idp Groups for Channel

List IDP groups for channel (admin.conversations.restrictAccess.listGroups)

Remove Idp Group from Channel

Remove IDP group from channel (admin.conversations.restrictAccess.removeGroup)

Search Conversations

Search for conversations (admin.conversations.search)

Set Conversation Preferences

Set conversation preferences (admin.conversations.setConversationPrefs)

Set Channel Retention Settings

Set custom retention settings (admin.conversations.setCustomRetention)

Set Teams for Conversation

Set teams for a conversation (admin.conversations.setTeams)

Unarchive Conversation As Admin

Unarchive a conversation (admin.conversations.unarchive)

Add Custom Emoji

Add custom emoji (admin.emoji.add)

Add Emoji Alias

Add emoji alias (admin.emoji.addAlias)

List Custom Emoji

List custom emoji (admin.emoji.list)

Remove Custom Emoji

Remove custom emoji (admin.emoji.remove)

Rename Custom Emoji

Rename custom emoji (admin.emoji.rename)

List Functions

List functions (admin.functions.list)

Lookup Function Permissions

Look up function permissions (admin.functions.permissions.lookup)

Set Function Permissions

Set function permissions (admin.functions.permissions.set)

Approve Invite Request

Approve invite request (admin.inviteRequests.approve)

List Approved Invite Requests

List approved invite requests (admin.inviteRequests.approved.list)

List Denied Invite Requests

List denied invite requests (admin.inviteRequests.denied.list)

Deny Invite Request

Deny invite request (admin.inviteRequests.deny)

List Invite Requests

List invite requests (admin.inviteRequests.list)

Add Role Assignments

Add role assignments (admin.roles.addAssignments)

List Role Assignments

List role assignments (admin.roles.listAssignments)

Remove Role Assignments

Remove role assignments (admin.roles.removeAssignments)

List Team Admins

List team admins (admin.teams.admins.list)

Create Team

Create a team (admin.teams.create)

List Teams

List teams (admin.teams.list)

List Team Owners

List team owners (admin.teams.owners.list)

Get Team Settings

Get team settings info (admin.teams.settings.info)

Set Default Channels for Team

Set default channels for team (admin.teams.settings.setDefaultChannels)

Set Team Description

Set team description (admin.teams.settings.setDescription)

Set Team Discoverability

Set team discoverability (admin.teams.settings.setDiscoverability)

Set Team Icon

Set team icon (admin.teams.settings.setIcon)

Set Team Name

Set team name (admin.teams.settings.setName)

Add Channels to Usergroup

Add channels to usergroup (admin.usergroups.addChannels)

Add Teams to Usergroup

Add teams to usergroup (admin.usergroups.addTeams)

List Channels in Usergroup

List channels in usergroup (admin.usergroups.listChannels)

Remove Channels from Usergroup

Remove channels from usergroup (admin.usergroups.removeChannels)

Assign User to Team

Assign a user to a team (admin.users.assign)

Get User Expiration

Get expiration for a user (admin.users.getExpiration)

Invite User to Team

Invite a user to a team (admin.users.invite)

List Users in Team

List users in a team (admin.users.list)

Remove User from Team

Remove a user from a team (admin.users.remove)

Clear User Session Settings

Clear session settings (admin.users.session.clearSettings)

Get User Session Settings

Get session settings (admin.users.session.getSettings)

Invalidate User Session

Invalidate user session (admin.users.session.invalidate)

List User Sessions

List user sessions (admin.users.session.list)

Reset User Session

Reset user session (admin.users.session.reset)

Bulk Reset User Sessions

Bulk reset user sessions (admin.users.session.resetBulk)

Set User Session Settings

Set session settings (admin.users.session.setSettings)

Set User As Admin

Set a user as admin (admin.users.setAdmin)

Set User Expiration

Set expiration for a user (admin.users.setExpiration)

Set User As Owner

Set a user as owner (admin.users.setOwner)

Set User As Regular

Set a user as regular (admin.users.setRegular)

Export Unsupported Version Users

Export unsupported version users (admin.users.unsupportedVersions.export)

Add Workflow Collaborators

Add workflow collaborators (admin.workflows.collaborators.add)

Remove Workflow Collaborators

Remove workflow collaborators (admin.workflows.collaborators.remove)

Lookup Workflow Permissions

Look up workflow permissions (admin.workflows.permissions.lookup)

Search Workflows

Search workflows (admin.workflows.search)

Lookup Workflow Trigger Type Permissions

Look up workflow trigger type permissions (admin.workflows.triggers.types.permissions.lookup)

Set Workflow Trigger Type Permissions

Set workflow trigger type permissions (admin.workflows.triggers.types.permissions.set)

Unpublish Workflow

Unpublish a workflow (admin.workflows.unpublish)

What you can build

Turn a Slack message into a Linear issue and reply in-thread with the link
Post a daily summary of Linear issue activity to a Slack channel
Alert a Slack channel when a Linear issue is marked urgent or blocked
Move a Linear issue to Done and announce it in the team's Slack channel

About OpenCode

OpenCode is an open, model-agnostic command-line coding agent. In NoClick it runs hosted and gains your apps as tools, so it can act on real systems rather than just edit files. Wire an integration into the agent and OpenCode can use that app’s operations directly while it works. It is a flexible choice when you want an open agent with broad model support and real tool access.

Open and model-agnostic
Flexible across many underlying models
Good general-purpose tool use
Lightweight to point at a focused task

Frequently asked questions

Open your OpenCode agent in one click

NoClick runs OpenCode for you with Linear and Slack wired in as tools. Connect your account and run.