DocsMission ControlIntegrations

통합

CapiBot을 이미 사용 중인 도구에 연결하세요. 이 가이드는 Composio를 통해 1000개 이상의 앱 통합과 GitHub 저장소 관리를 설정하는 것을 다룹니다.

Composio 통합

Composio는 Notion, Linear, Jira, Slack, Gmail, Airtable 등 1000개 이상의 앱에 대한 통합된 접근을 제공합니다.

Composio API 키 얻기

1단계: Composio에 가입

  1. composio.dev로 이동
  2. "Get Started" 또는 "Sign Up" 클릭
  3. 이메일 또는 GitHub으로 계정 생성
  4. 이메일 주소 확인

2단계: API 키 얻기

  1. Composio 대시보드에 로그인
  2. 설정API 키 (또는 개발자API 키)로 이동
  3. "새 API 키 생성" 클릭
  4. 이름 지정: CapiBot Integration
  5. API 키 복사 (composio_로 시작)

3단계: CapiBot에 API 키 추가

  1. Mission Control 열기 (http://localhost:3002)
  2. 설정통합으로 이동
  3. Composio 섹션 찾기
  4. 필드에 API 키 붙여넣기:
    Composio API Key: composio_xxxxxxxxxxxxxxxx
    
  5. "Save" 또는 "Connect" 클릭
  6. 다음이 표시되어야 함: ✅ 연결됨

Composio를 통해 앱 연결

Composio API 키가 추가되면 개별 앱을 연결할 수 있습니다.

1단계: 사용 가능한 앱 탐색

  1. Mission Control에서 통합Composio로 이동
  2. 앱 탐색 또는 검색 (Notion, Linear, Slack 등)
  3. 앱이 카테고리별로 구성 (프로젝트 관리, 커뮤니케이션, CRM 등)

2단계: 앱 연결

  1. 원하는 앱 찾기 (예: Notion)
  2. "Connect" 클릭
  3. 앱의 OAuth 인증 페이지로 리디렉션됨
  4. (아직 로그인하지 않은 경우) 앱 계정에 로그인
  5. 요청된 권한 검토
  6. "Authorize" 또는 "Allow" 클릭
  7. Mission Control으로 다시 리디렉션됨
  8. 이제 앱이 표시됨: ✅ 연결됨

3단계: 앱 접근 구성 일부 앱은 CapiBot이 접근할 수 있는 것을 구성할 수 있게 합니다:

Notion의 경우:

  • 공유할 페이지/데이터베이스 선택
  • 접근 레벨 선택 (읽기 전용 또는 읽기-쓰기)
  • "Allow access" 클릭

Slack의 경우:

  • 연결할 워크스페이스 선택
  • 봇이 접근할 수 있는 채널 선택
  • 권한 부여 (메시지 본문, 메시지 읽기 등)

Linear의 경우:

  • 연결할 팀 선택
  • 이슈 접근 권한 설정
  • 웹훅 설정 구성

Composio 연결된 앱 사용

연결되면 에이전트가 Composio 스킬을 통해 이러한 앱을 사용할 수 있습니다.

예시: Notion 페이지 생성

사용자: 회의 노트를 "프로젝트 아이디어"라는 Notion 페이지에
      만들어줘

에이전트: [composio 스킬 사용]
       1. Notion이 연결되었는지 확인 ✅
       2. "페이지 생성" 작업 찾기
       3. 회의 노트로 실행

       ✅ Notion에 "프로젝트 아이디어" 페이지 생성됨
       보기: https://notion.so/...

예시: Slack 메시지 본문

사용자: 배포가 완료되었다는 메시지를 #engineering 채널에
      본문해줘

에이전트: [composio 스킬 사용]
       ✅ #engineering에 메시지 본문:
       "배포 완료! 🚀"

Composio 연결 관리

연결된 앱 보기:

  1. 통합Composio로 이동
  2. 상태와 함께 모든 연결된 앱 보기
  3. 녹색 확인 표시 = 연결 및 작동 중
  4. 빨간색 X = 연결 문제

앱 다시 연결: 앱이 오류를 표시하면:

  1. "Reconnect" 버튼 클릭
  2. 앱 다시 인증
  3. 필요한 경우 권한 업데이트

앱 연결 해제:

  1. 목록에서 앱 찾기
  2. "Disconnect" 클릭
  3. 확인: "이것은 [앱]에 대한 접근을 제거합니다"
  4. CapiBot은 더 이상 이 앱을 사용할 수 없음

일반적인 Composio 문제

"연결된 앱 없음"

  • 아직 앱을 연결하지 않음
  • Composio 탭으로 이동하여 원하는 앱에서 "Connect" 클릭

"앱 연결 만료됨"

  • OAuth 토큰이 일정 시간 후 만료됨
  • "Reconnect"를 클릭하여 연결 새로고침

"권한 거부됨"

  • 앱이 연결되었지만 필요한 권한이 없음
  • 더 넓은 권한으로 연결 해제 및 다시 연결
  • 또는 Composio 대시보드에서 앱 설정 확인

"속도 제한 초과"

  • 짧은 시간에 너무 많은 API 호출
  • 몇 분 기다렸다가 다시 시도
  • Composio 플랜 업그레이드 고려

GitHub 통합

GitHub을 연결하여 이슈, 풀 리퀘스트, 저장소 활동을 CapiBot 작업과 동기화합니다.

GitHub Personal Access Token 얻기

1단계: GitHub 설정으로 이동

  1. GitHub 계정에 로그인
  2. 프로필 사진 클릭 (오른쪽 상단)
  3. 설정 선택
  4. 왼쪽 사이드바에서 개발자 설정 클릭

2단계: Personal Access Token 생성

  1. Personal access tokensTokens (classic) 클릭
  2. "Generate new token""Generate new token (classic)" 클릭
  3. 비밀번호를 다시 입력해야 할 수 있음
  4. 토큰에 이름 지정: CapiBot Integration
  5. 만료 설정 (권장: 90일)
  6. 범위 (권한) 선택:

필수 범위:

☑️ repo            (프라이빗 저장소 전체 제어)
   ☑️ repo:status   (커밋 상태 접근)
   ☑️ repo_deployment  (배포 상태 접근)
   ☑️ public_repo   (퍼블릭 저장소 접근)
   ☑️ repo:invite   (저장소 초대 접근)
☑️ admin:repo_hook  (저장소 훅 전체 제어)

선택적 범위 (더 많은 기능을 위해):

☑️ read:org        (조직 및 팀 멤버십 읽기)
☑️ read:user       (사용자 프로필 데이터 읽기)
☑️ read:project    (프로젝트 보드 읽기)
  1. 아래로 스크롤하여 "Generate token" 클릭
  2. 중요: 즉시 토큰 복사!
    • ghp_로 시작
    • GitHub은 한 번만 표시
    • 안전하게 저장

3단계: CapiBot에 토큰 추가

  1. Mission Control 열기 (http://localhost:3002)
  2. 설정통합GitHub으로 이동
  3. 토큰 붙여넣기:
    GitHub Personal Access Token: ghp_xxxxxxxxxxxxxxxx
    
  4. "Connect" 클릭
  5. 다음이 표시되어야 함: ✅ 연결됨

GitHub 동기화 설정

연결되면 동기화할 항목을 구성합니다.

1단계: 저장소 선택

  1. 통합GitHub 동기화로 이동
  2. 접근 권한이 있는 저장소 목록이 표시됨
  3. 동기화하려는 저장소 옆의 상자를 체크
  4. "Save Selection" 클릭

2단계: 동기화 설정 구성

동기화 모드: [작업으로 이슈 가져오기 ▼]
  • 작업으로 이슈 가져오기
  • 양방향 동기화 (작업 ↔ 이슈)
  • 읽기 전용 (모니터링만)

필터:
  ☑️ 열린 이슈만
  ☐ 풀 리퀘스트 포함
  ☑️ 특정 레이블: [bug, feature, urgent]
  ☐ 모든 레이블

자동 할당 규칙:
  When: "frontend"로 레이블된 이슈
  할당: @Pixel (디자이너)

  When: "backend"로 레이블된 이슈
  할당: @Nova (엔지니어)

  When: "bug"로 레이블된 이슈
  우선순위: 높음

3단계: 동기화 테스트

  1. 연결된 저장소 중 하나에 테스트 이슈 생성
  2. 필터와 일치하는 레이블 추가 (예: "bug")
  3. 30-60초 기다림
  4. Mission Control의 작업 패널 확인
  5. 이슈가 작업으로 가져와졌는지 확인

GitHub 동기화 작동 방식

실시간 동기화:

GitHub 이슈 생성
        ↓
GitHub이 CapiBot에 웹훅 본문
        ↓
CapiBot이 웹훅 수신
        ↓
이슈에서 작업 T-123 생성
        ↓
레이블 규칙에 따라 할당
        ↓
에이전트에게 알림
        ↓
에이전트가 작업 수행
        ↓
CapiBot에서 작업 완료
        ↓
(양방향 동기화인 경우) GitHub 이슈 닫힘

동기화 내역: 모든 동기화된 항목 보기:

최근 가져오기

✅ #234 "로그인 버그 수정" → T-123 (Nova)
   동기화: 2분 전 | 레이블: bug

✅ #235 "다크 모드 추가" → T-124 (Pixel)
   동기화: 5분 전 | 레이블: feature

⚠️ #236 "문서 업데이트" → 건과됨
   이유: 일치하는 레이블 필터 없음

GitHub 동기화 관리

일시 중지/재개:

  • 연결을 끊지 않고 동기화를 일시적으로 중지
  • 유지보수 중에 유용
  • GitHub 동기화 → "Pause" 클릭으로 이동

선택적 동기화: 특정 이슈만 동기화:

동기화할 레이블: [bug, feature, urgent]
무시: [wontfix, duplicate, question]

대량 가져오기: 모든 기존 이슈 가져오기:

모든 열린 이슈 가져오기?
저장소: my-org/my-project
발견된 이슈: 47

☑️ 예, 47개 모두 가져오기
☐ 기본 에이전트에게 할당: @Nova
☐ 레이블에 따라 우선순위 설정

일반적인 GitHub 문제

"인증 실패"

  • 토큰이 만료되었을 수 있음
  • 새 토큰 생성
  • 토큰에 필요한 범위가 없을 수 있음
  • 범위 확인 및 다시 생성

"저장소를 찾을 수 없음"

  • 해당 저장소에 접근 권한이 없을 수 있음
  • 저장소 권한 확인
  • 소유하거나 협업자인 저장소 시도

"웹훅 전달 실패"

  • CapiBot이 퍼블릭하게 접근 가능하지 않을 수 있음
  • GitHub 설정에서 웹훅 URL 확인
  • CapiBot이 실행되고 접근 가능한지 확인

"이슈가 동기화되지 않음"

  • 레이블 필터가 이슈와 일치하는지 확인
  • 동기화가 활성화되었는지 확인 (일시 중지되지 않음)
  • 오류를 위해 동기화 내역 확인

API 키 관리

모든 통합 키의 중앙 집중식 관리.

접근: 설정 → API Keys

API 키 보기

┌─────────────────────────────────────────────────────────┐
│ API 키 관리                                             │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ 통합 API 키                                             │
│                                                         │
│ Composio API Key                                        │
│ 상태: ✅ 활성                                          │
│ 마지막 사용: 5분 전                                    │
│ [키 보기] [재생성] [삭제]                             │
│                                                         │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ GitHub Personal Access Token                            │
│ 상태: ✅ 활성                                          │
│ 범위: repo, admin:repo_hook                            │
│ 만료: 2024년 12월 15일                                 │
│ [키 보기] [재생성] [삭제]                             │
│                                                         │
└─────────────────────────────────────────────────────────┘

새 API 키 추가

1단계: "새 키 추가" 클릭

2단계: 통합 유형 선택

  • Composio
  • GitHub
  • Serper (웹 검색)
  • Groq (음성 전사)
  • 커스텀

3단계: 키 세부 정보 입력

통합: Composio
이름: 내 Composio 키
키: composio_xxxxxxxxxxxxxxxx

4단계: 저장 및 테스트

  • "Save" 클릭
  • 확인을 위해 "Test Connection" 클릭
  • 다음이 표시되어야 함: ✅ 연결 성공

키 순환

순환 시기:

  • 90일마다 (모범 사례)
  • 손상이 의심될 때
  • 직원이 퇴사할 때
  • 보안 사고 후

순환 방법:

  1. 외부 서비스에서 새 키 생성
  2. 설정 → API 키로 이동
  3. 오래된 키 찾기
  4. "Regenerate" 클릭
  5. 새 키 붙여넣기
  6. "Save" 클릭
  7. 오래된 키가 즉시 무효화됨

보안 모범 사례

Composio의 경우:

  • CapiBot을 위한 전용 Composio 계정 사용
  • 개인 Composio 계정 사용하지 않기
  • 연결된 앱을 정기적으로 검토
  • 사용하지 않는 앱 연결 제거

GitHub의 경우:

  • 가능한 경우 세밀한 토큰 사용
  • 토큰 만료를 90일로 제한
  • 최소한의 필요한 권한만 부여
  • 저장소에 토큰 커밋하지 않기
  • 프로덕션에서는 환경 변수 사용

일반:

  • 메시지에서 API 키 공유하지 않기
  • 스크린샷에 키 포함하지 않기
  • 키를 정기적으로 순환
  • 이상 징후를 위해 사용량 모니터링
  • 손상된 경우 즉시 키 취소

통합 상태 모니터링

한 곳에서 모든 통합의 상태 확인.

접근: 설정 → 통합 상태

┌─────────────────────────────────────────────────────────┐
│ 통합 상태                                               │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ ✅ Composio                                             │
│    API: 연결됨                                          │
│    앱: 5개 연결됨 (Notion, Linear, Slack, ...)         │
│    마지막 확인: 방금                                    │
│                                                         │
│ ✅ GitHub                                               │
│    토큰: 유효 (45일 후 만료)                            │
│    웹훅: 3개 활성                                       │
│    저장소: 5개 동기화                                   │
│    마지막 동기화: 2분 전                                │
│                                                         │
│ ⚠️  Slack                                               │
│    연결: 활성                                           │
│    경고: 속도 제한 (87% 사용)                           │
│    작업: 사용량 모니터링                                │
│                                                         │
│ ❌ Linear                                               │
│    연결: 만료됨                                         │
│    오류: 토큰이 취소됨                                  │
│    작업: 다시 연결 필요                                 │
│    [지금 다시 연결]                                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

통합 문제 해결

연결이 "연결 끊김"으로 표시됨

  1. API 키가 유효한지 확인
  2. 키에 필요한 권한이 있는지 확인
  3. 수동으로 연결 테스트
  4. 필요한 경우 키 다시 입력

"속도 제한 초과"

  1. 속도 제한 재설정 대기
  2. 동기화 빈도 감소
  3. 서비스 플랜 업그레이드
  4. 지속적인 경우 지원 문의

"웹훅 전달 실패"

  1. CapiBot이 퍼블릭하게 접근 가능한지 확인
  2. 웹훅 URL이 올바른지 확인
  3. 방화벽 설정 확인
  4. 웹훅 로그 검토

"동기화 지연"

  1. 통합 상태 확인
  2. 동기화가 활성화되었는지 확인
  3. 오류 메시지 확인
  4. 수동 동기화 트리거 시도

통합 패턴

패턴 1: GitHub + CapiBot 개발 워크플로우

GitHub 이슈 생성 → CapiBot 작업 생성
        ↓                        ↓
   "bug"로 레이블됨          @Nova에게 할당
        ↓                        ↓
   Nova가 버그 수정         작업 완료
        ↓                        ↓
   PR 생성                산출물 첨부
        ↓                        ↓
   PR 병합                작업 종료
        ↓                        ↓
   GitHub 이슈 닫힘 ←── 작업 완료

패턴 2: Composio 지식 관리

에이전트가 주제 연구
        ↓
발견 사항이 Notion에 저장됨 (Composio 통해)
        ↓
기업 지식 베이스에 정리됨
        ↓
다른 에이전트가 Notion 문서 참조
        ↓
시간이 지남에 따라 지식 성장

패턴 3: 멀티 도구 자동화

크론 작업이 일일 트리거
        ↓
에이전트가 GitHub 이슈 확인 (GitHub 통해)
        ↓
Notion에 요약 생성 (Composio 통해)
        ↓
Slack 알림 본문 (Composio 통해)
        ↓
팀이 일일 업데이트 보기

모범 사례

시작하기

  1. 하나의 통합부터 시작 — 한 번에 모든 것을 연결하지 마세요
  2. 철저히 테스트 — 의존하기 전에 각 통합이 작동하는지 확인
  3. 설정 문서화 — 어떤 키가 어디에 사용되는지 메모
  4. 사용량 모니터링 — 정기적으로 통합 상태 검토

보안

  1. 전용 계정 사용 — 통합을 위해 개인 계정 사용하지 않기
  2. 최소 권한 — 필요한 접근 권한만 부여
  3. 정기적인 순환 — 90일마다 키 순환
  4. 로그 모니터링 — 이상 활동 감시

유지보수

  1. 상태 확인 — 주간 통합 상태 검토
  2. 앱 업데이트 — 연결된 앱 최신 상태 유지
  3. 정리 — 사용하지 않는 통합 제거
  4. 키 백업 — 안전하게 오프라인 저장

다음 단계