Connect OpenCode to Slack and Trello
What happens next
Set up in minutes
Choose where it runs
On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:
Pick what it can do in Slack
A preset of real Slack operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Pick what it can do in Trello
A preset of real Trello operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Connect Slack
One sign-in. The agent acts through your account, scoped to the operations you picked.
Connect Trello
One sign-in. The agent acts through your account, scoped to the operations you picked.
Add your personal MCP link
The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in.
1. Run this in your terminal
2. Choose Remote and paste your server URL
3. Choose No when asked about OAuth authentication — the link itself is the key
<your-link> is your personal server URL — setup mints it for you.
Exact capabilities
Tools OpenCode gets
Slack
207 toolsPost a message to a channel
Update an existing message
Delete a message
Send an ephemeral message (only visible to one user)
Schedule a message for later
Get a permalink URL for a message
List channels in the workspace
Get information about a channel
Get messages from a channel
Get members of a channel
Join a public channel
Leave a channel
Create a new channel
Archive a channel
Unarchive a channel
Invite users to a channel
Remove a user from a channel
Set the topic of a channel
Set the purpose of a channel
Rename a channel
Get thread replies
Open or resume a direct message or multi-person DM
Close a direct message or multi-person DM
Mark a channel as read
List all users in the workspace
Get information about a user
Find a user by their email address
Get a user's presence status
List conversations the calling user may access
Add a bookmark to a channel
Edit an existing bookmark
List bookmarks in a channel
Remove a bookmark from a channel
List user groups in the workspace
Create a new user group
Disable an existing user group
Enable a disabled user group
Update an existing user group
List users in a user group
Update the list of users in a user group
Turn on Do Not Disturb for the current user
End the current user's snooze mode
End the current user's Do Not Disturb session
Get Do Not Disturb status for a user
Get Do Not Disturb status for users on a team
List custom emoji in the workspace
Star a message, file, or channel
Remove a star from an item
List starred items for the current user
Get information about a bot
Create a reminder
Mark a reminder as complete
Delete a reminder
Get information about a reminder
List all reminders for the current user
Add an emoji reaction to a message
Remove an emoji reaction from a message
Get reactions on a message
Pin a message to a channel
Unpin a message from a channel
List pinned items in a channel
List files in the workspace
Get information about a file
Delete a file
Upload a file to Slack
Create a public URL for a file (files.sharedPublicURL)
Revoke public URL for a file (files.revokePublicURL)
Search for messages in the workspace
Search for files in the workspace (search.files)
Search for messages and files (search.all)
Delete a scheduled message (chat.deleteScheduledMessage)
List scheduled messages (chat.scheduledMessages.list)
Share a /me message into a channel (chat.meMessage)
Provide custom unfurl behavior for URLs (chat.unfurl)
Get a user's profile information (users.profile.get)
Set user presence (users.setPresence)
Test authentication and get info about the token
Get information about the workspace
Test the API connection (api.test)
Revoke an OAuth token (auth.revoke)
Uninstall an app from a workspace (apps.uninstall)
Get billable info for team members (team.billableInfo)
Get access logs for the workspace (team.accessLogs)
Get integration logs for the workspace (team.integrationLogs)
Accept a shared channel invite (conversations.acceptSharedInvite)
Decline a shared channel invite (conversations.declineSharedInvite)
List Slack Connect invites (conversations.listConnectInvites)
Get URL for uploading a file externally (files.getUploadURLExternal)
Complete a file upload after uploading to external URL (files.completeUploadExternal)
Set user profile fields (users.profile.set)
Approve an invitation to a Slack Connect channel (conversations.approveSharedInvite)
Invite a user to a Slack Connect channel (conversations.inviteShared)
Add a remote file (files.remote.add)
Remove a remote file (files.remote.remove)
Share a remote file to a channel (files.remote.share)
List remote files (files.remote.list)
List reactions for an item (reactions.list)
Get information about a remote file (files.remote.info)
Update a remote file (files.remote.update)
Delete a file comment (files.comments.delete)
Delete the user's profile photo (users.deletePhoto)
Mark user as active (users.setActive) - Deprecated but still functional
Create a canvas in a channel (conversations.canvases.create)
Set external invite permissions for a channel (conversations.externalInvitePermissions.set)
Approve a Slack Connect invite request (conversations.requestSharedInvite.approve)
Deny a Slack Connect invite request (conversations.requestSharedInvite.deny)
List Slack Connect invite requests (conversations.requestSharedInvite.list)
Get analytics data for a given date (admin.analytics.getFile)
Get logs for app activities (admin.apps.activities.list)
Approve an app for installation (admin.apps.approve)
List approved apps (admin.apps.approved.list)
Clear app resolution (admin.apps.clearResolution)
Look up app config (admin.apps.config.lookup)
Set app config (admin.apps.config.set)
Cancel an app request (admin.apps.requests.cancel)
List app requests (admin.apps.requests.list)
Restrict an app (admin.apps.restrict)
List restricted apps (admin.apps.restricted.list)
Uninstall an app (admin.apps.uninstall)
Get allowed audit anomaly item (admin.audit.anomaly.allow.getItem)
Update allowed audit anomaly item (admin.audit.anomaly.allow.updateItem)
Assign entities to auth policy (admin.auth.policy.assignEntities)
Get entities for auth policy (admin.auth.policy.getEntities)
Remove entities from auth policy (admin.auth.policy.removeEntities)
Create an information barrier (admin.barriers.create)
Delete an information barrier (admin.barriers.delete)
List information barriers (admin.barriers.list)
Update an information barrier (admin.barriers.update)
Archive a conversation (admin.conversations.archive)
Bulk archive conversations (admin.conversations.bulkArchive)
Bulk delete conversations (admin.conversations.bulkDelete)
Bulk move conversations to a team (admin.conversations.bulkMove)
Convert public channel to private (admin.conversations.convertToPrivate)
Convert private channel to public (admin.conversations.convertToPublic)
Create a conversation (admin.conversations.create)
Delete a conversation (admin.conversations.delete)
Disconnect a shared channel (admin.conversations.disconnectShared)
List original connected channel info for EKM (admin.conversations.ekm.listOriginalConnectedChannelInfo)
Get conversation preferences (admin.conversations.getConversationPrefs)
Get custom retention settings (admin.conversations.getCustomRetention)
Get teams for a conversation (admin.conversations.getTeams)
Invite users to a conversation (admin.conversations.invite)
Look up conversations (admin.conversations.lookup)
Remove custom retention settings (admin.conversations.removeCustomRetention)
Rename a conversation (admin.conversations.rename)
Add IDP group to channel (admin.conversations.restrictAccess.addGroup)
List IDP groups for channel (admin.conversations.restrictAccess.listGroups)
Remove IDP group from channel (admin.conversations.restrictAccess.removeGroup)
Search for conversations (admin.conversations.search)
Set conversation preferences (admin.conversations.setConversationPrefs)
Set custom retention settings (admin.conversations.setCustomRetention)
Set teams for a conversation (admin.conversations.setTeams)
Unarchive a conversation (admin.conversations.unarchive)
Add custom emoji (admin.emoji.add)
Add emoji alias (admin.emoji.addAlias)
List custom emoji (admin.emoji.list)
Remove custom emoji (admin.emoji.remove)
Rename custom emoji (admin.emoji.rename)
List functions (admin.functions.list)
Look up function permissions (admin.functions.permissions.lookup)
Set function permissions (admin.functions.permissions.set)
Approve invite request (admin.inviteRequests.approve)
List approved invite requests (admin.inviteRequests.approved.list)
List denied invite requests (admin.inviteRequests.denied.list)
Deny invite request (admin.inviteRequests.deny)
List invite requests (admin.inviteRequests.list)
Add role assignments (admin.roles.addAssignments)
List role assignments (admin.roles.listAssignments)
Remove role assignments (admin.roles.removeAssignments)
List team admins (admin.teams.admins.list)
Create a team (admin.teams.create)
List teams (admin.teams.list)
List team owners (admin.teams.owners.list)
Get team settings info (admin.teams.settings.info)
Set default channels for team (admin.teams.settings.setDefaultChannels)
Set team description (admin.teams.settings.setDescription)
Set team discoverability (admin.teams.settings.setDiscoverability)
Set team icon (admin.teams.settings.setIcon)
Set team name (admin.teams.settings.setName)
Add channels to usergroup (admin.usergroups.addChannels)
Add teams to usergroup (admin.usergroups.addTeams)
List channels in usergroup (admin.usergroups.listChannels)
Remove channels from usergroup (admin.usergroups.removeChannels)
Assign a user to a team (admin.users.assign)
Get expiration for a user (admin.users.getExpiration)
Invite a user to a team (admin.users.invite)
List users in a team (admin.users.list)
Remove a user from a team (admin.users.remove)
Clear session settings (admin.users.session.clearSettings)
Get session settings (admin.users.session.getSettings)
Invalidate user session (admin.users.session.invalidate)
List user sessions (admin.users.session.list)
Reset user session (admin.users.session.reset)
Bulk reset user sessions (admin.users.session.resetBulk)
Set session settings (admin.users.session.setSettings)
Set a user as admin (admin.users.setAdmin)
Set expiration for a user (admin.users.setExpiration)
Set a user as owner (admin.users.setOwner)
Set a user as regular (admin.users.setRegular)
Export unsupported version users (admin.users.unsupportedVersions.export)
Add workflow collaborators (admin.workflows.collaborators.add)
Remove workflow collaborators (admin.workflows.collaborators.remove)
Look up workflow permissions (admin.workflows.permissions.lookup)
Search workflows (admin.workflows.search)
Look up workflow trigger type permissions (admin.workflows.triggers.types.permissions.lookup)
Set workflow trigger type permissions (admin.workflows.triggers.types.permissions.set)
Unpublish a workflow (admin.workflows.unpublish)
Trello
40 toolsSearch across boards, cards, and members.
Get the authenticated member's profile.
List boards belonging to a member.
Get all cards assigned to a member.
Retrieve a single board's details.
Create a new board.
Update an existing board.
Permanently delete a board.
Get all lists (columns) on a board.
Get all cards on a board.
List labels available on a board.
List members of a board.
Get the activity feed (actions) for a board.
Add or update a member's role on a board.
Remove a member from a board.
Create a new list (column) on a board.
Rename or modify a list.
Get all cards within a list.
Archive or unarchive a list.
Move every card in a list to another list.
Retrieve a single card.
Create a new card in a list.
Update a card (rename, move, set due date, archive).
Permanently delete a card.
Post a comment on a card.
Attach a URL to a card.
Assign a member to a card.
Unassign a member from a card.
Add an existing label to a card.
Remove a label from a card.
Get the activity feed (actions) for a card.
Get all checklists on a card.
Add a checklist to a card.
Add an item to a checklist.
Check or uncheck a checklist item (check item state).
Delete a checklist from a card.
Delete an item from a checklist.
Create a new label on a board.
Rename or recolor a board label.
Delete a label from a board.
Starting points
What you can build
Meet the runner
About OpenCode
Good to know
Frequently asked questions
Keep exploring
More ways to connect
More tools for OpenCode
Popular OpenCode pairs
Make it yours
Open your OpenCode agent in one click.
NoClick runs OpenCode for you with Slack and Trello wired in as tools. Connect your account and run.