defineConnectionProvider({ type: 'oauth', ... })를 사용하는 앱은 마이그레이션이 필요하지 않습니다.
defineConnectionProvider
앱의 연결을 얻는 방법을 선언합니다
defineConnectionProvider
앱의 연결을 얻는 방법을 선언합니다
연결 제공자는 앱에 필요한 OAuth 핸드셰이크를 설명합니다. 사용자가 앱 설정에서 “연결 추가”를 클릭하고 제공자의 동의 화면을 완료하면, 워크스페이스에 핵심 요점:
ConnectedAccount 행이 생성됩니다.정상 동작하려면 두 개의 파일이 필요합니다 — 연결 제공자, 그리고 OAuth 클라이언트 자격 증명을 보유하는 defineApplication의 해당 serverVariables 선언.src/connection-providers/linear-connection.ts
src/application.config.ts
name은listConnections({ providerName })에서 사용하는 고유 식별자 문자열입니다(kebab-case,^[a-z][a-z0-9-]*$와 일치해야 함).displayName은 앱별 설정 탭과 AI 도구 목록에 표시됩니다.clientIdVariable/clientSecretVariable은 값이 아닌 이름이며,defineApplication.serverVariables에 선언된 키와 일치해야 합니다. 실제client_id와client_secret은 서버 관리자가 앱 등록 UI를 통해 입력하며, 저장소에 커밋되지 않습니다.serverVariables(applicationVariables아님)을 사용하세요 — OAuth 자격 증명은 서버 전체에 적용되며 Twenty 서버마다 하나의 OAuth 앱만 사용합니다.- 두
serverVariables가 모두 채워질 때까지, 앱별 설정 탭에는 “서버 관리자 필요” 힌트가 표시되고 “연결 추가” 버튼이 비활성화됩니다. type: 'oauth'는 현재 지원되는 유일한 값입니다. 구분자는 전방 호환됩니다: 향후 유형('pat','api-key', …)oauth와 함께 새로운 하위 구성 블록이 추가됩니다.
listConnections / getConnection
로직 함수에서 연결 사용
listConnections / getConnection
로직 함수에서 연결 사용
로직 함수 핸들러 내부에서 각 연결에는 다음이 포함됩니다:
핵심 요점:
listConnections({ providerName })는 지정된 제공자에 대한 이 앱의 ConnectedAccount 행을 갱신된 액세스 토큰과 함께 반환합니다.src/logic-functions/handlers/create-linear-issue-handler.ts
| 필드 | 설명 |
|---|---|
id | 고유한 행 ID; 단일 항목을 다시 가져오려면 getConnection(id)에 전달하세요. |
visibility | 'user'(한 워크스페이스 구성원에게만 비공개) 또는 'workspace'(모든 구성원과 공유) |
scopes | 상위 제공자가 부여한 OAuth 권한(visibility와는 구별됨 — 서로 관련 없음) |
userWorkspaceId | 소유자의 userWorkspace ID — HTTP 경로 트리거에서 “요청 사용자의 연결”을 선택할 때 유용합니다 |
accessToken | 최신 OAuth 액세스 토큰(만료 시 자동으로 갱신됨) |
name / handle | 연결의 표시 이름(OAuth 콜백 시 자동으로 결정되며, 사용자가 이름을 변경할 수 있음) |
authFailedAt | 가장 최근 갱신이 실패했을 때 설정됩니다; 사용자가 다시 연결해야 합니다 |
- 제공자별로 필터링하려면
{ providerName }를 전달하세요; 생략하면 이 앱이 모든 제공자에서 보유한 모든 연결을 가져옵니다. - 서버는 반환하기 전에 액세스 토큰을 투명하게 갱신합니다. 핸들러는 항상 사용 가능한 토큰(또는
authFailedAt이 설정된 상태)을 보게 됩니다. getConnection(id)는 단일 행 버전입니다.
사용자별 대 워크스페이스 공유 가시성
사용자가 비공개 자격 증명과 공유 자격 증명 사이를 선택하는 방법
사용자별 대 워크스페이스 공유 가시성
사용자가 비공개 자격 증명과 공유 자격 증명 사이를 선택하는 방법
일회성 제공자 설정
서드파티 서비스에 OAuth 앱을 등록하세요
일회성 제공자 설정
서드파티 서비스에 OAuth 앱을 등록하세요
각 연결 제공자마다 서버 관리자가 먼저 서드파티에 OAuth 앱을 등록해야 합니다.
- 제공자의 개발자 설정으로 이동하세요(예: https://linear.app/settings/api/applications/new).
- Redirect URI를
\<SERVER_URL>/auth/apps/callback으로 설정하세요. - 생성된 Client ID와 Client Secret을 복사하세요.
- 서버 관리자 권한으로 Twenty에서 설치된 앱을 열고 → 해당
serverVariables에 값을 설정하세요. - 그런 다음 워크스페이스 구성원은 앱별 연결 섹션에서 연결을 추가할 수 있습니다.