---
title: Slack Toolkit
---

이 문서는 Slack [toolkit](/oss/python/langchain/tools#toolkits) 사용을 시작하는 데 도움을 드립니다. 모든 SlackToolkit 기능과 구성에 대한 자세한 문서는 [API reference](https://python.langchain.com/api_reference/community/agent_toolkits/langchain_community.agent_toolkits.slack.toolkit.SlackToolkit.html)를 참조하세요.

## Setup

이 toolkit을 사용하려면 [Slack API docs](https://api.slack.com/tutorials/tracks/getting-a-token)에 설명된 대로 token을 받아야 합니다. SLACK_USER_TOKEN을 받은 후, 아래와 같이 환경 변수로 입력할 수 있습니다.

```python
import getpass
import os

if not os.getenv("SLACK_USER_TOKEN"):
    os.environ["SLACK_USER_TOKEN"] = getpass.getpass("Enter your Slack user token: ")
개별 tool의 자동 추적을 활성화하려면 LangSmith API key를 설정하세요:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"

Installation

이 toolkit은 langchain-community package에 포함되어 있습니다. Slack SDK도 필요합니다:
pip install -qU langchain-community slack_sdk
선택적으로, HTML 메시지 파싱을 지원하기 위해 beautifulsoup4를 설치할 수 있습니다:
pip install -qU beautifulsoup4 # This is optional but is useful for parsing HTML messages

Instantiation

이제 toolkit을 인스턴스화할 수 있습니다:
from langchain_community.agent_toolkits import SlackToolkit

toolkit = SlackToolkit()

Tools

사용 가능한 tool 보기:
tools = toolkit.get_tools()

tools
[SlackGetChannel(client=<slack_sdk.web.client.WebClient object at 0x113caa8c0>),
 SlackGetMessage(client=<slack_sdk.web.client.WebClient object at 0x113caa4d0>),
 SlackScheduleMessage(client=<slack_sdk.web.client.WebClient object at 0x113caa440>),
 SlackSendMessage(client=<slack_sdk.web.client.WebClient object at 0x113caa410>)]
이 toolkit은 다음을 로드합니다:

Use within an agent

Slack toolkit을 agent에 장착하고 channel에 대한 정보를 쿼리해 보겠습니다.
from langchain_openai import ChatOpenAI
from langchain.agents import create_agent


model = ChatOpenAI(model="gpt-4o-mini")

agent_executor = create_agent(model, tools)
example_query = "When was the #general channel created?"

events = agent_executor.stream(
    {"messages": [("user", example_query)]},
    stream_mode="values",
)
for event in events:
    message = event["messages"][-1]
    if message.type != "tool":  # mask sensitive information
        event["messages"][-1].pretty_print()
================================ Human Message =================================

When was the #general channel created?
================================== Ai Message ==================================
Tool Calls:
  get_channelid_name_dict (call_NXDkALjoOx97uF1v0CoZTqtJ)
 Call ID: call_NXDkALjoOx97uF1v0CoZTqtJ
  Args:
================================== Ai Message ==================================

The #general channel was created on timestamp 1671043305.
example_query = "Send a friendly greeting to channel C072Q1LP4QM."

events = agent_executor.stream(
    {"messages": [("user", example_query)]},
    stream_mode="values",
)
for event in events:
    message = event["messages"][-1]
    if message.type != "tool":  # mask sensitive information
        event["messages"][-1].pretty_print()
================================ Human Message =================================

Send a friendly greeting to channel C072Q1LP4QM.
================================== Ai Message ==================================
Tool Calls:
  send_message (call_xQxpv4wFeAZNZgSBJRIuaizi)
 Call ID: call_xQxpv4wFeAZNZgSBJRIuaizi
  Args:
    message: Hello! Have a great day!
    channel: C072Q1LP4QM
================================== Ai Message ==================================

I have sent a friendly greeting to the channel C072Q1LP4QM.

API reference

모든 SlackToolkit 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.

---

<Callout icon="pen-to-square" iconType="regular">
    [Edit the source of this page on GitHub.](https://github.com/langchain-ai/docs/edit/main/src/oss/python/integrations/tools/slack.mdx)
</Callout>
<Tip icon="terminal" iconType="regular">
    [Connect these docs programmatically](/use-these-docs) to Claude, VSCode, and more via MCP for    real-time answers.
</Tip>
I