connect은(는) 무엇을 하나요?
Composio CLI를 사용하여 Codex를 모든 앱에 연결하세요. 할 수 있는 일에 대해 텍스트를 생성하는 데 그치지 말고, 셸에서 실제로 실행하세요.
이 스킬을 사용해야 할 때
Codex가 다음 작업을 수행해야 할 때 이 스킬을 사용하세요:
- 이메일 보내기 – 초안 대신 실제로 보내기
- 이슈 생성하기 – 설명 대신 실제로 만들기
- 메시지 게시하기 – 제안 대신 실제로 게시하기
- 데이터베이스 업데이트하기 – 방법 설명 대신 실제로 업데이트하기
변화되는 것
| Connect 없을 때 | Connect 있을 때 |
|---|---|
| "다음은 이메일 초안입니다…" | 이메일을 보냄 |
| "이슈를 생성해야 합니다…" | 이슈를 생성함 |
| "Slack에 게시하세요…" | 게시함 |
| "Notion에 추가하세요…" | 추가함 |
지원되는 앱
1000개 이상의 통합 제공:
- 이메일: Gmail, Outlook, SendGrid
- 채팅: Slack, Discord, Teams, Telegram
- 개발: GitHub, GitLab, Jira, Linear
- 문서: Notion, Google Docs, Confluence
- 데이터: Sheets, Airtable, PostgreSQL
- CRM: HubSpot, Salesforce, Pipedrive
- 스토리지: Drive, Dropbox, S3
- 소셜: Twitter, LinkedIn, Reddit
설정
1. Composio CLI 설치
curl -fsSL https://composio.dev/install | bash
2. 로그인
composio login
composio whoami
브라우저가 열리면서 인증이 진행되고 기본 조직과 프로젝트를 선택할 수 있습니다. 자동화된 흐름에서는 -y를 사용하여 프롬프트를 건너뛸 수 있습니다.
3. 필요한 툴킷 연결
composio link github
composio link gmail
composio link slack
각 명령어는 OAuth를 한 번 처리하며, 연결은 지속됩니다.
완료되었습니다. 이제 Codex는 셸에서 연결된 모든 앱을 제어할 수 있습니다.
핵심 워크플로
- 도구 슬러그를 알고 있다면? →
composio execute - 슬러그를 모른다면? →
composio search - 입력값에 대해 확인이 필요하다면? →
composio execute --get-schema또는--dry-run - 툴킷이 연결되지 않았다면? →
composio link <toolkit>실행 후 재시도 - 여러 단계가 필요하다면? → 워크플로는
composio run, 원시 API 호출은composio proxy
예제
도구 검색
composio search "create a github issue"
composio search "send an email" --toolkits gmail
호출 전 입력값 확인
composio tools info GITHUB_CREATE_ISSUE
composio execute GITHUB_CREATE_ISSUE --get-schema
composio execute GITHUB_CREATE_ISSUE --dry-run -d '{"owner":"acme","repo":"app","title":"Bug"}'
이메일 보내기
composio execute GMAIL_SEND_EMAIL -d '{
"recipient_email": "[email protected]",
"subject": "Shipped!",
"body": "v2.0 is live, let me know if issues"
}'
GitHub 이슈 생성
composio execute GITHUB_CREATE_ISSUE -d '{
"owner": "my-org",
"repo": "repo",
"title": "Mobile timeout bug",
"labels": ["bug"]
}'
Slack에 게시
composio execute SLACK_SEND_MESSAGE -d '{
"channel": "engineering",
"text": "Deploy complete - v2.4.0 live"
}'
병렬 실행
composio execute --parallel \
GMAIL_FETCH_EMAILS -d '{"max_results": 2}' \
GITHUB_GET_THE_AUTHENTICATED_USER -d '{}'
composio run으로 액션 체이닝
composio run '
const issues = await search("github issues labeled bug this week");
const summary = issues.map(i => `- ${i.title}`).join("\n");
await execute("SLACK_SEND_MESSAGE", {
channel: "bugs",
text: `This week’s bugs:\n${summary}`
});
'
파일에서 재사용 가능한 워크플로 로드:
composio run --file ./workflow.ts -- --repo composiohq/composio
원시 API 접근 (proxy)
전용 도구가 없을 때 인증된 API를 직접 호출:
composio proxy https://gmail.googleapis.com/gmail/v1/users/me/profile \
--toolkit gmail
composio proxy https://gmail.googleapis.com/gmail/v1/users/me/drafts \
--toolkit gmail -X POST -H 'content-type: application/json' \
-d '{"message":{"raw":"..."}}'
작동 방식
- 요청 – Codex에게 작업을 요청합니다.
- 슬러그 선택 – Codex가
composio search나 사전 지식을 통해 슬러그를 선택합니다. - 연결 확인 – CLI가 연결 상태를 확인하고, 누락된 경우
composio link를 안내합니다. - 실행 – 실제 API에 대해 액션이 실행되고 JSON이 stdout으로 반환됩니다.
설정
전역 플래그:
--log-level <all|trace|debug|info|warning|error|fatal|none>--help– 명령어별 도움말
환경 변수:
COMPOSIO_API_KEY– 인증 자격 증명 (비대화형 사용 시 설정)COMPOSIO_BASE_URL– 사용자 정의 API 엔드포인트COMPOSIO_SESSION_DIR– 아티팩트 저장 위치 재정의COMPOSIO_DISABLE_TELEMETRY=true– 원격 측정 수집 거부
타입 안전 SDK (선택 사항)
셸 대신 앱에서 도구를 호출하려는 경우 타입이 지정된 클라이언트 코드를 생성합니다:
composio generate ts # TypeScript 타입
composio generate py # Python 타입
플래그: -o <dir>, --toolkits <list>, --compact, --transpiled, --type-tools.
문제 해결
Not logged in→composio login실행Connection required for <toolkit>→composio link <toolkit>실행- 알 수 없는 슬러그 →
composio search "<원하는 내용>"또는composio tools list <toolkit> - 잘못된 입력 →
composio execute <SLUG> --get-schema후--dry-run - 액션 실패 → 대상 앱에서 권한 확인
전체 참조: docs.composio.dev/docs/cli