메인 콘텐츠로 건너뛰기

개요

에이전트가 텍스트 조작 및 서식을 사용하여 Google Docs 문서를 생성, 편집 및 관리할 수 있도록 합니다. AI 기반 자동화로 문서 생성을 자동화하고, 텍스트를 삽입 및 교체하고, 콘텐츠 범위를 관리하며, 문서 워크플로를 간소화합니다.

전제 조건

Google Docs 통합을 사용하기 전에 다음 사항을 확인하세요:
  • 활성 구독이 있는 CrewAI AMP 계정
  • Google Docs 액세스 권한이 있는 Google 계정
  • 통합 페이지를 통해 Google 계정 연결

Google Docs 통합 설정

1. Google 계정 연결

  1. CrewAI AMP 통합으로 이동
  2. 인증 통합 섹션에서 Google Docs 찾기
  3. 연결을 클릭하고 OAuth 플로우 완료
  4. 문서 액세스에 필요한 권한 부여
  5. 통합 설정에서 Enterprise Token 복사

2. 필요한 패키지 설치

uv add crewai-tools

3. 환경 변수 설정

Agent(apps=[])와 함께 통합을 사용하려면 Enterprise Token으로 CREWAI_PLATFORM_INTEGRATION_TOKEN 환경 변수를 설정해야 합니다.
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"
또는 .env 파일에 추가하세요:
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token

사용 가능한 작업

설명: 새 Google 문서를 만듭니다.매개변수:
  • title (string, 선택사항): 새 문서의 제목.
설명: Google 문서의 내용과 메타데이터를 가져옵니다.매개변수:
  • documentId (string, 필수): 검색할 문서의 ID.
  • includeTabsContent (boolean, 선택사항): 탭 내용을 포함할지 여부. 기본값: false
  • suggestionsViewMode (string, 선택사항): 문서에 적용할 제안 보기 모드. 옵션: DEFAULT_FOR_CURRENT_ACCESS, PREVIEW_SUGGESTIONS_ACCEPTED, PREVIEW_WITHOUT_SUGGESTIONS. 기본값: DEFAULT_FOR_CURRENT_ACCESS
설명: Google 문서에 하나 이상의 업데이트를 적용합니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • requests (array, 필수): 문서에 적용할 업데이트 목록. 각 항목은 요청을 나타내는 객체.
  • writeControl (object, 선택사항): 쓰기 요청이 실행되는 방식을 제어합니다. requiredRevisionId (string)와 targetRevisionId (string)를 포함.
설명: Google 문서의 특정 위치에 텍스트를 삽입합니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • text (string, 필수): 삽입할 텍스트.
  • index (integer, 선택사항): 텍스트를 삽입할 0 기반 인덱스. 기본값: 1
설명: Google 문서에서 텍스트의 모든 인스턴스를 교체합니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • containsText (string, 필수): 찾아서 교체할 텍스트.
  • replaceText (string, 필수): 교체할 텍스트.
  • matchCase (boolean, 선택사항): 검색이 대소문자를 구분할지 여부. 기본값: false
설명: Google 문서의 특정 범위에서 내용을 삭제합니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • startIndex (integer, 필수): 삭제할 범위의 시작 인덱스.
  • endIndex (integer, 필수): 삭제할 범위의 끝 인덱스.
설명: Google 문서의 특정 위치에 페이지 나누기를 삽입합니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • index (integer, 선택사항): 페이지 나누기를 삽입할 0 기반 인덱스. 기본값: 1
설명: Google 문서에 명명된 범위를 만듭니다.매개변수:
  • documentId (string, 필수): 업데이트할 문서의 ID.
  • name (string, 필수): 명명된 범위의 이름.
  • startIndex (integer, 필수): 범위의 시작 인덱스.
  • endIndex (integer, 필수): 범위의 끝 인덱스.
설명: 내용이 포함된 새 Google 문서를 한 번에 만듭니다.매개변수:
  • title (string, 필수): 새 문서의 제목. 문서 상단과 Google Drive에 표시됩니다.
  • content (string, 선택사항): 문서에 삽입할 텍스트 내용. 새 단락에는 \n을 사용하세요.
설명: Google 문서의 끝에 텍스트를 추가합니다. 인덱스를 지정할 필요 없이 자동으로 문서 끝에 삽입됩니다.매개변수:
  • documentId (string, 필수): create_document 응답 또는 URL에서 가져온 문서 ID.
  • text (string, 필수): 문서 끝에 추가할 텍스트. 새 단락에는 \n을 사용하세요.
설명: Google 문서에서 텍스트를 굵게 만들거나 굵게 서식을 제거합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • bold (boolean, 필수): 굵게 만들려면 true, 굵게를 제거하려면 false로 설정.
설명: Google 문서에서 텍스트를 기울임꼴로 만들거나 기울임꼴 서식을 제거합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • italic (boolean, 필수): 기울임꼴로 만들려면 true, 기울임꼴을 제거하려면 false로 설정.
설명: Google 문서에서 텍스트에 밑줄 서식을 추가하거나 제거합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • underline (boolean, 필수): 밑줄을 추가하려면 true, 밑줄을 제거하려면 false로 설정.
설명: Google 문서에서 텍스트에 취소선 서식을 추가하거나 제거합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • strikethrough (boolean, 필수): 취소선을 추가하려면 true, 제거하려면 false로 설정.
설명: Google 문서에서 텍스트의 글꼴 크기를 변경합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • fontSize (number, 필수): 포인트 단위의 글꼴 크기. 일반적인 크기: 10, 11, 12, 14, 16, 18, 24, 36.
설명: Google 문서에서 RGB 값(0-1 스케일)을 사용하여 텍스트 색상을 변경합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 서식을 지정할 텍스트의 시작 위치.
  • endIndex (integer, 필수): 서식을 지정할 텍스트의 끝 위치 (배타적).
  • red (number, 필수): 빨강 구성 요소 (0-1). 예: 1은 완전한 빨강.
  • green (number, 필수): 초록 구성 요소 (0-1). 예: 0.5는 절반 초록.
  • blue (number, 필수): 파랑 구성 요소 (0-1). 예: 0은 파랑 없음.
설명: Google 문서에서 텍스트 범위에 제목 또는 단락 스타일을 적용합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 스타일을 적용할 단락의 시작 위치.
  • endIndex (integer, 필수): 스타일을 적용할 단락의 끝 위치.
  • style (string, 필수): 적용할 스타일. 옵션: NORMAL_TEXT, TITLE, SUBTITLE, HEADING_1, HEADING_2, HEADING_3, HEADING_4, HEADING_5, HEADING_6.
설명: Google 문서에서 단락의 텍스트 정렬을 설정합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 정렬할 단락의 시작 위치.
  • endIndex (integer, 필수): 정렬할 단락의 끝 위치.
  • alignment (string, 필수): 텍스트 정렬. 옵션: START (왼쪽), CENTER, END (오른쪽), JUSTIFIED.
설명: Google 문서에서 단락의 줄 간격을 설정합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 단락의 시작 위치.
  • endIndex (integer, 필수): 단락의 끝 위치.
  • lineSpacing (number, 필수): 백분율로 나타낸 줄 간격. 100 = 단일, 115 = 1.15배, 150 = 1.5배, 200 = 이중.
설명: Google 문서에서 단락을 글머리 기호 또는 번호 매기기 목록으로 변환합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 목록으로 변환할 단락의 시작 위치.
  • endIndex (integer, 필수): 목록으로 변환할 단락의 끝 위치.
  • bulletPreset (string, 필수): 글머리 기호/번호 매기기 스타일. 옵션: BULLET_DISC_CIRCLE_SQUARE, BULLET_DIAMONDX_ARROW3D_SQUARE, BULLET_CHECKBOX, BULLET_ARROW_DIAMOND_DISC, BULLET_STAR_CIRCLE_SQUARE, NUMBERED_DECIMAL_ALPHA_ROMAN, NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS, NUMBERED_DECIMAL_NESTED, NUMBERED_UPPERALPHA_ALPHA_ROMAN, NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL.
설명: Google 문서에서 단락의 글머리 기호 또는 번호 매기기를 제거합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • startIndex (integer, 필수): 목록 단락의 시작 위치.
  • endIndex (integer, 필수): 목록 단락의 끝 위치.
설명: Google 문서에 내용이 포함된 표를 한 번에 삽입합니다. 내용은 2D 배열로 제공하세요.매개변수:
  • documentId (string, 필수): 문서 ID.
  • rows (integer, 필수): 표의 행 수.
  • columns (integer, 필수): 표의 열 수.
  • index (integer, 선택사항): 표를 삽입할 위치. 제공하지 않으면 문서 끝에 삽입됩니다.
  • content (array, 필수): 2D 배열로 된 표 내용. 각 내부 배열은 행입니다. 예: [["Year", "Revenue"], ["2023", "$43B"], ["2024", "$45B"]].
설명: 기존 표의 참조 셀 위 또는 아래에 새 행을 삽입합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스. get_document에서 가져오세요.
  • rowIndex (integer, 필수): 참조 셀의 행 인덱스 (0 기반).
  • columnIndex (integer, 선택사항): 참조 셀의 열 인덱스 (0 기반). 기본값: 0.
  • insertBelow (boolean, 선택사항): true이면 참조 행 아래에, false이면 위에 삽입. 기본값: true.
설명: 기존 표의 참조 셀 왼쪽 또는 오른쪽에 새 열을 삽입합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스.
  • rowIndex (integer, 선택사항): 참조 셀의 행 인덱스 (0 기반). 기본값: 0.
  • columnIndex (integer, 필수): 참조 셀의 열 인덱스 (0 기반).
  • insertRight (boolean, 선택사항): true이면 오른쪽에, false이면 왼쪽에 삽입. 기본값: true.
설명: Google 문서의 기존 표에서 행을 삭제합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스.
  • rowIndex (integer, 필수): 삭제할 행 인덱스 (0 기반).
  • columnIndex (integer, 선택사항): 행의 아무 셀의 열 인덱스 (0 기반). 기본값: 0.
설명: Google 문서의 기존 표에서 열을 삭제합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스.
  • rowIndex (integer, 선택사항): 열의 아무 셀의 행 인덱스 (0 기반). 기본값: 0.
  • columnIndex (integer, 필수): 삭제할 열 인덱스 (0 기반).
설명: 표 셀 범위를 단일 셀로 병합합니다. 모든 셀의 내용이 보존됩니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스.
  • rowIndex (integer, 필수): 병합의 시작 행 인덱스 (0 기반).
  • columnIndex (integer, 필수): 병합의 시작 열 인덱스 (0 기반).
  • rowSpan (integer, 필수): 병합할 행 수.
  • columnSpan (integer, 필수): 병합할 열 수.
설명: 이전에 병합된 표 셀을 개별 셀로 분리합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • tableStartIndex (integer, 필수): 표의 시작 인덱스.
  • rowIndex (integer, 필수): 병합된 셀의 행 인덱스 (0 기반).
  • columnIndex (integer, 필수): 병합된 셀의 열 인덱스 (0 기반).
  • rowSpan (integer, 필수): 병합된 셀이 차지하는 행 수.
  • columnSpan (integer, 필수): 병합된 셀이 차지하는 열 수.
설명: 공개 URL에서 Google 문서에 이미지를 삽입합니다. 이미지는 공개적으로 접근 가능해야 하고, 50MB 미만이며, PNG/JPEG/GIF 형식이어야 합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • uri (string, 필수): 이미지의 공개 URL. 인증 없이 접근 가능해야 합니다.
  • index (integer, 선택사항): 이미지를 삽입할 위치. 제공하지 않으면 문서 끝에 삽입됩니다. 기본값: 1.
설명: 서로 다른 서식을 가진 문서 섹션을 만들기 위해 섹션 나누기를 삽입합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • index (integer, 필수): 섹션 나누기를 삽입할 위치.
  • sectionType (string, 필수): 섹션 나누기의 유형. 옵션: CONTINUOUS (같은 페이지에 유지), NEXT_PAGE (새 페이지 시작).
설명: 문서의 머리글을 만듭니다. insert_text를 사용하여 머리글 내용을 추가할 수 있는 headerId를 반환합니다.매개변수:
  • documentId (string, 필수): 문서 ID.
  • type (string, 선택사항): 머리글 유형. 옵션: DEFAULT. 기본값: DEFAULT.
설명: 문서에서 머리글을 삭제합니다. headerId를 찾으려면 get_document를 사용하세요.매개변수:
  • documentId (string, 필수): 문서 ID.
  • headerId (string, 필수): 삭제할 머리글 ID. get_document 응답에서 가져오세요.

사용 예제

기본 Google Docs 에이전트 설정

from crewai import Agent, Task, Crew

# Google Docs 기능을 가진 에이전트 생성
docs_agent = Agent(
    role="문서 작성자",
    goal="Google Docs 문서를 효율적으로 생성하고 관리",
    backstory="Google Docs 문서 생성 및 편집 전문 AI 어시스턴트.",
    apps=['google_docs']  # 모든 Google Docs 작업을 사용할 수 있습니다
)

# 새 문서 생성 작업
create_doc_task = Task(
    description="'프로젝트 상태 보고서'라는 제목으로 새 Google 문서를 만드세요",
    agent=docs_agent,
    expected_output="새 Google 문서 '프로젝트 상태 보고서'가 성공적으로 생성됨"
)

# 작업 실행
crew = Crew(
    agents=[docs_agent],
    tasks=[create_doc_task]
)

crew.kickoff()

문제 해결

일반적인 문제

인증 오류
  • Google 계정이 Google Docs 액세스에 필요한 권한을 가지고 있는지 확인하세요.
  • OAuth 연결이 필요한 모든 범위(https://www.googleapis.com/auth/documents)를 포함하는지 확인하세요.
문서 ID 문제
  • 문서 ID가 올바른지 다시 확인하세요.
  • 문서가 존재하고 계정에서 액세스할 수 있는지 확인하세요.

도움 받기

도움이 필요하신가요?

Google Docs 통합 설정 또는 문제 해결에 대한 지원이 필요하시면 지원팀에 문의하세요.