Skip to Content
AI 직원외부 서비스 연결하기

외부 서비스 연결하기

AI 직원이 내 GitHub 저장소를 읽거나 Notion 페이지에 쓰려면 그 서비스의 로그인 정보가 필요합니다. UpServe는 이를 한 번만 연결해두면 되도록 설계되어 있습니다. 이후에 동일한 서비스를 쓰는 업무 스킬을 설치할 때마다 다시 로그인할 필요가 없고, 직원이 작업할 때마다 연결 정보가 자동으로 전달됩니다.

이런 외부 연결은 스킬 탭의 서비스 연결(바로가기 ) 서브탭 한 곳에서 관리합니다. 웹·iOS·Android 모두 같은 구성입니다. 서비스를 카테고리별로 모아 보여주고, 카드를 클릭하면 그 서비스의 연결·해제·조직 지정을 한 화면에서 처리할 수 있습니다.

한눈에 보기

궁금한 점답
어떤 서비스를 연결할 수 있나요?로그인 한 번으로 붙는 GitHub, Linear, Notion, Slack, Google Drive, Google Calendar, Google Tasks, Threads, Instagram, YouTube 10종과, 카테고리별로 정리된 Asana·ClickUp·HubSpot·Stripe·Figma·Canva 등 더 많은 서비스(아래 ‘더 많은 서비스 연결하기’ 참고)
Threads·Instagram은 아무나 연결할 수 있나요?아직은 아닙니다. 두 서비스 모두 외부 플랫폼(Meta)의 심사가 끝나지 않아, 카드에 준비 중 배지가 붙고 연결 버튼이 보이지 않습니다. UpServe가 미리 등록해 둔 테스트 계정에서만 실제로 연결이 됩니다. 심사가 끝나면 배지가 사라지고 배포 없이 바로 열립니다. 이미 연결해 둔 사용자의 연결은 그대로 동작합니다.
카드에 준비 중 배지가 붙어 있어요 / 연결 버튼 자체가 안 보여요두 가지 경우가 있습니다. (1) 카드에 준비 중 배지가 붙어 있으면, 그 서비스가 아직 외부 플랫폼의 심사를 통과하지 못해 연결이 막혀 있다는 뜻입니다(위 Threads·Instagram 항목 참고). 심사가 끝나면 자동으로 풀립니다. (2) 카드 자체가 목록에 아예 없다면 이 환경에 아직 준비되지 않은 연동입니다. 두 경우 모두 이미 연결해 둔 사용자에게는 계속 정상적으로 보이고, 준비가 끝나면 자동으로 열리므로 별도로 할 일은 없습니다.
카드에 승인 대기 중 배지가 붙고 연결 버튼이 사라졌어요연결을 시도했는데 그 서비스가 아직 내 연결을 승인하지 않아 거절된 경우입니다. 가운데 안내 창에서 알려 드린 뒤, 카드와 상세 화면에 승인 대기 중 배지가 붙고 연결 버튼이 사라집니다. 같은 버튼을 계속 눌러도 풀리지 않기 때문입니다. 24시간이 지나면 자동으로 풀려 다시 연결해 볼 수 있고, 그 사이 다른 사람이 연결에 성공하면 바로 풀립니다. 직원도 이 서비스에 대해 연결 카드를 다시 내밀지 않습니다. 자세한 내용은 아래 ‘연결 진입점이 보이지 않거나 막혀 있는 경우’를 참고하세요.
Slack은 연결하면 뭐가 되나요?다른 연동과 달리 Slack에서 UpServe 쪽으로도 이어집니다. 채널에서 @UpServe로 직원을 부르고 승인까지 스레드에서 처리할 수 있습니다. 연결한 뒤 채널에 봇을 초대해야 동작하므로 Slack에서 직원 부르기를 함께 읽어주세요.
어디서 연결하나요?가장 빠른 길은 스킬 탭의 서비스 연결  서브탭입니다. 카드를 클릭하면 연결·해제를 바로 할 수 있습니다. 그 밖에 (B) 내 서재에 설치한 스킬 카드의 연결 필요 표시, (C) 직원 설정 화면의 스킬 선택기에서 스킬을 켠 뒤 나타나는 연결 행의 연결 버튼, (D) 작업 도중 직원이 대화창에 띄우는 연결 카드로도 똑같이 연결됩니다. 자세한 내용은 아래 ‘연결하는 방법’을 참고하세요.
연결되면 뭐가 달라지나요?그 서비스를 쓰는 스킬이 실행될 때 연결 정보가 자동으로 주입됩니다. 매번 로그인하지 않아도 됩니다.
연결을 해제하려면?서비스 연결 화면 에서 서비스 카드를 클릭하면 상세 패널에 연결 해제 버튼이 있습니다. 해당 서비스를 쓰는 스킬이 내 서재에 설치되어 있다면 그 스킬 카드에서도 해제할 수 있습니다.
서비스당 몇 개 계정을 연결할 수 있나요?서비스당 1개 계정만 연결할 수 있습니다. 다른 계정으로 바꾸려면 기존 연결을 해제하고 새 계정으로 다시 연결하세요.
내 연결 정보를 다른 사람도 쓸 수 있나요?나 혼자 쓰는 직원이라면 아니요. 연결 정보는 본인 계정에서만 사용되며, 다른 사용자·다른 팀과 공유되지 않습니다. 다만 조직이 함께 쓰는 직원에서 내 연결을 그 조직의 계정으로 직접 지정했다면, 그 뒤로는 다른 구성원이 그 직원과 대화하거나 그 직원이 자동으로 실행될 때도 내가 지정한 계정이 쓰입니다. 자세한 내용은 아래 ‘조직이 함께 쓰는 직원의 외부 서비스 계정’을 참고하세요.
조직이 함께 쓰는 직원은 어느 계정을 쓰나요?기본은 조직 소유자(OWNER)가 지정해 둔 계정입니다. 누가 말을 걸었는지, 예약 실행인지와 무관하게 항상 같은 계정입니다. 다만 소유자가 특정 서비스에 대해 “일반 구성원도 지정 가능”을 켜 두면, 아직 아무도 쓰지 않는 자리에 한해 일반 구성원도 자기 계정을 지정할 수 있습니다. 자세한 내용은 아래 ‘조직이 함께 쓰는 직원의 외부 서비스 계정’을 참고하세요.
조직이 함께 쓰는 직원에게 저장한 키를 다른 구성원도 볼 수 있나요?이름과 용도만 보입니다. 값(실제 키)은 어떤 화면에서도 다시 표시되지 않으며, 삭제는 조직 소유자만 할 수 있습니다. 나 혼자 쓰는 직원에게 저장한 키는 다른 사용자에게 전혀 보이지 않습니다. 자세한 내용은 아래 ‘저장된 키’ 섹션을 참고하세요.
토큰이 만료되면?UpServe가 자동으로 갱신합니다. 외부 서비스에서 권한을 거둬간 경우, 또는 연결은 살아 있지만 스킬에 새로 필요해진 권한이 기존 연결에 빠져 있는 경우에 재연결 안내가 표시됩니다.
직원이 승인 없이 외부 API를 호출할 때도 있나요?있습니다. 저장된 연결 정보로 외부 서비스에 직접 요청을 보내야 하면 승인 카드가 한 번 뜨고, 승인하면 이후 같은 범위 안에서는 다시 묻지 않습니다. 무엇을 승인했는지 확인하거나 취소하려면 서비스 연결 화면  하단의 고급 영역에 있는 직원 직접 접근 승인 목록을 보세요.
이메일로 알림을 받으려면?직원 메일(Agent Mail)의 Agent Email 스킬을 사용합니다. 개인 직원의 소유자는 먼저 설정 → 프로필 에서 이메일을 인증하세요. 개인 직원은 인증된 소유자와 개별 허용한 주소로 보낼 수 있고, 외부 발송이 허용된 조직 직원은 외부 수신자에게도 보낼 수 있습니다. 수신자 정책과 발송 승인 규칙이 적용됩니다.
Gmail로 메일을 보낼 수 있나요?내 Gmail·Google Workspace 메일함 연동은 아직 제공하지 않습니다. CASA 인증 후 정식 연동할 예정입니다. 현재 메일 업무는 UpServe가 제공하는 직원 주소의 **직원 메일(Agent Mail)**을 이용하세요. 메일과 Gmail 연결 안내를 참고하세요.
GitHub·Notion 말고 다른 서비스도 연결할 수 있나요?네. Stripe·Figma·Canva 같은 서비스도 같은 서비스 연결  화면의 카테고리 목록에서 고르기만 하면 연결됩니다. 자세한 내용은 아래 ‘더 많은 서비스 연결하기’를 참고하세요.
설치하기 전에도 어떤 연동이 필요한지 알 수 있나요?네. 공식 스킬 화면의 스킬 카드·상세 화면에 설치 전에도 연동 필요: 서비스명 배지가 보이고, 클릭하면 바로 서비스 연결 화면의 해당 서비스로 이동합니다.
Linear 이슈를 직원에게 위임하려면?개인 계정 연결과는 별개로, 조직 소유자가 Linear 워크스페이스에 UpServe 앱을 설치하고 팀마다 담당 직원을 지정해 두면 그 팀의 이슈가 위임될 때 지정된 직원이 자동으로 받습니다. 담당을 지정하지 않은 팀은 직원이 한 명뿐이면 그 직원에게 가고, 여럿이면 어느 직원인지 이름으로 지목해 달라는 안내가 옵니다. Linear에서 이슈를 위임할 때 직원 이름을 함께 적으면 그 직원이 바로 받습니다.

연결하는 방법

연결 진입점은 네 곳입니다. 어느 쪽을 사용해도 동일하게 연결됩니다.

경로 A: 서비스 연결 화면에서 연결 (가장 빠른 길)

  1. 스킬 탭 → 서비스 연결 서브탭(바로가기 )으로 이동합니다. 서비스가 문서·프로젝트·커뮤니케이션 같은 카테고리별로 카드로 모여 있습니다.
  2. 연결하려는 서비스 카드를 클릭하면 오른쪽에 상세 패널이 열립니다.
  3. 패널의 연결 버튼을 누르면 외부 서비스의 로그인 창이 열립니다. 권한을 검토하고 승인하면 UpServe로 돌아옵니다.
  4. 패널에 연결된 계정 이름이 표시되면 완료입니다. 같은 패널에서 조직 지정(아래 ‘조직이 함께 쓰는 직원의 외부 서비스 계정’ 참고), 관련 스킬 설치 여부, 그 서비스를 다른 방식으로 붙이는 대안(외부 도구 연결(MCP))까지 한 번에 볼 수 있습니다.

서비스 연결 화면. 외부 서비스가 '문서·지식', '커뮤니케이션·캘린더' 같은 카테고리별 카드로 모여 있고, 카드마다 연결 상태 배지와 연결 방식(계정 로그인·MCP·자체 키) 표시가 붙어 있다

[1] 스킬 탭 → 서비스 연결 서브탭 │ ▼ [2] 카드 클릭 → 상세 패널 열림 │ ▼ [3] “연결” 클릭 → 외부 서비스 로그인 + 권한 승인 (그 서비스의 공식 화면) │ ▼ [4] UpServe로 자동 복귀 패널에 연결된 계정 이름이 표시됨

경로 B: 설치한 스킬 카드에서 연결

  1. 스킬 탭 → 내 서재 로 이동하면, GitHub·Notion처럼 연결이 필요한 스킬을 이미 설치했을 경우 그 카드에 연결 필요 표시가 보입니다.
  2. 그 표시를 클릭하면 경로 A와 동일한 로그인·승인 화면이 열립니다.
  3. 카드에 연결된 계정 이름이 표시되면 완료입니다.

경로 C: 직원 설정에서 연결

스킬을 직원에게 직접 장착하면서 바로 연결할 수 있습니다.

  1. 직원 페이지 → 설정 탭 → 스킬 선택기 를 엽니다.
  2. 연결이 필요한 스킬의 토글을 ON으로 켭니다.
  3. 스킬 카드 아래에 계정 연결 행이 나타납니다. 버튼 상태는 다음과 같습니다.
    • 연결: 아직 연결되지 않은 상태. 클릭하면 외부 서비스 로그인 창이 열립니다.
    • 연결 중...: 리디렉션 진행 중.
    • 다시 연결: 이미 연결되어 있거나 재인증이 필요한 상태. 클릭하면 다시 권한 승인 창이 열립니다.
    • [서비스명] 연결됨: 정상 연결 완료.
  4. 연결 을 눌러 외부 서비스의 권한을 승인하면 해당 스킬이 즉시 연결 정보를 사용할 수 있게 됩니다.

[1] 직원 설정 → 스킬 선택기 │ ▼ [2] 스킬 토글 ON │ ▼ [3] 계정 연결 행 표시: “연결” 버튼 클릭 │ ▼ [4] 외부 서비스 로그인 + 권한 승인 │ ▼ [5] 자동 복귀: 연결 행에 “[서비스명] 연결됨” 표시

경로 D: 대화 중 연결 카드로 연결

가장 흔한 방법입니다. 직원이 아직 연결되지 않은 서비스를 써야 하는 작업을 만나면, 대화창에 바로 연결 카드를 띄웁니다.

  1. 작업 도중 직원이 채팅에 [서비스명] 연결 버튼이 있는 카드를 보여줍니다.
  2. 그 버튼을 누르면 외부 서비스의 로그인 창이 열립니다(다른 경로와 동일한 권한 승인 흐름).
  3. 권한을 승인하고 돌아오면 직원이 중단했던 작업을 이어서 진행합니다.

[1] 직원이 연결되지 않은 서비스를 필요로 함 │ ▼ [2] 대화창에 “[서비스명] 연결” 카드 표시 │ ▼ [3] 버튼 클릭 → 외부 서비스 로그인 + 권한 승인 │ ▼ [4] 자동 복귀: 직원이 작업을 이어서 진행

스킬이 요구하는 것이 아래 ‘더 많은 서비스 연결하기’에서 설명하는 외부 도구 연결(MCP) 서버라면 버튼을 눌렀을 때의 동작이 조금 다릅니다. 이미 다른 곳에서 등록해 둔 서버라면 확인 창 한 번으로 바로 이 직원에게 연결되어 외부 로그인 화면을 거치지 않고, 아직 등록 전인 서버라면 버튼이 서비스 연결 화면의 해당 서비스로 곧장 이동시켜 그곳에서 등록을 마치면 됩니다. 이 카드는 웹, iOS, Android에서 모두 뜹니다. 서비스 연결 화면으로 이동해 등록을 마친 경우에도 카드를 띄운 그 직원에게 자동으로 연결되므로, 직원 설정에 다시 가서 켤 필요가 없습니다(자동으로 붙지 않았다면 직원 설정의 외부 도구 연결(MCP) 에서 켜세요).

설치 전에도 공식 스킬 화면의 스킬 카드·상세 화면에 연동 필요: 서비스명 배지가 보이므로, 설치하기 전에 미리 서비스 연결 화면에서 연결해 둘 수 있습니다.

한 번 연결해 두면 같은 서비스를 쓰는 다른 스킬에도 동일한 연결 정보가 그대로 적용됩니다. 예를 들어 GitHub을 한 번 연결하면, 나중에 GitHub을 쓰는 다른 스킬을 설치하거나 켤 때 다시 연결할 필요가 없습니다.

이메일 알림 인증

GitHub·Notion 같은 외부 서비스뿐 아니라, 직원이 나에게 이메일로 보고서나 알림을 보내려면(Agent Email 스킬) 먼저 내 이메일 주소를 인증해야 합니다. 이 인증은 위의 서비스 연결 화면이 아니라 설정 → 프로필  에서 이뤄집니다. (A) 프로필 화면 상단의 이메일 카드에서 6자리 인증 코드를 받아 입력, (B) 직원 설정의 스킬 선택기에서 Agent Email 스킬을 켜면 나타나는 ‘이메일 인증 필요’ 행의 인증 버튼, (C) 직원이 이 스킬을 쓰려는 순간 대화창에 뜨는 인증 카드. 한 번 인증해두면 그 이후로는 다시 인증할 필요가 없으며, 직원은 인증된 그 주소로만 메일을 보낼 수 있습니다(제3자에게는 보낼 수 없음). 단, 엔터프라이즈(운영 대행 계약) 조직에 소속된 직원은 이 제한이 풀려 조직을 대신해 외부 수신자(고객·거래처 등)에게도 메일을 보낼 수 있습니다. 이때도 직원이 먼저 메일을 보낸 상대의 답장만 직원을 깨우며, 모르는 발신자의 메일은 저장만 되고 직원을 실행시키지 않습니다.

연결되면 무엇이 달라지나

  • 직원이 그 서비스를 사용하는 스킬을 실행하면, UpServe가 유효한 액세스 토큰을 자동으로 가져와 스킬에 전달합니다.
  • 토큰은 스킬 실행이 끝날 때 정리됩니다. 다음 실행 시점에 다시 가져옵니다.
  • 토큰 갱신은 스킬이 실제로 실행되기 직전에 일어나므로, 작업 도중 끊기는 일이 거의 없습니다.
  • 다음 두 경우에 스킬 카드에 재연결 필요 안내가 표시됩니다. (1) 외부 서비스에서 권한을 직접 취소하거나 비밀번호 변경 등으로 토큰이 무효화된 경우, (2) 연결은 그대로 살아 있지만 스킬에 새로 추가된 기능이 요구하는 권한이 기존 연결에 빠져 있는 경우(예: 나중에 추가된 기능을 쓰려면 한 번 더 승인이 필요한 경우). 두 경우 모두 안내를 클릭하면 다시 권한 승인 창이 열립니다.

조직이 함께 쓰는 직원의 외부 서비스 계정

직원을 혼자가 아니라 조직(회사·팀) 이 함께 쓰는 경우, 그 직원이 Notion·Slack·GitHub 같은 외부 서비스에 접속할 때 어느 계정을 쓸지는 조직 소유자(OWNER)가 미리 정해 둡니다. 지금 누가 그 직원에게 말을 걸었는지, 예약된 시간에 혼자 움직인 건지와 상관없이 항상 같은 계정을 씁니다. 낮에 구성원이 채팅할 때와 밤에 예약 실행이 돌 때 서로 다른 계정을 보는 일이 없도록 하기 위해서입니다.

  • 조직 소유자(OWNER) 는 서비스 연결 화면에서 서비스 카드를 열면 나오는 조직 연결 섹션에서, 서비스별로 지금 어떤 계정이 지정되어 있는지 확인하고 본인의 연결을 그 조직의 계정으로 지정하거나 지정을 해제할 수 있습니다. 지정하려면 먼저 본인 계정으로 그 서비스에 연결되어 있어야 합니다. OWNER는 언제나 지정·교체·해제가 가능합니다.
  • 일반 구성원(MEMBER)도 특정 서비스에 한해 자기 계정을 지정할 수 있습니다. 소유자가 같은 섹션의 “일반 구성원도 자기 계정을 지정할 수 있게 허용” 스위치를 그 서비스에 대해 켜면, 아직 아무도 쓰지 않는 빈 자리에 한해 일반 구성원이 직접 자기 계정을 조직 계정으로 지정할 수 있습니다. 스위치를 켜는 순간 일반 구성원 전원에게 알림이 가서 누가 먼저 나설지 알 수 있습니다.
    • 이미 다른 사람의 계정이 지정된 서비스는 일반 구성원이 덮어쓸 수 없습니다. 먼저 지정한 사람의 자리를 빼앗는 일이 없도록, 빈 자리만 채울 수 있습니다. 계정을 바꾸려면 소유자에게 요청하세요.
    • 자기 계정을 지정한 일반 구성원은 소유자와 마찬가지로 그 지정을 스스로 해제할 수 있습니다. 다른 사람이 지정한 계정은 해제할 수 없습니다.
    • 스위치를 꺼도 이미 지정되어 있는 일반 구성원의 계정은 그대로 유지됩니다. 예고 없이 조직 직원이 그 서비스를 잃지 않도록, 끄기는 앞으로의 새 지정만 막습니다.
  • 스위치가 열려 있지 않은 서비스에서는 일반 구성원이 지정 현황을 볼 수는 있지만, 바꾸거나 해제할 수는 없습니다.
  • 아직 지정이 없는 서비스는 본인 계정을 연결해도 바뀌지 않습니다. 지정은 위 규칙에 따라 소유자 또는 허용된 일반 구성원만 할 수 있는 별도의 절차라서, 아무나 자기 계정을 연결한다고 조직 직원이 쓰는 계정으로 자동으로 이어지지 않습니다. 이 경우 직원이 “소유자가 계정을 지정해야 합니다”라고 안내하며, 지정될 때까지 그 서비스를 쓰는 작업은 기다립니다.
  • 이 섹션은 조직에 속한 사용자에게만 보입니다. 나 혼자 쓰는 직원에게는 이 지정 절차가 필요 없습니다. 본인이 연결한 계정을 그대로 씁니다.

참고: 이 지정은 “어느 계정으로 접속할지”를 정하는 것이며, 아래 ‘저장된 키’ 섹션에서 다루는 API 키·토큰 저장과는 별개의 기능입니다.

연결 해제 / 재인증

연결 해제는 서비스 연결 화면에서 서비스 카드를 클릭하면 열리는 상세 패널의 연결 해제 버튼으로 할 수 있습니다. 해당 서비스를 쓰는 스킬을 설치했는지 여부와 무관하게 항상 사용할 수 있는 경로입니다.

해당 서비스를 쓰는 스킬이 내 서재에 설치되어 있다면, 그 스킬 카드에도 연결된 계정 이름과 함께 연결 해제 버튼이 표시되어 같은 자리에서 바로 해제할 수 있습니다.

직원 설정의 스킬 선택기 계정 연결 행에는 다시 연결(재인증) 버튼만 있습니다. 이 버튼은 해제가 아니라 새로운 권한 승인 창을 여는 동작이며, 여기서는 연결을 해제할 수 없습니다.

해제 후 해당 서비스를 쓰는 스킬은 다음 실행에서 다시 연결을 요구합니다. 다른 계정으로 갈아끼우고 싶을 때는 한 번 해제하고 새 계정으로 연결하면 됩니다.

주의: 연결을 해제하면 내 모든 직원에게서 해당 서비스 기능이 동작하지 않게 됩니다. 나 혼자 쓰는 직원뿐이라면 다른 사용자에게는 영향이 없습니다. 하지만 이 연결이 위 ‘조직이 함께 쓰는 직원의 외부 서비스 계정’에서 지정한 계정이었다면, 해제하는 순간 그 조직의 직원도 이 서비스를 쓸 수 없게 됩니다. 다른 구성원의 대화도, 예약된 자동 실행도 함께 멈춥니다. 해제 화면에서 어느 조직이 이 계정을 쓰고 있는지 함께 안내하며, 조직 소유자에게는 알림이 갑니다.

되돌리려면: 14일 안에 같은 계정으로 다시 연결하면 지정이 자동으로 복구됩니다. 계정을 바꿔 연결하거나 14일이 지난 뒤에 연결하면 복구되지 않으며, 이때는 지정 권한이 있는 사람(소유자 또는 해당 서비스가 열려 있으면 일반 구성원 본인)이 새 계정을 지정해야 합니다. (재인증을 위해 잠깐 해제했다 다시 연결하는 경우를 위한 장치입니다.)

더 많은 서비스 연결하기

위에서 다룬 GitHub·Linear·Notion·Slack 같은 서비스는 로그인 한 번으로 붙는 계정으로 연결(계정 로그인) 방식과, 같은 서비스를 다른 접속 방식으로 붙이는 외부 도구 연결(MCP) 방식을 모두 지원합니다. MCP(Model Context Protocol)는 외부 서비스의 기능을 AI 직원이 표준 방식으로 불러 쓰는 연결 규격입니다. 서비스 연결 화면에서 그 서비스 카드를 열면 두 방식이 함께 보이고, 계정으로 연결이 마찰이 적어 기본으로 추천됩니다. Google Calendar·Drive·Tasks처럼 로그인 방식만 있는 서비스도 있고, Asana·ClickUp(프로젝트 관리), Atlassian(문서·지식), HubSpot·Stripe(영업·결제), Canva·Figma·Higgsfield·OpusClip·VEED(디자인·영상 제작), Webflow(웹사이트 관리), Calendly(일정 관리) 등 외부 도구 연결(MCP)로만 붙는 서비스도 있습니다. 같은 서비스라도 계정으로 연결한 것과 외부 도구 연결(MCP)로 연결한 것은 서로 다른 연결로 취급되며, 각각 따로 연결해야 합니다.

  • 어디서: 서비스 연결 화면 에서 카테고리별로 정리된 카드 중 원하는 서비스를 고르면 됩니다. 서비스의 접속 주소를 직접 찾아 입력할 필요는 없습니다. 목록에 없는 서비스는 화면 하단 고급 영역의 + 카탈로그 밖 서버 직접 등록 버튼으로 주소를 직접 넣어 연결할 수 있습니다. 이 직접 등록 화면은 웹·iOS·Android 3플랫폼 모두에서 같은 방식으로 쓸 수 있습니다.
  • 연결 완료까지: 목록에서 고른 서비스는 대부분 로그인 방식이라, 고르는 즉시 그 서비스의 로그인 화면으로 이동해 권한을 승인하면 연결이 끝납니다(직접 입력한 서버가 API 키 방식이면, 키를 넣고 연결 테스트로 실제 쓸 수 있는 기능을 미리 확인한 뒤에만 등록할 수 있습니다).
  • 직원에게서 쓰려면: 서버를 등록해도 자동으로 모든 직원이 쓰게 되지는 않습니다. 직원 페이지 → 설정 탭 → 외부 도구 연결(MCP) 섹션에서 이 직원에게 연결할 서버를 하나씩 켜야 합니다. 웹뿐 아니라 iOS·Android 앱의 직원 설정에도 같은 섹션이 있어, 앱에서도 서버 켜기·기능별 켬끔·승인 방식 선택을 그대로 할 수 있습니다(새 서버 등록은 세 플랫폼 모두 서비스 연결 화면에서 합니다). 사용법은 도구 부여하기를 참고하세요.

이 연결을 조직과 공유하기

소속된 조직이 있다면, 외부 도구 연결(MCP) 서버를 등록할 때 이 연결의 소유 를 나 개인 또는 조직 중에서 고를 수 있습니다. 조직을 고르면 토큰이 한 벌만 저장되고 그 조직에 속한 누구나 함께 쓰고 재인증할 수 있는 조직 공유 연결이 됩니다. 등록한 사람이 나중에 조직을 나가거나 탈퇴해도 연결은 사라지지 않고 계속 동작합니다.

이미 나 개인으로 등록해 둔 연결도 나중에 조직으로 옮길 수 있습니다. 서버 카드의 조직에 공유 버튼을 눌러 대상 조직을 고르면 됩니다.

  • 내가 직접 등록한 개인 연결만 옮길 수 있고, 이미 조직 소유인 연결은 다시 옮길 수 없습니다.
  • 한 번 조직으로 옮기면 되돌릴 수 없습니다. 개인 소유로 되돌리려면 조직 연결을 삭제하고 개인 계정으로 새로 등록해야 합니다.
  • 옮기려는 조직에 같은 주소의 연결이 이미 있거나 이름·식별자가 겹치면 옮길 수 없다는 안내가 뜹니다. 식별자가 겹치는 경우는 이름을 바꿔도 소용없으니, 조직 공간에 새로 등록해 주세요.
  • 이 연결을 쓰고 있는 다른 개인 직원이나 다른 조직의 직원이 남아 있으면, 먼저 그 직원에게서 연결을 끊어야 옮길 수 있습니다.

조직 공유 연결은 카드에 조직 이름이 표시되며, 그 조직에 속한 사람이라면 누구나(소유자가 아니어도) 서버 켜기·기능 목록 갱신·삭제까지 할 수 있습니다.

도구 호출을 매번 승인받을지 정하기

직원 설정의 외부 도구 연결(MCP) 섹션에서 서버를 펼치면, 그 서버가 제공하는 기능별 켬/끔과 함께 이 서버의 승인 방식 을 세 가지 중 하나로 고를 수 있습니다.

  • 매번 확인 (기본값): 이 서버의 어떤 기능을 쓰든 매번 승인 카드가 뜨고, 사용자가 승인해야 실행됩니다.
  • 조회 도구만 자동 승인: 읽기만 하는 작업은 승인 카드 없이 바로 실행되고, 데이터를 바꾸는 작업은 여전히 실행 전에 물어봅니다. 이 서버가 조회 전용으로 표시해 둔 기능이 하나도 없으면 이 선택지는 고를 수 없습니다. 고를 수 있는 기능 개수가 선택지 이름 옆에 함께 표시됩니다.
  • 이 서버 도구 전부 자동 승인: 승인 카드 없이 모든 기능이 바로 실행됩니다. 다만 그 호출이 위 ‘저장된 키’ 섹션의 연결 정보를 함께 써야 하면, 이 선택지를 골랐어도 그 연결 정보에 대한 승인은 별도로 진행됩니다.

기능뿐 아니라 참고 자료·미리 만든 질문도 함께 연결됨

서비스에 따라 바로 실행되는 기능(도구) 외에, 참고할 수 있는 자료(예: 문서·목록)나 미리 만든 질문 양식을 함께 제공하는 경우가 있습니다. 이런 항목이 있으면 외부 도구 연결(MCP) 섹션에 함께 표시되며, 기능과 마찬가지로 개별적으로 켜고 끌 수 있습니다.

등록한 서버 관리

카탈로그에 없는(직접 주소를 입력한) 서버는 서비스 연결 화면 하단의 고급 영역에서 관리합니다. 카탈로그에 있는 서비스(예: Notion·Asana)의 외부 도구 연결(MCP)은 그 서비스 카드의 상세 패널에서 바로 관리할 수 있습니다.

  • 각 서버의 연결 상태(정상 / 연결 안 됨 / 오류)와 마지막으로 기능 목록을 확인한 시각을 볼 수 있습니다. 오류 상태에는 원인이 함께 표시됩니다.
  • 도구 갱신을 누르면 그 서비스에 새로 생기거나 없어진 기능을 다시 확인합니다. 바뀐 내용이 있으면 무엇이 추가·삭제·변경됐는지 먼저 보여주고, 변경 적용을 눌러야 실제로 반영됩니다.
  • API 키로 연결한 서버는 토큰 교체로 키 값을 바꿀 수 있습니다.
  • 삭제를 누르면 이 서버 연결이 없어지고, 이 서버를 쓰던 모든 직원이 그 기능을 더 이상 쓸 수 없습니다.

API 키로 연결하는 스킬 (자동 설정 카드)

GitHub·Slack처럼 로그인 창을 여는 대신, 직접 발급받은 API 키를 입력해야 쓸 수 있는 스킬도 있습니다(예: 문자 발송 스킬의 API 키·시크릿·발신번호). 이런 스킬은 필요한 값이 아직 없으면, 직원이 그 스킬을 쓰려는 순간 대화창에 설정 카드가 자동으로 나타나 무엇을 어디서 발급받아 넣어야 하는지 안내합니다.

  1. 직원이 해당 스킬을 쓰려는 순간, 채팅에 ”○○ 설정” 카드가 표시됩니다.
  2. 카드에는 필요한 값마다 이름·간단한 설명과, 발급 페이지로 바로 가는 링크가 함께 나옵니다.
  3. 값을 저장할 직원을 고릅니다. 이미 이 연동을 쓰는 직원이 한 명뿐이면 자동으로 골라집니다. 아직 채용한 직원이 없다면 먼저 직원을 채용해야 이 단계로 넘어갈 수 있습니다.
  4. 링크에서 값을 발급받아 복사한 뒤, 카드의 입력란에 붙여넣고 저장을 누릅니다. 그 직원에게 이 연동에 필요한 스킬이 아직 없다면 저장하는 순간 자동으로 설치·장착까지 끝나므로, 미리 스킬을 설치해 둘 필요가 없습니다.
  5. 필요한 값을 모두 저장하면 그 스킬을 바로 쓸 수 있습니다. 일부 값만으로 동작하는 기능은 나머지가 남아 있어도 먼저 “사용 가능”으로 표시됩니다.
  6. 값 중에는 외부 서비스의 심사처럼 시간이 걸리는 절차가 포함될 수 있습니다. 이런 항목은 처리가 끝난 뒤 카드에서 완료했어요 를 눌러 표시하면 됩니다.

이 카드에 입력한 값도 아래 ‘저장된 키’와 동일하게 그 직원 전용으로 안전하게 보관되며, 서비스 연결 화면 에서 그 서비스 카드를 열어도 같은 폼으로 직원을 고르고 값을 입력·확인할 수 있습니다(서비스 연결 화면에서 시작해도 저장 시점에 똑같이 설치·장착이 자동으로 이뤄집니다).

저장된 키 (직접 저장하는 연결 정보)

GitHub·Notion처럼 미리 만들어진 연결이 없는 서비스라도, API 키나 토큰을 직접 저장해 두면 직원이 계속 재사용할 수 있습니다. 예를 들어 결제 서비스 API 키를 한 번 저장해 두면, 그 직원이 매번 다시 물어보지 않고 작업에 사용합니다.

  • 저장 방법 (대화 중): 웹에서는 채팅 입력창의 자물쇠 버튼을, 모바일 앱(iOS·Android)에서는 입력창의 + 버튼을 눌러 나오는 메뉴에서 보안 입력 을 선택해 값을 입력합니다. “이건 무엇에 쓰이나요?” 란에 짧은 설명(예: “Stripe 실전 API 키”)을 적어두면 됩니다. 설명을 적으면 기본적으로 저장되며, 이름은 그 설명을 바탕으로 UpServe가 자동으로 지어줍니다(예: STRIPE_LIVE_API_KEY). 저장하지 않고 이번 한 번만 쓰려면 “일회성 이용(저장 안 함)” 체크박스를 켜세요. 이름을 직접 정하거나 기존에 저장한 키를 덮어쓰고 싶다면 고급 을 펼쳐 원하는 방식을 고를 수 있습니다. 다른 연결 정보 추가 를 누르면 아이디·비밀번호처럼 함께 쓰이는 값을 한 화면에서 최대 10개까지 나눠 입력해 한 번에 보낼 수 있습니다. 항목마다 설명을 따로 붙여 각각 저장할 수 있습니다. 팀 채팅에서는 여러 직원이 함께 보는 자리라 연결 정보를 특정 직원에게 안전하게 전달할 수 없으므로, 모바일 앱의 + 메뉴에 보안 입력 항목 자체가 나타나지 않습니다. 저장이 필요하면 그 직원과 1:1로 대화하는 화면에서 입력하세요. 다만 직원이 팀 채팅에서 연결 정보를 묻는 질문 카드를 띄우면, 답할 권한이 있는 팀원은 카드의 보안 입력으로 답하기 버튼으로 그 직원에게 바로 값을 보낼 수 있습니다. 팀 채팅에서는 이렇게 보낸 값을 그 작업에만 쓰고, 저장한 키는 그 직원과의 1:1 대화에서 쓰입니다.
  • 저장 방법 (서비스 연결 화면에서 직접): 서비스 연결 화면  하단의 고급 영역에 있는 저장된 키 섹션에서 + 키 추가 버튼을 눌러 직원·이름·값을 직접 입력해 저장할 수도 있습니다.
  • 관리: 같은 섹션에서 직원별로 보고 삭제할 수 있습니다.
  • 직원 전용: 저장된 키는 그 직원만 실행에 사용합니다. 나 혼자 쓰는 직원이라면 다른 사용자에게 전혀 보이지 않습니다. 조직이 함께 쓰는 직원에게 저장한 키는 같은 조직 구성원도 이 목록에서 이름과 용도를 볼 수 있지만, 값은 어떤 화면에서도 보이지 않으며 삭제는 조직 소유자만 할 수 있습니다.
  • 다시 표시되지 않음: 저장한 값은 보안을 위해 다시 보여주지 않습니다. 바꾸려면 삭제하고 새로 저장하세요.
  • 자동 갱신 없음: 위의 계정으로 연결한 서비스와 달리, 직접 저장한 키는 자동으로 갱신되지 않습니다. 만료되면 직접 교체해야 합니다.
  • 자동으로 기억된 사용처: 어떤 도구가 이 키를 쓰도록 한 번 허용하면(직원이 승인 카드를 띄웠을 때 동의), UpServe가 그 조합을 기억해 이후 예약 실행 등 자동 실행에서 다시 묻지 않습니다. 기억된 사용처는 같은 섹션에 태그로 표시되며, 태그의 × 를 누르면 그 항목만 해제할 수 있습니다. 해제하면 다음에 그 키를 쓸 때 다시 승인을 요청합니다.
  • 값을 바꿀 때(덮어쓰기): 같은 이름의 키에 새 값을 저장하면 확인 창이 뜨고, 위에서 기억해 둔 사용처(자동 승인 대상)를 그대로 유지할지 묻습니다. 기본은 해제입니다. 같은 이름이라도 다른 서비스의 값으로 바뀌었을 가능성이 있어, 이전 값이 받아 뒀던 자동 승인을 새 값에 그대로 물려주지 않기 위해서입니다. 같은 비밀을 그대로 갱신하는 경우라면 확인 창의 기존 승인 유지 체크박스를 켜면 됩니다.

직원 직접 접근 승인

직원이 저장된 연결 정보나 연결된 계정으로 외부 서비스에 직접 요청을 보내야 하는 경우가 있습니다(예: 특정 서비스의 API를 코드로 직접 호출). 이때도 직원이 실제 비밀번호나 토큰 값을 직접 보는 일은 없습니다. UpServe가 중간에서 안전하게 전달합니다.

  • 승인 카드: 직원이 이런 접근이 필요한 순간, 대화창에 승인 카드가 뜹니다. 어떤 연결 정보로 어떤 서비스에 어떤 요청을 보낼지 요약해 보여주고, 승인하면 이후 같은 범위 안에서는 다시 묻지 않고 자동으로 요청을 처리합니다.
  • 확인: 서비스 연결 화면  하단의 고급 영역에 있는 직원 직접 접근 승인 섹션에서 내가 볼 권한이 있는 승인 항목을 확인할 수 있습니다(한 번도 승인한 적이 없으면 이 섹션은 나타나지 않습니다). 각 항목에는 어떤 연결 정보를, 어떤 직원이, 어떤 주소·요청에 대해 쓸 수 있는지와 오늘 사용 횟수(한도가 있으면 한도 대비)가 함께 표시됩니다.
  • 해제: 각 항목의 해제 버튼을 누르면 즉시 그 접근이 차단됩니다. 다음에 같은 접근이 필요해지면 승인 카드가 다시 뜹니다.

주의: 해제는 그 항목 하나에만 적용됩니다. 같은 서비스에 대해 다른 연결 정보·다른 직원으로 승인한 다른 항목에는 영향을 주지 않습니다.

일회성 비밀 (저장하지 않는 값)

비밀번호·인증 코드처럼 쓰고 남기지 않을 값은, 위와 같은 방식(웹은 자물쇠 버튼, 모바일은 + 메뉴의 보안 입력)으로 보내되 저장 옵션을 끄면 됩니다. 입력한 평문 값은 저장되지 않으며, 암호화된 값은 잠시 후(최대 15분) 자동으로 삭제됩니다. 대화에는 라벨과 가려진 자리표시자만 남습니다. 이때도 다른 연결 정보 추가 로 아이디·비밀번호 같은 값을 최대 10개까지 함께 입력해 한 번에 보낼 수 있습니다.

보안

  • 사용자 단위 분리 (값 기준): 연결 정보의 값(비밀번호·토큰 자체)은 본인 계정에 묶여 저장되며, 다른 사용자나 같은 조직의 다른 구성원이 그 값을 가져갈 수 없습니다. 조직이 함께 쓰는 직원에게 저장한 키는 이름과 용도까지는 같은 조직 구성원에게 보일 수 있습니다. 값은 여전히 가려집니다. 자세한 내용은 위 ‘저장된 키’ 섹션을 참고하세요.
  • 저장된 키는 직원 단위 분리: 직접 저장한 키는 그 직원 전용으로 암호화 저장되며, 공유 링크로 들어온 외부 방문자에게는 절대 노출되지 않습니다.
  • 직원은 직접 토큰을 보지 않음: 토큰은 스킬 실행 환경에 환경변수로만 잠깐 전달되며, 실행이 끝나면 정리됩니다. 채팅 메시지나 로그에는 노출되지 않습니다. 직원 직접 접근 승인을 통한 요청은 이보다 더 엄격해서, 연결 정보가 직원의 실행 환경에 아예 들어가지 않고 UpServe 서버가 요청에 대신 실어 보냅니다.
  • 암호화 저장: 액세스 토큰과 리프레시 토큰은 모두 암호화되어 데이터베이스에 저장됩니다.
  • 표준 계정 로그인 + CSRF 방지: 표준 Authorization Code 흐름을 사용하며 위조된 콜백은 거부됩니다.

대화에서 외부 도구 연결하기

웹 대화에 외부 도구 연결 카드가 나타나면 연결할 서비스를 확인하고 승인 방식을 고르세요. 매번 확인, 조회 기능만 자동 승인, 이 연결의 기능 전부 자동 승인 중 선택할 수 있습니다. 나중에 직원 설정에서 바꿀 수 있습니다.

직원 직접 접근 승인 목록에서 승인자 본인은 자신이 승인한 항목을 확인·해제할 수 있고, 공간 관리자는 그 공간 직원의 전체 항목을 관리할 수 있습니다.

연결에 실패했을 때

연결 도중 실패하면 어느 화면(채팅 카드, 직원 오피스 패널, 서비스 연결 화면)에서 시작했든 돌아온 자리에서 이유가 안내됩니다.

상황보이는 것
서비스가 아직 승인하지 않아 거절됨가운데 안내 창 “승인을 기다리는 중이에요”(확인을 눌러 닫기), 이후 승인 대기 중 배지
서비스의 동의 화면에서 내가 직접 취소함아무 안내도 없음(실패가 아니라 의도한 행동으로 봅니다)
그 밖의 실패”○○ 연결에 실패했어요” 같은 실패 안내(웹은 토스트, 모바일은 “잠시 후 다시 시도해 주세요” 문구 포함)

고급 (Advanced)

아래는 일반 사용자가 알 필요 없는 내부 동작입니다. 직접 스킬을 만들거나 통합 동작을 디버깅할 때 참고하세요.

어떤 권한을 요청하나

UpServe가 연결 시 사용자 관점에서 요청하는 권한은 대체로 다음 범위입니다(실제 화면은 각 서비스 정책에 따름).

서비스요청하는 권한 (사용자 관점 요약)
GitHub내 저장소(공개·비공개) 코드·이슈·PR 읽기·쓰기, 조직 멤버십·팀 정보 읽기, 프로필 정보 읽기
Linear내 워크스페이스의 이슈·프로젝트·코멘트 읽기 및 작성, 이슈 생성
NotionNotion 동의 화면에서 사용자가 직접 선택한 페이지·데이터베이스에만 접근 (읽기·쓰기). 어떤 페이지를 공유할지는 Notion 플랫폼이 결정하며, UpServe는 선택된 범위만 사용합니다.
Slack내 워크스페이스 공개 채널·프라이빗 채널·1:1 DM 메시지 읽기, 봇으로 메시지 전송, 사용자·팀 정보 읽기
Google Drive / Calendar / Tasks해당 서비스의 파일·일정·할 일 읽기 및 쓰기 (Google Drive는 Picker로 사용자가 직접 선택한 파일에만 접근)
Threads내 프로필 정보 읽기, 내 계정으로 게시물·답글·연속 스레드 발행, 게시물·계정 성과 지표 조회. 외부 서비스 심사가 아직 끝나지 않아 카드에 준비 중 배지가 붙고 연결 버튼이 보이지 않으며, UpServe가 등록해 둔 테스트 계정만 연결(로그인 동의 화면)을 통과합니다.
Instagram내 비즈니스·크리에이터 계정의 프로필·미디어 조회, 사진·릴스·캐러셀 게시, 댓글 조회·작성·답글·숨김·삭제, DM 조회와 답장(상대가 먼저 보낸 뒤 24시간 안). 예전에 연결했다면 DM을 쓰려면 한 번 다시 연결해야 합니다. Threads와 같은 이유로 심사가 끝나기 전에는 준비 중 배지가 붙고 테스트 계정만 연결됩니다.
YouTube내 채널 정보·영상·재생목록 읽기, 영상 업로드(기본 비공개)·수정·삭제, 댓글·답글 작성, 재생목록 관리. 영상·채널 검색과 자막 추출도 같은 연결을 씁니다. YouTube 기능은 계정을 연결해야 동작합니다.

권한 화면은 항상 외부 서비스의 공식 동의 화면이며, UpServe가 받은 권한 범위는 연결 정보에 그대로 기록됩니다.

조직 지정의 해석 순서

직원이 실행될 때마다 어느 계정을 쓸지는 다음 순서로 정해집니다.

  1. 그 조직이 해당 서비스에 지정해 둔 연결이 있으면 그 연결을 씁니다. 지정한 사람이 소유자든 허용된 일반 구성원이든 이 규칙은 같습니다.
  2. 지정이 없고 그 직원이 조직 없이 개인 소유(1인 계정)라면, 소유자 본인의 연결을 씁니다. 혼자 쓰는 경우 달라지는 것은 없습니다.
  3. 지정이 없고 여러 명이 함께 쓰는 조직 소속이라면, 어떤 계정도 쓰지 않습니다. 지금 대화 중인 사람의 개인 연결로 대신 동작하는 경우는 없습니다. 이 폴백이 바로 “구성원마다 다른 계정을 보던” 문제의 원인이었기 때문에 의도적으로 없앴습니다.

지정 자체를 관리(등록·교체·해제)하는 동작은 기본이 조직 소유자(OWNER)입니다. 소유자가 서비스별로 “일반 구성원도 지정 가능”을 켜 두면, 그 서비스의 빈 자리에 한해 일반 구성원도 자기 계정으로 등록할 수 있고, 자신이 등록한 지정은 스스로 해제할 수도 있습니다. 다만 이미 채워진 자리를 다른 구성원이 덮어쓰는 것은 언제나 막혀 있습니다. 열람(지금 어떤 계정이 지정돼 있는지 보기)은 구성원 전원에게 열려 있습니다. 이 정책 스위치 자체를 켜고 끄는 것은 소유자만 할 수 있습니다.

스킬이 연결 정보를 어떻게 받아 쓰나

스킬 실행에 필요한 연결 정보는 안전하게 전달됩니다. 비밀번호나 연결 정보를 일반 채팅에 붙여 넣지 말고 보안 입력을 사용하세요.

API 키 자동 설정 카드(연결 정보 직접 입력)가 동작하는 방식

스킬 정의가 setup.fields(사용자가 직접 입력하는 값)와 setup.external_steps(외부 심사 등 시간이 걸리는 절차)를 선언해두면, 직원이 그 스킬을 로드하려 할 때마다 아직 채워지지 않은 항목만 담아 설정 카드를 그립니다. 카드에 입력된 값은 위 ‘저장된 키’와 같은 저장소에 그 직원 전용으로 암호화 저장되고, 이후 값이 채워지면 해당 항목은 카드에서 완료로 표시됩니다. 스킬이 capabilities(값 묶음별 기능)를 선언한 경우, 그중 하나라도 필요한 값이 다 모이면 나머지가 남아 있어도 그 기능만 먼저 열립니다. 대화 중 자동으로 뜨는 이 인라인 카드는 현재 웹 앱에서만 렌더링되며, iOS·Android 앱에는 아직 구현되어 있지 않습니다. 다만 같은 값 입력 폼이 서비스 연결 화면의 연결 정보 직접 입력 섹션에는 웹·iOS·Android 3플랫폼 모두에 있으므로, 앱에서는 대화가 아니라 서비스 연결 화면으로 이동해 값을 채우면 됩니다.

서비스 연결 화면의 연결 정보 직접 입력 섹션은 그 연동의 스킬을 아직 장착한 직원이 0명이어도 폼을 그대로 보여줍니다(과거에는 공식 스킬 화면으로만 안내하고 폼을 숨겼습니다). 값을 저장하는 시점에 고른 직원에게 그 연동의 시스템 스킬을 자동으로 설치·장착한 뒤(멱등 처리: 이미 있으면 건너뜀) 값을 저장하며, 설치·장착이 실패하면 값도 저장되지 않습니다. 대상은 오직 이 카탈로그가 가리키는 시스템 스킬이며, 사용자가 임의의 스킬 id를 지정해 설치시킬 수 없습니다.

연결 진입점이 보이지 않거나 막혀 있는 경우

카드가 “열려 있지 않다”는 신호는 세 가지 서로 다른 상태를 가리킵니다. 판정은 연동 목록 화면과 실제 연결 시작(인가) 요청이 항상 같은 기준을 보므로, “화면에는 열려 있는데 눌러 보면 막힌다”가 생기지 않습니다.

  • 카드 자체가 목록에 없음: 계정 로그인 방식 연동은 UpServe 서버 쪽에 앱 자격증명(연결 설정)이 설정돼 있어야 실제로 연결이 성립합니다. 새 연동 코드가 배포된 뒤에도 이 자격증명은 별도로 설정되므로, 그 사이 잠깐 값이 비어 있을 수 있습니다. 이 경우 아직 아무도 연결하지 않은 상태라면 서비스 연결 화면에서 그 서비스의 카드 자체가 나타나지 않습니다. 눌러도 안 되는 연결 버튼을 보여주는 대신 아예 감추는 쪽을 택했습니다. 이미 연결에 성공한 사용자의 연결 행은 값이 비어 있더라도 계속 그대로 표시됩니다. 판정 자체가 실패하는 예외적인 경우에는 안전하게 “보이는 쪽”으로 처리합니다.

  • 카드는 보이지만 준비 중 배지가 붙고 연결 버튼이 없음: 자격증명은 설정돼 있지만, 그 서비스가 아직 외부 플랫폼(Meta·Google 등)의 앱 심사를 통과하지 못한 경우입니다. 이 상태는 곧 열릴 기능이라는 사실을 보여주기 위해 카드 자체는 목록에 남겨두되, 눌러도 실패할 연결 버튼 대신 준비 중 배지만 보여줍니다. 심사를 통과한 이후에는 배포 없이 배지가 바로 사라지고 정상적으로 연결할 수 있게 됩니다. 이미 연결에 성공한 사용자에게는 이 배지가 뜨지 않습니다. 심사 상태와 무관하게 기존 연결은 그대로 유지됩니다. 위 ‘한눈에 보기’의 Threads·Instagram 항목이 이 상태의 예시입니다.

  • 승인 대기 중 배지가 붙고 연결 버튼이 없음: 연결을 시도했는데 외부 서비스가 아직 내 연결을 승인하지 않아 거절된 경우입니다. 이 경우 연결 창에서 돌아오면 ”○○ 승인을 기다리는 중이에요” 라는 안내 창이 뜨고(웹·iOS·Android 공통, 확인을 눌러야 닫힙니다), 카드와 상세 화면에는 승인 대기 중 배지와 “승인이 끝나면 다시 연결할 수 있어요”라는 안내가 보입니다. 다음 조건이 모두 맞는 동안만 이 상태가 유지됩니다.

    • 최근 24시간 안에 내가 승인 거절을 받았고,
    • 그 뒤로 이 서비스를 연결에 성공한 사람이 없으며,
    • 나에게 이미 살아 있는 연결이 없을 때.

    24시간이 지나거나 누군가 연결에 성공하면 배지가 사라지고 다시 연결할 수 있습니다. 이 사이에 연결을 억지로 시도해도 “승인을 기다리는 중이라 지금은 연결할 수 없어요”라는 안내만 나옵니다. 직원도 이 서비스에는 연결 카드를 새로 내지 않고, 다시 연결해 달라고 부탁하지 않습니다. 이미 연결해 둔 서비스에는 이 배지가 붙지 않습니다.

Google Drive Picker

스킬이나 직원 동작에서 Google Drive 파일에 접근해야 할 때, UpServe는 Google Picker를 사용합니다. Google Picker는 사용자 본인의 Google 계정으로 브라우저 안에서 실행되는 파일 선택기입니다. 사용자가 Picker를 통해 직접 선택한 파일에만 접근할 수 있으며, Drive 전체에 대한 접근 권한은 요청하지 않습니다. 접근 범위는 사용자가 직접 고른 파일과 앱에서 만든 파일로 제한됩니다.

폴더를 골랐을 때 (정기 스캔이 안 되는 이유)

Picker에서는 파일뿐 아니라 폴더도 고를 수 있지만, 폴더를 고르면 그 폴더 자체만 열립니다. 안에 이미 들어 있는 파일도, 나중에 새로 넣는 파일도 함께 열리지 않습니다. 권한이 “고른 그 항목”에만 붙기 때문입니다.

주의할 점은 이때 구글이 “권한이 없다”고 알려주지 않는다는 것입니다. 폴더 안을 조회하면 오류 대신 파일 0개가 돌아와, 진짜 빈 폴더와 구분되지 않습니다.

그래서 폴더를 지정해 두고 새 파일이 들어오는지 주기적으로 확인하는 일은 Google Drive에서는 불가능합니다. 그렇게 예약하면 아무 파일도 찾지 못한 채 “새 파일 없음”으로 조용히 끝납니다. 직원이 이런 방식을 제안한다면 그것은 잘못된 안내입니다.

할 수 있는 것과 없는 것:

하고 싶은 일가능 여부
Picker로 고른 그 파일의 내용이 바뀌었는지 주기적으로 확인✅ 가능
폴더 안에 새로 생긴 파일을 자동으로 발견❌ 불가능. 새 파일마다 사람이 Picker로 다시 골라야 합니다
폴더를 통째로 작업 범위로 지정❌ 불가능

새 파일이 계속 들어오는 자료를 다뤄야 한다면, Drive 대신 Notion처럼 폴더·데이터베이스 단위로 접근이 열리는 서비스를 쓰는 편이 맞습니다.

토큰 만료와 자동 갱신

  • 액세스 토큰의 만료 시각이 임박하면(만료 5분 전), 스킬이 토큰을 요청하는 시점(스킬 실행 직전)에 저장된 리프레시 토큰으로 즉시 갱신합니다. 대부분의 서비스는 이 방식만으로 충분해 별도로 예약된 백그라운드 사전 갱신이 없습니다. 예외는 Threads·Instagram으로, 갱신 가능한 기간이 만료 전에 먼저 닫히는 서비스 특성 때문에 오래 쓰지 않은 연결도 UpServe가 주기적으로 미리 갱신해 둡니다.
  • 갱신은 스킬 실행 직전에 일어나므로, 작업 도중 끊김 없이 새 토큰이 적용됩니다.
  • 외부 서비스에서 사용자가 직접 권한을 취소하거나 리프레시 토큰이 폐기된 경우, 갱신이 실패하고 연결이 inactive 상태로 표시됩니다. 이때 카드에 재연결 필요가 떠서 사용자가 한 번 더 권한을 승인하도록 안내합니다.

대화 카드의 MCP 연결 버튼이 정하는 것

직원이 스킬 실행 중 아직 연결되지 않은 MCP 서버를 발견하면 카드에 연결 버튼을 붙여 보여줍니다. 어떤 서버로 연결되는지, 버튼을 눌렀을 때 무엇이 실행되는지는 항상 서버가 판정합니다. 직원이 스스로 지목한 서버 이름·주소가 검증 없이 그대로 쓰이지 않습니다.

  • 버튼에 실리는 서버는 이 사용자(또는 조직) 소유이면서 활성 상태이고 재인증이 필요 없는 서버로 한정됩니다. 설정 화면(외부 도구 연결(MCP) 섹션)에 뜨는 연결 후보와 같은 기준입니다.
  • 같은 주소로 이미 등록해 둔 서버가 있으면(다른 직원에게 연결해 둔 경우 포함) 그 서버로 바로 연결하는 버튼을 보여주고, 없으면 등록 화면으로 이동하는 버튼을 보여줍니다.
  • 등록 화면으로 이동하는 버튼은 카드를 띄운 직원을 함께 싣습니다. 그 자리에서 등록이 끝나면(로그인 방식 서버는 로그인이 끝나는 시점) 서버가 그 직원에게 붙입니다. 붙일 권한은 서버가 다시 판정하며, 권한이 없으면 등록만 되고 붙지 않습니다. 붙이기에 실패해도 등록 자체는 실패하지 않습니다.
  • 버튼 라벨(서버 이름)은 항상 서버가 채웁니다. 직원이 직접 쓴 라벨은 무시되며, 이름이 너무 길면 잘립니다.
  • 한 카드에 담기는 이동 버튼은 최대 3개입니다.
  • 조회에 실패하거나 알 수 없는 서버를 가리키면 그 버튼만 조용히 빠지고 카드의 나머지 내용은 그대로 표시됩니다.

MCP 서버 등록 방식

목록의 항목이든 직접 입력한 주소든, 등록 시 동일한 검증(HTTPS 강제 등)을 거칩니다. 목록에 있다고 더 신뢰되는 주소로 취급되지 않습니다. UpServe는 원격 서버(HTTPS로 상시 접속 가능한 서버)만 지원합니다. 본인 컴퓨터에서만 실행되는 로컬 서버는 연결할 수 없습니다. 인증 방식은 인증 없음·API 키(Bearer)·커스텀 헤더·로그인(계정 로그인) 중 하나입니다.

조직을 소유 공간으로 골라 등록하거나 개인 연결을 조직으로 옮기면, 실제 연결 정보 보유 주체는 그 조직의 서비스 계정으로 바뀌고 등록한 사람의 등록자 정보는 “등록자”로만 별도 보존됩니다. 이 서비스 계정 축 안에서 이름·식별자 유일성이 정해지므로, 조직마다 같은 서비스를 한 대씩만 등록할 수 있습니다(개인 계정에서는 여러 대 등록이 가능한 것과 다른 점입니다). 조직 소유 연결에 대한 접근·삭제 판정은 그 조직에 속해 있는지만 보며, 소유자 여부는 보지 않습니다.

MCP 도구 목록은 등록·갱신 시점에 고정됨

서버를 등록하거나 도구 갱신을 적용하는 순간의 기능 목록이 그대로 저장되어 실행에 쓰입니다. 그 서비스가 나중에 기능 설명을 몰래 바꾸더라도 사용자가 다시 갱신을 확인·적용하기 전까지는 반영되지 않습니다. 등록 당시 검토한 내용과 실제 실행되는 내용이 항상 같도록 하기 위한 장치입니다.

보안 입력의 항목 수 제한

보안 입력(웹의 자물쇠 버튼 · 모바일의 + 메뉴 → 보안 입력)으로 여러 항목을 함께 보낼 때(저장하는 값이든 일회성 값이든), 한 번의 전송에 담을 수 있는 항목은 최대 10개입니다. 화면과 저장 처리 모두 같은 한도를 씁니다.

자동으로 기억된 사용처의 해제 단위

저장된 키 섹션의 “자동으로 기억된 사용처” 태그는 항목 하나만 지우는 요청으로 해제됩니다(목록 전체를 통째로 바꿔치기하지 않습니다). 여러 화면을 동시에 열어 두고 서로 다른 항목이 새로 기억되더라도 다른 화면의 해제 조작이 그 항목을 되살리지 않도록 하기 위한 설계입니다.

직원 직접 접근 승인의 범위

직원 직접 접근 승인은 최초 요청 시 사용자가 승인한 범위(대상 서비스 주소·요청 형식)에서만 유효합니다. 그 범위를 벗어나는 요청은 자동으로 거부되며, 직원이 새로운 범위가 필요하면 승인 카드를 다시 띄웁니다. 하루 호출 한도가 설정된 항목은 한도를 넘으면 그날은 더 이상 요청이 통과되지 않습니다.