---
title: Integração Google Docs
description: "Criação e edição de documentos com integração Google Docs para CrewAI."
icon: "file-lines"
mode: "wide"
---

## Visão Geral

Permita que seus agentes criem, editem e gerenciem documentos do Google Docs com manipulação de texto e formatação. Automatize a criação de documentos, insira e substitua texto, gerencie intervalos de conteúdo e simplifique seus fluxos de trabalho de documentos com automação alimentada por IA.

## Pré-requisitos

Antes de usar a integração Google Docs, certifique-se de ter:

- Uma conta [CrewAI AOP](https://app.crewai.com) com assinatura ativa
- Uma conta Google com acesso ao Google Docs
- Conectado sua conta Google através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)

## Configurando a Integração Google Docs

### 1. Conecte sua Conta Google

1. Navegue para [Integrações CrewAI AOP](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Google Docs** na seção de Integrações de Autenticação
3. Clique em **Conectar** e complete o fluxo OAuth
4. Conceda as permissões necessárias para acesso a documentos
5. Copie seu Token Enterprise das [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)

### 2. Instale o Pacote Necessário

```bash
uv add crewai-tools
```

### 3. Configuração de variável de ambiente

<Note>
  Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>

```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```

Ou adicione ao seu arquivo `.env`:

```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```

## Ações Disponíveis

<AccordionGroup>
  <Accordion title="google_docs/create_document">
    **Descrição:** Criar um novo documento do Google.

    **Parâmetros:**
    - `title` (string, opcional): O título para o novo documento.
  </Accordion>

  <Accordion title="google_docs/get_document">
    **Descrição:** Obter o conteúdo e metadados de um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a recuperar.
    - `includeTabsContent` (boolean, opcional): Se deve incluir conteúdo de abas. Padrão: false
    - `suggestionsViewMode` (string, opcional): O modo de visualização de sugestões a aplicar ao documento. Opções: DEFAULT_FOR_CURRENT_ACCESS, PREVIEW_SUGGESTIONS_ACCEPTED, PREVIEW_WITHOUT_SUGGESTIONS. Padrão: DEFAULT_FOR_CURRENT_ACCESS
  </Accordion>

  <Accordion title="google_docs/batch_update">
    **Descrição:** Aplicar uma ou mais atualizações a um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `requests` (array, obrigatório): Uma lista de atualizações a aplicar ao documento. Cada item é um objeto representando uma solicitação.
    - `writeControl` (object, opcional): Fornece controle sobre como as solicitações de escrita são executadas. Contém `requiredRevisionId` (string) e `targetRevisionId` (string).
  </Accordion>

  <Accordion title="google_docs/insert_text">
    **Descrição:** Inserir texto em um documento do Google em um local específico.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `text` (string, obrigatório): O texto a inserir.
    - `index` (integer, opcional): O índice baseado em zero onde inserir o texto. Padrão: 1
  </Accordion>

  <Accordion title="google_docs/replace_text">
    **Descrição:** Substituir todas as instâncias de texto em um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `containsText` (string, obrigatório): O texto a encontrar e substituir.
    - `replaceText` (string, obrigatório): O texto para substituir.
    - `matchCase` (boolean, opcional): Se a pesquisa deve respeitar maiúsculas e minúsculas. Padrão: false
  </Accordion>

  <Accordion title="google_docs/delete_content_range">
    **Descrição:** Excluir conteúdo de um intervalo específico em um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `startIndex` (integer, obrigatório): O índice inicial do intervalo a excluir.
    - `endIndex` (integer, obrigatório): O índice final do intervalo a excluir.
  </Accordion>

  <Accordion title="google_docs/insert_page_break">
    **Descrição:** Inserir uma quebra de página em um local específico em um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `index` (integer, opcional): O índice baseado em zero onde inserir a quebra de página. Padrão: 1
  </Accordion>

  <Accordion title="google_docs/create_named_range">
    **Descrição:** Criar um intervalo nomeado em um documento do Google.

    **Parâmetros:**
    - `documentId` (string, obrigatório): O ID do documento a atualizar.
    - `name` (string, obrigatório): O nome para o intervalo nomeado.
    - `startIndex` (integer, obrigatório): O índice inicial do intervalo.
    - `endIndex` (integer, obrigatório): O índice final do intervalo.
  </Accordion>
</AccordionGroup>

## Exemplos de Uso

### Configuração Básica do Agente Google Docs

```python
from crewai import Agent, Task, Crew

# Crie um agente com capacidades do Google Docs
docs_agent = Agent(
    role="Criador de Documentos",
    goal="Criar e gerenciar documentos do Google Docs de forma eficiente",
    backstory="Um assistente IA especializado em criação e edição de documentos do Google Docs.",
    apps=['google_docs']  # Todas as ações do Google Docs estarão disponíveis
)

# Tarefa para criar um novo documento
create_doc_task = Task(
    description="Criar um novo documento do Google intitulado 'Relatório de Status do Projeto'",
    agent=docs_agent,
    expected_output="Novo documento do Google 'Relatório de Status do Projeto' criado com sucesso"
)

# Execute a tarefa
crew = Crew(
    agents=[docs_agent],
    tasks=[create_doc_task]
)

crew.kickoff()
```

### Edição de Texto e Gerenciamento de Conteúdo

```python
from crewai import Agent, Task, Crew

# Crie um agente focado em edição de texto
text_editor = Agent(
    role="Editor de Documentos",
    goal="Editar e atualizar conteúdo em documentos do Google Docs",
    backstory="Um assistente IA habilidoso em edição precisa de texto e gerenciamento de conteúdo.",
    apps=['google_docs/insert_text', 'google_docs/replace_text', 'google_docs/delete_content_range']
)

# Tarefa para editar conteúdo do documento
edit_content_task = Task(
    description="No documento 'your_document_id', inserir o texto 'Resumo Executivo: ' no início, depois substituir todas as instâncias de 'TODO' por 'CONCLUÍDO'.",
    agent=text_editor,
    expected_output="Documento atualizado com novo texto inserido e itens TODO substituídos."
)

crew = Crew(
    agents=[text_editor],
    tasks=[edit_content_task]
)

crew.kickoff()
```

### Operações Avançadas de Documentos

```python
from crewai import Agent, Task, Crew

# Crie um agente para operações avançadas de documentos
document_formatter = Agent(
    role="Formatador de Documentos",
    goal="Aplicar formatação avançada e estrutura a documentos do Google",
    backstory="Um assistente IA que lida com formatação complexa de documentos e organização.",
    apps=['google_docs/batch_update', 'google_docs/insert_page_break', 'google_docs/create_named_range']
)

# Tarefa para formatar documento
format_doc_task = Task(
    description="No documento 'your_document_id', inserir uma quebra de página na posição 100, criar um intervalo nomeado chamado 'Introdução' para caracteres 1-50, e aplicar atualizações de formatação em lote.",
    agent=document_formatter,
    expected_output="Documento formatado com quebra de página, intervalo nomeado e estilo aplicado."
)

crew = Crew(
    agents=[document_formatter],
    tasks=[format_doc_task]
)

crew.kickoff()
```

## Solução de Problemas

### Problemas Comuns

**Erros de Autenticação**
- Certifique-se de que sua conta Google tenha as permissões necessárias para acesso ao Google Docs.
- Verifique se a conexão OAuth inclui todos os escopos necessários (`https://www.googleapis.com/auth/documents`).

**Problemas de ID do Documento**
- Verifique novamente os IDs dos documentos para correção.
- Certifique-se de que o documento existe e está acessível à sua conta.
- IDs de documentos podem ser encontrados na URL do Google Docs.

**Inserção de Texto e Operações de Intervalo**
- Ao usar `insert_text` ou `delete_content_range`, certifique-se de que as posições de índice sejam válidas.
- Lembre-se de que o Google Docs usa indexação baseada em zero.
- O documento deve ter conteúdo nas posições de índice especificadas.

**Formatação de Solicitação de Atualização em Lote**
- Ao usar `batch_update`, certifique-se de que o array `requests` esteja formatado corretamente de acordo com a documentação da API do Google Docs.
- Atualizações complexas requerem estruturas JSON específicas para cada tipo de solicitação.

**Operações de Substituição de Texto**
- Para `replace_text`, certifique-se de que o parâmetro `containsText` corresponda exatamente ao texto que você deseja substituir.
- Use o parâmetro `matchCase` para controlar a sensibilidade a maiúsculas e minúsculas.

### Obtendo Ajuda

<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
  Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Google Docs.
</Card>
