Skip to content

Connect EMQX Agents to Slack

The Slack connector lets EMQX Agents read and search conversations, send and manage messages, work with channels and members, upload files, add reactions, and create reminders. Use it for alerting, collaboration, and operational follow-up workflows.

Common Use Cases

  • Send an alert to an operations channel after detecting an anomaly.
  • Summarize unread messages or a message thread.
  • Create a channel for an incident and invite responders.
  • Upload a generated report and add it to a message thread.

Example chat prompt:

text
Use the ops-slack connector to post a concise alert in the device-alerts channel when the agent confirms a critical anomaly. Include the device ID and recommended action.

Prerequisites

Before adding the connector, prepare:

  • A Slack account with access to the required workspace.
  • Permission to authorize the required message, channel, file, reaction, reminder, and user operations.
  • Membership in private channels that the workflow needs to access.

Add a Slack Connector

  1. In the left navigation menu, click Connectors.

  2. On the Available tab, locate Slack and click Add.

  3. In the Add Connector panel, verify that Type is set to Slack.

  4. Enter a descriptive Name, then click Confirm.

    EMQX Agents adds the connector with the Unauthorized status and opens an authorization dialog.

  5. In the authorization dialog, wait for Composio to redirect you to Slack.

  6. On the Slack authorization page, select the Workspace that the connector should access.

  7. Review the permissions requested by Composio, then click Allow.

  8. Wait for Composio to confirm that it has successfully connected to Slack and return you to EMQX Agents.

  9. On the Added tab, verify that an Authorization successful message appears and that the connector status is Authorized.

Important Notice

Slack may indicate that the Composio app has not been approved for the Slack Marketplace. Review the requested permissions and your organization's app authorization policy before continuing.

Edit a Slack Connector

  1. On the Added tab, click the edit icon for the Slack connector.
  2. In the Edit Connector panel, update Name.
  3. Click Confirm.

Only Name can be edited. Type and the Slack authorization cannot be changed in the Edit Connector panel. This restriction applies to all MCP connectors.

Supported Tools

Messages and Conversation Content

ToolAccessDescription
SLACK_SEND_MESSAGEWriteSends a message to a channel, direct message, group message, or thread.
SLACK_UPDATES_A_SLACK_MESSAGEWriteUpdates an existing Slack message.
SLACK_DELETES_A_MESSAGE_FROM_A_CHATDestructiveDeletes a Slack message.
SLACK_SEARCH_MESSAGESReadSearches workspace messages with optional channel, user, date, or content filters.
SLACK_FETCH_CONVERSATION_HISTORYReadGets messages from a channel or conversation timeline.
SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATIONReadGets a parent message and its thread replies.
SLACK_LIST_UNREAD_CHANNEL_MESSAGESReadGets unread messages for the authorized user in a channel.
SLACK_SCHEDULE_MESSAGEWriteSchedules a message for future delivery.

Channels and Members

ToolAccessDescription
SLACK_LIST_ALL_CHANNELSReadLists accessible public channels, private channels, direct messages, and group messages.
SLACK_RETRIEVE_CONVERSATION_INFORMATIONReadGets channel or conversation metadata.
SLACK_RETRIEVE_CONVERSATION_MEMBERS_LISTReadLists members of a channel or conversation.
SLACK_INVITE_USERS_TO_A_SLACK_CHANNELWriteInvites users to a channel.
SLACK_CREATE_CHANNELWriteCreates a public or private channel.
SLACK_SET_THE_TOPIC_OF_A_CONVERSATIONWriteSets or updates a conversation topic.
SLACK_SET_CONVERSATION_PURPOSEWriteSets or updates a conversation purpose.

Users and Identity

ToolAccessDescription
SLACK_FIND_USER_BY_EMAIL_ADDRESSReadFinds a Slack user by email address.
SLACK_RETRIEVE_DETAILED_USER_INFORMATIONReadGets detailed user and team information by user ID.
SLACK_LIST_ALL_USERSReadLists workspace users and profile information.
SLACK_RETRIEVE_A_USER_S_IDENTITY_DETAILSReadGets the authorized user and workspace identity.

Reactions, Files, and Reminders

ToolAccessDescription
SLACK_ADD_REACTION_TO_AN_ITEMWriteAdds an emoji reaction to a message.
SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACKWriteUploads a file or creates a file from text and can share it to a channel or thread.
SLACK_CREATE_A_REMINDERWriteCreates a one-time or recurring reminder for the authorized user or another user.

Important Notice

Message send, update, delete, channel creation, member invitation, file upload, and reminder tools change the Slack workspace or communicate with users. Confirm the destination before write operations.

Use the Connector in a Chat

  1. In the chat input area, click the connector icon.
  2. Select the authorized Slack connector.
  3. In the prompt, identify the external resource and operation that the agent should use.
  4. Review the generated agent definition and confirm that it contains only the required tools.

Permissions and Data Access

The connector uses the authorized Slack account and workspace. Channel membership, workspace roles, app permissions, and Slack administrator policies determine accessible conversations and actions.

Do not include external service credentials or access tokens in the chat prompt or agent instructions.

Limitations

  • Slack API rate limits and workspace policies apply.
  • Private channels are available only when the authorized account and integration have access.
  • File uploads, message history, and search results can be limited by the Slack plan and retention settings.

Troubleshooting

SymptomResolution
The connector remains Unauthorized.Retry authorization and verify that the account can grant access to EMQX Agents.
A tool returns a permission error.Verify the authorized account's access to the target resource and operation.
A required tool is unavailable.Verify that the tool is supported and approved for this connector, then select the connector again in the chat.
Requests are rejected intermittently.Check the external service status, API quota, rate limits, and account plan.