코딩 에이전트를 위한 Slack 봇: Sharkly 에이전트를 Slack에 연동하는 방법

코딩 에이전트를 위한 Slack 봇은 DM과 멘션을 Agent 실행으로 전환합니다. Sharkly Agent를 Slack에 연결하고, 트리거를 선택한 뒤, 모든 답장이 해당 스레드에 남도록 하세요.

Aiden Flux

Aiden Flux

4 11월 2026

코딩 에이전트를 위한 Slack 봇: Sharkly 에이전트를 Slack에 연동하는 방법

TL;DR

코딩 에이전트용 Slack 봇은 하나의 AI 에이전트에 연결된 Slack 앱입니다. 따라서 다이렉트 메시지와 멘션이 에이전트 대화가 되고, 모든 답변이 같은 스레드에 남습니다. Sharkly에서는 각 봇이 정확히 하나의 Agent에 연결되며, 그 Agent는 설정해 둔 지침, 모델, 스킬, 저장소를 바탕으로 답변합니다.

  1. api.slack.com/apps를 열고 App Configuration Token을 생성한 다음 Refresh Token을 복사합니다.
  2. Sharkly에서 Integrations를 열고 Slack을 선택한 뒤 Connect Agent를 선택합니다.
  3. 연결할 Agent를 고르고 원한다면 앱 이름을 지정합니다(Slack 앱 이름은 최대 35자입니다).
  4. Refresh Token을 붙여넣고 Create & Install을 선택합니다.
  5. Slack이 여는 창에서 OAuth 승인 요청을 승인합니다.
  6. 봇 상태가 Installing에서 Connected로 바뀔 때까지 기다린 다음, 봇에게 다이렉트 메시지를 보냅니다.

코딩 에이전트가 Slack에서 답해야 하는 이유

여러분의 팀은 이미 코딩 에이전트를 사용하고 있습니다. 누군가는 터미널에 Claude Code를 열어 두고, 또 누군가는 Codex 실행을 스크립트로 돌리며, 그 결과는 각자의 셸 히스토리에만 남습니다. 한편 그 에이전트들이 답할 수 있는 질문은 Slack에서 올라옵니다. 팀이 대화하는 곳이 바로 Slack이기 때문입니다.

이 간극에는 비용이 따릅니다. PM이 export 엔드포인트가 왜 실패하기 시작했는지 물으면, 그 질문은 개발자에게 가고, 개발자는 다시 에이전트에게 물어 답을 전달합니다. 에이전트가 90초 만에 답한 질문에 릴레이 때문에 한 시간이 더 붙는 셈입니다.

Sharkly는 플랫폼 측면에서 이 간극을 메웁니다. Sharkly는 Claude Code, Codex 또는 다른 실행 도구를 대체하는 것이 아니라, 그 주위에 공유 작업, 컨텍스트, 제어, 리뷰 계층을 더합니다. Sharkly의 Slack 통합은 그 계층을 워크스페이스까지 확장해, 팀원들이 질문한 바로 그 자리에서 답을 받을 수 있게 합니다.

두 가지 연결, 두 가지 역할

이 통합은 서로 독립적인 두 가지 연결 유형을 제공하며, 이 둘을 혼동하는 것이 가장 흔한 혼란의 원인입니다:

연결 하는 일 설정 주체
Slack 워크스페이스 연결 Sharkly의 공용 Slack 앱을 설치해, 사람들이 Slack에서 Task를 생성하고, Task 링크백을 게시하고, Sharkly Task 링크를 미리 볼 수 있게 합니다 조직 Owner와 Admin
Agent 봇 바인딩 하나의 Sharkly Agent 전용 Slack 앱을 생성·설치해 메시지가 Agent 대화가 되도록 합니다 멤버(본인이 사용할 수 있는 Agent에 한함)

이 둘은 각각 별도의 Slack 앱을 기반으로 하는 별개의 설치이며, 어느 하나만 있어도 동작합니다. 경계가 두 가지 더 있습니다. Slack 워크스페이스는 한 번에 하나의 Sharkly 조직에만 연결되며, Space 자동화 내의 Slack 액션은 세 번째 연결을 사용하는데, 여기서 Slack은 액션으로는 동작하지만 이번 릴리스에서는 워크플로를 시작할 수는 없습니다. 이 가이드에서는 Agent 봇 바인딩을 다룹니다.

Sharkly Agent Slack 봇이란?

Agent 봇은 하나의 Sharkly Agent를 하나의 Slack 앱에 연결합니다. 메시지는 Agent 대화가 되고, 답변은 같은 DM이나 스레드로 돌아옵니다. 답하는 Agent는 Sharkly의 다른 곳에서와 동일한, 설정된 팀원입니다. 즉 같은 지침, 모델, 스킬, 저장소 지식을 사용합니다.

바인딩은 엄격하게 1:1이며, 본인의 Personal Agent와 사용 권한이 있는 Space 공유 Agent를 바인딩할 수 있습니다.

설치와 함께 두 가지 접점이 제공됩니다. 다이렉트 메시지는 해당 DM 채널에 대한 채팅 세션을 만들고, 이후 메시지가 그 세션을 이어가므로 Agent가 매번 처음부터 시작하지 않고 컨텍스트를 유지합니다. 채널 멘션은 멘션을 제거하고 나머지를 Agent에게 보내며, 여러분의 메시지를 루트로 하는 스레드에 답변합니다.

@ReleaseShark summarize the decision in this thread and list the next steps

Sharkly는 다른 봇의 메시지, 메시지 수정 이벤트, 참여 이벤트는 무시합니다. 이로써 여러 앱이 한 채널을 공유할 때 답변 루프가 생기는 것을 막습니다.

AI 에이전트를 Slack에 연결하는 방법

설정 가능한 Agent(시작 가이드 참고)와 Slack App Configuration Token을 생성하고 대상 팀에 앱을 설치할 권한이 필요합니다.

  1. api.slack.com/apps를 열고 Your App Configuration Tokens를 찾습니다.
  2. App Configuration Token을 생성하고 그 Refresh Token을 복사합니다(Slack 문서). 이 토큰은 비밀로 취급하고 Sharkly의 연결 양식을 통해서만 제출하세요.
  3. Sharkly에서 Integrations를 열고 Slack을 선택합니다.
  4. Connect Agent를 선택하고 바인딩할 Agent를 고릅니다.
  5. 원한다면 앱 이름을 입력합니다. 비워 두면 Agent의 이름이 사용됩니다.
  6. Refresh Token을 붙여넣고 Create & Install을 선택합니다.
  7. 열리는 창에서 Slack OAuth 인증을 완료합니다. 아무것도 표시되지 않으면 팝업을 허용하고 다시 시도하세요.
  8. 봇 상태가 Installing에서 Connected로 바뀔 때까지 기다립니다.

Sharkly는 refresh token을 수명이 짧은 configuration access token으로 교환하고, 봇 아이덴티티, Slack Assistant 뷰, OAuth 리다이렉트, Events API 콜백 및 스코프를 포함하는 매니페스트로 앱을 생성한 다음, Slack을 열어 설치합니다.

봇에게 DM을 보내 확인하세요. 답변이 오면 이벤트 수신, 세션 생성, 실행 완료, 응답 전달까지 전체 경로가 정상이라는 뜻입니다. 봇이 계속 Installing 상태에 머문다면 OAuth 콜백이 아직 봇 토큰을 저장하지 못한 것이므로, 설치 창을 다시 열어 승인을 마무리하세요. Agent를 선택할 수 없다면 이미 다른 앱에 바인딩된 것입니다.

Slack 봇 트리거: 멘션, 이모지 반응, 모든 메시지

기본적으로 봇은 다이렉트 메시지와 채널 멘션에만 응답하며 그 외에는 반응하지 않습니다. Agent의 Slack 설정에서 각 트리거는 켜고 끌 수 있는 행으로 제공됩니다:

  • 채널에서 멘션됨이 기본값입니다. 누군가 봇을 호출할 때만 Agent가 실행되고, 답변은 멘션 아래 스레드에 남습니다.
  • 채널에서 이모지 반응은 반응을 트리거로 바꿉니다. 설정된 이모지로 반응하면 봇이 주변 컨텍스트와 함께 스레드를 엽니다.
  • 모든 채널 메시지는 직접 지정한 채널의 일반 메시지에 대해 Agent를 실행합니다. 모든 채널에 적용할 수는 없으며, 그 채널에 글을 올리는 다른 앱 때문에도 실행될 수 있습니다.

이를 합리적으로 유지하는 두 가지 판단 기준이 있습니다. 공용 채널에서는 멘션 전용을 유지하세요. 광범위한 트리거링은 소음을 만들고 Agent에게 무관한 컨텍스트를 노출합니다. 모든 채널 메시지는 모든 사람이 메시지가 Agent에게 전달될 것을 기대하는 전용 채널에서만 켜세요. 이모지 트리거는 그 중간에 있습니다. 누군가 의도적으로 반응하지 않으면 Agent에게 아무것도 전달되지 않기 때문입니다.

각 채널 스레드는 그 자체로 하나의 Agent 대화이므로, 한 채널의 두 스레드는 각기 다른 컨텍스트를 가진 두 개의 세션입니다. 또한 사람들은 봇을 다시 멘션하지 않고도 스레드를 이어갈 수 있습니다. 이 앱은 Slack이 AI 앱을 위해 제공하는 패널인 Slack Assistant도 활성화합니다.

Slack 대화는 Task가 아닙니다

Agent 봇 대화는 스스로 Task를 생성하지 않으며, 이 경계는 의도된 것입니다. 채팅과 Task 할당을 구분하는 원칙은 그대로 적용됩니다. 답이 필요하면 채팅하고, 누군가 리뷰할 결과물이 필요하면 Task를 할당하세요.

Agent가 Slack에서 Task를 생성할 때 현재 스레드를 함께 바인딩할 수 있습니다. 바인딩 후에는 Task 댓글과 스레드 메시지가 동기화됩니다. 스레드 바인딩이야말로 이 통합의 진가입니다. Slack에서 논의가 시작되고 그것이 Task가 되면, 이후 진행 상황과 블로커, 결과는 Task로 돌아오고 스레드는 대화에 참여했던 사람들에게 최신 상태로 유지됩니다.

Slack 봇이 적합하지 않은 경우

Task 생성과 링크 미리보기만 필요하다면 워크스페이스 연결만 사용하세요. 슬래시 커맨드, 단축키, 링크백, unfurl은 모두 공용 앱에서 제공됩니다.

예약 또는 이벤트 기반 채널 메시지가 필요하다면 그것은 대화가 아니라 자동화 워크플로 내의 Slack 액션입니다. 이번 릴리스에서는 Slack 이벤트가 워크플로를 트리거할 수 없으므로, 스케줄, 상태 변경, 댓글 키워드, 웹훅에서 시작하세요.

저장소에 대한 실행과 마지막 리뷰가 필요한 작업이라면 Task를 할당하세요. 봇은 질문할 때, Task는 만들어 갈 때 사용합니다.

하나의 봇으로 전체 로스터를 대표하고 싶다면 그런 바인딩은 없습니다. 실제 작업을 함께 조율하는 여러 전문가들은 봇으로 가득한 채널이 아니라, Task를 수행하는 Crew에 속해야 합니다.

보안 및 권한

  • App Configuration Refresh Token은 설정 과정에서 교환되며, 설치된 봇 토큰으로 사용되지 않습니다. 생성된 client secret, signing secret, OAuth 봇 토큰은 저장 시 암호화됩니다.
  • Events API 콜백은 저장된 signing secret으로 검증되며, 유효하지 않은 서명은 거부되고 이벤트 본문에는 크기 제한이 적용됩니다.
  • 승인 전에 요청되는 스코프를 확인하세요. 멘션, 다이렉트 메시지, 채널 및 비공개 채널 스레드 기록, 메시지 전송, DM 열기, Assistant 상태 업데이트 등이 포함됩니다.
  • Owner와 Admin은 공용 워크스페이스와 모든 바인딩을 관리하고, 멤버는 본인이 사용할 수 있는 Agent의 바인딩을 관리합니다.

연결 해제는 데이터를 삭제하지 않습니다. Agent가 해당 봇을 통해 메시지를 받지 않게 될 뿐, Slack 기록은 그대로 유지되며 과거 메시지가 Task가 되지도 않습니다.

마무리

코딩 에이전트용 Slack 봇은 작업이 존재하는 위치는 그대로 두고 대화가 이루어지는 위치만 바꿀 때 가치를 발휘합니다. 이미 신뢰하는 Agent 하나를 바인딩하고, 채널이 더 많은 것을 요구할 때까지 멘션 전용 기본값을 유지하며, 채팅이 작업으로 바뀌는 순간 스레드 바인딩을 사용하세요. 아직 Agent가 없다면 먼저 만들어 보세요.

자주 묻는 질문

Agent 봇을 바인딩하기 전에 Slack 워크스페이스를 연결해야 하나요?

아니요. 두 연결 유형은 서로 독립적입니다. 워크스페이스 연결은 Slack에서의 Task 생성, 링크백, 링크 미리보기, Inbox 알림 DM에만 필요합니다.

하나의 Slack 봇이 여러 Sharkly Agent를 담당할 수 있나요?

아니요. 각 봇은 정확히 하나의 Agent에 바인딩되며, Agent는 한 번에 하나의 바인딩만 가질 수 있습니다. 여러 Agent를 Slack에 두려면 각각 별도의 봇을 만드세요.

봇과 채팅하면 Task가 자동으로 생성되나요?

아니요. 대화가 담당자, 상태, 리뷰가 필요한 작업으로 바뀌면 의도적으로 Task를 생성하세요. Agent가 Slack에서 Task를 만들면 스레드를 바인딩해 댓글과 메시지를 동기화할 수 있습니다.

Slack 메시지로 Sharkly 자동화 워크플로를 시작할 수 있나요?

이번 릴리스에서는 불가능합니다. Slack은 워크플로에서 액션으로 사용할 수 있지만, Events API를 통한 Slack 트리거는 아직 연결되지 않았습니다.

더 둘러보기

Gemini Omni 1.2 Flash API: 비디오 생성을 AI 에이전트가 실행 가능한 태스크로 만들기

Gemini Omni 1.2 Flash API: 비디오 생성을 AI 에이전트가 실행 가능한 태스크로 만들기

Gemini Omni 1.2 Flash API를 추적 가능한 에이전트 작업으로 실행하기: 호출 구조, 브리프, 참조 에셋, 멀티턴 편집, 그리고 클립 배포 전 휴먼 리뷰.

6 11월 2026

ChatGPT Images 2.6으로 브랜드 마스코트 애니메이션 만드는 방법

ChatGPT Images 2.6으로 브랜드 마스코트 애니메이션 만드는 방법

ChatGPT Images 2.6으로 브랜드 마스코트 애니메이션 만들기: 검증된 스프라이트 시트 프롬프트, 매끄러운 루프를 위한 프레임 정렬, 팀 검토 워크플로

6 11월 2026

저렴한 모델이 오히려 비용이 더 드는 이유: 반영된 변경 사항당 에이전트 실행 비용 산정하기

저렴한 모델이 오히려 비용이 더 드는 이유: 반영된 변경 사항당 에이전트 실행 비용 산정하기

100만 토큰당 0.10달러인 GPT-6 Luna는 시도당 비용을 낮추고, 배포되는 변경 사항당 시도 횟수와 산출물, 의사결정 수를 늘려줍니다. 에이전트 실행 비용은 토큰 단위가 아니라 승인된 변경 사항을 기준으로 책정해야 합니다.

5 11월 2026