콘텐츠로 이동

07. 연결 관리

Slack·GitHub·카카오톡 같은 외부 서비스를 한 번 연결해두면, 워크플로우에 토큰을 적지 않아도 이음새가 알아서 인증합니다. 사이드바 연결 화면에서 관리합니다.


연결이 필요한 경우와 아닌 경우

필요 없는 경우가 대부분입니다. 아래 통합들은 연결 없이 바로 씁니다.

통합 연결 필요?
http_request ❌ 필요 없음 (토큰은 ${secrets.*}로)
llm_chat ❌ 필요 없음 (API 키는 ${secrets.*}로)
transform_jmespath ❌ 필요 없음
dataset ❌ 필요 없음
slack_post_message Slack
kakao_send_memo 카카오톡
github_* (7개) GitHub

메시지를 보내거나 GitHub을 다룰 때 연결이 필요합니다. 그 외에는 08. 변수와 시크릿에 API 키를 넣고 http_request로 부르는 편이 더 간단할 때가 많습니다.

지금 연결할 수 있는 서비스는 Slack · GitHub · 카카오톡 세 가지입니다 (베타 기준).


연결하기

  1. 사이드바에서 연결로 들어갑니다.
  2. 연결할 서비스 카드에서 연결 버튼을 누릅니다.
  3. 그 서비스의 로그인·동의 화면으로 이동합니다. 요청하는 권한을 확인하고 승인합니다.
  4. 돌아오면 카드에 연결됨 상태와 받은 권한 목록이 표시됩니다.

일부 서비스는 연결 전에 추가 정보를 묻습니다 (예: 쇼핑몰의 몰 ID). 뜨는 입력창에 채워 넣으면 됩니다. API 키 방식으로 연결하는 서비스는 연결 대신 키를 직접 등록하는 창이 열립니다.

연결 가능한 서비스 목록은 연결 화면에 카드로 표시됩니다. 베타 기간에 계속 늘어납니다.


연결 상태 읽는 법

카드 왼쪽 점 색깔이 상태입니다.

표시 할 일
🟢 연결됨 정상 없음
🟡 만료됨 토큰 만료 재연결
🔴 해지됨 상대 서비스에서 권한 취소됨 재연결
미연결 아직 연결 안 함 연결

만료된 토큰은 갱신을 지원하는 서비스라면 자동으로 갱신됩니다. 그래도 만료 표시가 남아 있다면 재연결하세요.

카드의 새로고침 버튼을 누르면 지금 이 연결이 실제로 살아 있는지 즉시 확인합니다.


권한(스코프) 관리

연결할 때 받은 권한 안에서만 동작합니다. 권한이 모자라면 카드에 이렇게 표시됩니다.

템플릿:
  ✅ Slack 메시지 발송
  ⚠️ 다른 기능        누락: [필요한권한]  권한 추가

권한 추가를 누르면 추가 권한을 요청하며 다시 연결합니다.


Slack 연결하기

가장 많이 쓰는 연결이므로 따로 정리합니다.

1) 연결

연결 → Slack 카드 → 연결 → Slack 워크스페이스 선택 → 권한 승인.

베타에서 요청하는 권한은 다음과 같습니다.

권한 용도
chat:write 메시지 발송
channels:read · groups:read 채널 목록 조회 (에디터에서 채널 고르기)
users:read 사용자 정보 조회
im:read · mpim:read DM 채널 조회
app_mentions:read 멘션 인식

2) ⚠️ 채널에 봇 초대하기 — 빠뜨리기 쉬움

메시지를 보낼 채널마다 봇을 초대해야 합니다. 워크스페이스 연결만으로는 부족합니다.

해당 Slack 채널에서:

/invite @이음새

이걸 안 하면 워크플로우가 not_in_channel 에러로 실패합니다.

3) 워크플로우에서 쓰기

- id: notify
  name: Slack 발송
  type: CALL
  integration: slack_post_message
  input:
    channel: "C0123ABCDEF"
    text: "안녕하세요! 자동화가  돌고 있습니다."

channel에는 채널 ID를 넣는 게 안전합니다. 비주얼 에디터에서는 연결된 Slack의 실제 채널 목록에서 고를 수 있습니다.

채널 ID 찾는 법: Slack에서 채널 우클릭 → 채널 세부정보 보기 → 맨 아래 채널 ID.


GitHub 연결하기

CI·배포 결과를 알리거나, 실패한 job을 재실행하거나, 리뷰 대기 PR을 리마인드할 때 씁니다. GitHub 통합 7개가 이 연결 하나를 함께 씁니다. → 04. 통합 카탈로그

연결 → GitHub 카드 → 연결 → 권한 승인.

베타에서 요청하는 권한은 다음과 같습니다.

권한 용도
repo 리포지토리 조회, 이슈·PR 코멘트 작성
workflow GitHub Actions 실행 조회·재실행·수동 실행
read:org · read:user 조직·리포지토리 목록 조회 (에디터에서 고르기)

비주얼 에디터에서는 owner · repo연결된 계정의 실제 목록에서 골라 넣을 수 있습니다.


카카오톡 연결하기

"나와의 채팅방"으로 알림을 받습니다. Slack을 쓰지 않는다면 휴대폰으로 바로 알림을 받는 가장 간단한 방법입니다. → 04. 통합 카탈로그

연결 → 카카오톡 카드 → 연결 → 카카오 계정 로그인 → 동의.

권한 용도
talk_message 나에게 메시지 보내기

⚠️ 받는 사람은 연결한 본인 한 명입니다. 카카오 메모 API에는 수신자 지정이 없습니다. 팀 알림에는 쓸 수 없고, 운영자 1인 알림 용도입니다.


연결 해제

카드의 연결 해제를 누르면 저장된 토큰이 삭제됩니다.

⚠️ 그 연결을 쓰는 워크플로우는 다음 실행부터 실패합니다. 해제 전에 어떤 워크플로우가 쓰고 있는지 확인하세요.


워크플로우에서 토큰 직접 쓰기

드문 경우지만, 연결된 서비스의 토큰을 http_request에서 직접 써야 할 때가 있습니다.

input:
  uri: "https://slack.com/api/conversations.list"
  method: GET
  authenticate:
    authMethod: HEADERS
    data:
      Authorization: "Bearer ${connections.slack.accessToken}"

${connections.<제공사>.<필드>} 형식이고 제공사 이름은 소문자입니다. 만료된 토큰은 참조 시점에 자동 갱신됩니다.


연결 vs 시크릿, 뭘 써야 하나

연결 (Connections) 시크릿 (Variables)
인증 방식 OAuth (로그인 승인) API 키 문자열
만료 처리 자동 갱신 직접 교체
설정 난이도 클릭 몇 번 키 복사·붙여넣기
쓸 수 있는 곳 그 서비스 전용 통합 어디든 (http_request 등)
지금 되는 것 Slack · GitHub · 카카오톡 제한 없음

전용 통합이 있으면 연결을, 없으면 시크릿 + http_request 쓰면 됩니다.


다음08. 변수와 시크릿