mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-01 07:13:00 +00:00
Add pt-BR docs translation (#3039)
* docs: add pt-br translations Powered by a CrewAI Flow https://github.com/danielfsbarreto/docs_translator * Update mcp/overview.mdx brazilian docs Its en-US counterpart was updated after I did a pass, so now it includes the new section about @CrewBase
This commit is contained in:
253
docs/pt-BR/enterprise/integrations/asana.mdx
Normal file
253
docs/pt-BR/enterprise/integrations/asana.mdx
Normal file
@@ -0,0 +1,253 @@
|
||||
---
|
||||
title: Integração com Asana
|
||||
description: "Coordenação de tarefas e projetos em equipe com a integração Asana para CrewAI."
|
||||
icon: "circle"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem tarefas, projetos e a coordenação da equipe através do Asana. Crie tarefas, atualize o status de projetos, gerencie atribuições e otimize o fluxo de trabalho da sua equipe com automação baseada em IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Asana, assegure-se de ter:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Asana com as permissões apropriadas
|
||||
- Sua conta Asana conectada através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração Asana
|
||||
|
||||
### 1. Conecte sua Conta Asana
|
||||
|
||||
1. Acesse [CrewAI Enterprise Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Asana** na seção Integrações de Autenticação
|
||||
3. Clique em **Conectar** e complete o fluxo OAuth
|
||||
4. Conceda as permissões necessárias para gerenciamento de tarefas e projetos
|
||||
5. Copie seu Token Enterprise em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="ASANA_CREATE_COMMENT">
|
||||
**Descrição:** Cria um comentário no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `task` (string, obrigatório): ID da Tarefa - O ID da tarefa à qual o comentário será adicionado. O comentário será escrito pelo usuário atualmente autenticado.
|
||||
- `text` (string, obrigatório): Texto (exemplo: "Este é um comentário.").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_CREATE_PROJECT">
|
||||
**Descrição:** Cria um projeto no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, obrigatório): Nome (exemplo: "Itens para comprar").
|
||||
- `workspace` (string, obrigatório): Área de trabalho - Use as Configurações de Fluxo do Portal Connect para permitir que usuários escolham em qual área de trabalho criar projetos. Por padrão, será usada a primeira área de trabalho do usuário se deixado em branco.
|
||||
- `team` (string, opcional): Equipe - Use as Configurações de Fluxo do Portal Connect para permitir que usuários escolham com qual equipe compartilhar o projeto. Por padrão, será usada a primeira equipe do usuário se deixado em branco.
|
||||
- `notes` (string, opcional): Notas (exemplo: "Esses são itens que precisamos comprar.").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_PROJECTS">
|
||||
**Descrição:** Obtém uma lista de projetos do Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `archived` (string, opcional): Arquivado - Escolha "true" para mostrar projetos arquivados, "false" para exibir apenas projetos ativos ou "default" para mostrar ambos.
|
||||
- Opções: `default`, `true`, `false`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_PROJECT_BY_ID">
|
||||
**Descrição:** Obtém um projeto pelo ID no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `projectFilterId` (string, obrigatório): ID do Projeto.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_CREATE_TASK">
|
||||
**Descrição:** Cria uma tarefa no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, obrigatório): Nome (exemplo: "Nome da tarefa").
|
||||
- `workspace` (string, opcional): Área de trabalho - Use as Configurações de Fluxo do Portal Connect para permitir que usuários escolham em qual área de trabalho criar tarefas. Por padrão, será usada a primeira área de trabalho do usuário se deixado em branco.
|
||||
- `project` (string, opcional): Projeto - Use as Configurações de Fluxo do Portal Connect para permitir que usuários escolham em qual projeto criar a tarefa.
|
||||
- `notes` (string, opcional): Notas.
|
||||
- `dueOnDate` (string, opcional): Data de Vencimento - A data em que esta tarefa deve ser concluída. Não pode ser usada em conjunto com Due At. (exemplo: "YYYY-MM-DD").
|
||||
- `dueAtDate` (string, opcional): Vence Em - A data e hora (timestamp ISO) em que esta tarefa deve ser concluída. Não pode ser usada em conjunto com Due On. (exemplo: "2019-09-15T02:06:58.147Z").
|
||||
- `assignee` (string, opcional): Responsável - O ID do usuário Asana a quem esta tarefa será atribuída. Use as Configurações de Fluxo do Portal Connect para permitir que usuários selecionem um responsável.
|
||||
- `gid` (string, opcional): ID Externo - Um ID da sua aplicação para associar esta tarefa. Você pode usar este ID para sincronizar atualizações com esta tarefa posteriormente.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_UPDATE_TASK">
|
||||
**Descrição:** Atualiza uma tarefa no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `taskId` (string, obrigatório): ID da Tarefa - O ID da tarefa a ser atualizada.
|
||||
- `completeStatus` (string, opcional): Status de Conclusão.
|
||||
- Opções: `true`, `false`
|
||||
- `name` (string, opcional): Nome (exemplo: "Nome da Tarefa").
|
||||
- `notes` (string, opcional): Notas.
|
||||
- `dueOnDate` (string, opcional): Data de Vencimento - A data em que esta tarefa deve ser concluída. Não pode ser usada junto com Due At. (exemplo: "YYYY-MM-DD").
|
||||
- `dueAtDate` (string, opcional): Vence Em - A data e hora (timestamp ISO) em que esta tarefa deve ser concluída. Não pode ser usada junto com Due On. (exemplo: "2019-09-15T02:06:58.147Z").
|
||||
- `assignee` (string, opcional): Responsável - O ID do usuário Asana a quem esta tarefa será atribuída. Use as Configurações de Fluxo do Portal Connect para permitir que usuários selecionem o responsável.
|
||||
- `gid` (string, opcional): ID Externo - Um ID da sua aplicação para associar a tarefa. Você pode usar este ID para sincronizar atualizações posteriormente.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_TASKS">
|
||||
**Descrição:** Obtém uma lista de tarefas no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `workspace` (string, opcional): Área de trabalho - O ID da área de trabalho para filtrar tarefas. Use as Configurações de Fluxo do Portal Connect para permitir que usuários selecionem uma área de trabalho.
|
||||
- `project` (string, opcional): Projeto - O ID do projeto para filtrar as tarefas. Use as Configurações de Fluxo do Portal Connect para permitir que usuários selecionem um projeto.
|
||||
- `assignee` (string, opcional): Responsável - O ID do responsável para filtrar tarefas. Use as Configurações de Fluxo do Portal Connect para permitir que usuários selecionem um responsável.
|
||||
- `completedSince` (string, opcional): Concluída desde - Retorna apenas tarefas que estejam incompletas ou que tenham sido concluídas desde este horário (timestamp ISO ou Unix). (exemplo: "2014-04-25T16:15:47-04:00").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_TASKS_BY_ID">
|
||||
**Descrição:** Obtém uma lista de tarefas pelo ID no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `taskId` (string, obrigatório): ID da Tarefa.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_TASK_BY_EXTERNAL_ID">
|
||||
**Descrição:** Obtém uma tarefa pelo ID externo no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `gid` (string, obrigatório): ID Externo - O ID que esta tarefa está associada ou sincronizada, de sua aplicação.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_ADD_TASK_TO_SECTION">
|
||||
**Descrição:** Adiciona uma tarefa a uma seção no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `sectionId` (string, obrigatório): ID da Seção - O ID da seção à qual a tarefa será adicionada.
|
||||
- `taskId` (string, obrigatório): ID da Tarefa - O ID da tarefa. (exemplo: "1204619611402340").
|
||||
- `beforeTaskId` (string, opcional): Antes da Tarefa - O ID de uma tarefa nesta seção antes da qual esta tarefa será inserida. Não pode ser usada junto com After Task ID. (exemplo: "1204619611402340").
|
||||
- `afterTaskId` (string, opcional): Após a Tarefa - O ID de uma tarefa nesta seção após a qual esta tarefa será inserida. Não pode ser usada junto com Before Task ID. (exemplo: "1204619611402340").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_TEAMS">
|
||||
**Descrição:** Obtém uma lista de equipes no Asana.
|
||||
|
||||
**Parâmetros:**
|
||||
- `workspace` (string, obrigatório): Área de trabalho - Retorna as equipes nesta área de trabalho visíveis para o usuário autorizado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ASANA_GET_WORKSPACES">
|
||||
**Descrição:** Obtém uma lista de áreas de trabalho do Asana.
|
||||
|
||||
**Parâmetros:** Nenhum obrigatório.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente Asana
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Asana tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Asana capabilities
|
||||
asana_agent = Agent(
|
||||
role="Project Manager",
|
||||
goal="Manage tasks and projects in Asana efficiently",
|
||||
backstory="An AI assistant specialized in project management and task coordination.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new project
|
||||
create_project_task = Task(
|
||||
description="Create a new project called 'Q1 Marketing Campaign' in the Marketing workspace",
|
||||
agent=asana_agent,
|
||||
expected_output="Confirmation that the project was created successfully with project ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[asana_agent],
|
||||
tasks=[create_project_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Asana
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Asana tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["asana_create_task", "asana_update_task", "asana_get_tasks"]
|
||||
)
|
||||
|
||||
task_manager_agent = Agent(
|
||||
role="Task Manager",
|
||||
goal="Create and manage tasks efficiently",
|
||||
backstory="An AI assistant that focuses on task creation and management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to create and assign a task
|
||||
task_management = Task(
|
||||
description="Create a task called 'Review quarterly reports' and assign it to the appropriate team member",
|
||||
agent=task_manager_agent,
|
||||
expected_output="Task created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_manager_agent],
|
||||
tasks=[task_management]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento Avançado de Projetos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Coordinate project activities and track progress",
|
||||
backstory="An experienced project coordinator who ensures projects run smoothly.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple Asana operations
|
||||
coordination_task = Task(
|
||||
description="""
|
||||
1. Get all active projects in the workspace
|
||||
2. For each project, get the list of incomplete tasks
|
||||
3. Create a summary report task in the 'Management Reports' project
|
||||
4. Add comments to overdue tasks to request status updates
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Summary report created and status update requests sent for overdue tasks"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[coordination_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
268
docs/pt-BR/enterprise/integrations/box.mdx
Normal file
268
docs/pt-BR/enterprise/integrations/box.mdx
Normal file
@@ -0,0 +1,268 @@
|
||||
---
|
||||
title: Integração com Box
|
||||
description: "Armazenamento de arquivos e gerenciamento de documentos com a integração do Box para CrewAI."
|
||||
icon: "box"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem arquivos, pastas e documentos através do Box. Faça upload de arquivos, organize estruturas de pastas, pesquise conteúdos e otimize o gerenciamento de documentos da sua equipe com automação alimentada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o Box, assegure-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Box com as permissões apropriadas
|
||||
- Sua conta Box conectada através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o Box
|
||||
|
||||
### 1. Conecte sua conta Box
|
||||
|
||||
1. Acesse [Integrações do CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Box** na seção de Integrações de Autenticação
|
||||
3. Clique em **Conectar** e conclua o fluxo de OAuth
|
||||
4. Conceda as permissões necessárias para gerenciamento de arquivos e pastas
|
||||
5. Copie seu Token Enterprise em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o pacote necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="BOX_SAVE_FILE">
|
||||
**Descrição:** Salva um arquivo a partir de uma URL no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `fileAttributes` (object, obrigatório): Atributos - Metadados do arquivo incluindo nome, pasta pai e datas.
|
||||
```json
|
||||
{
|
||||
"content_created_at": "2012-12-12T10:53:43-08:00",
|
||||
"content_modified_at": "2012-12-12T10:53:43-08:00",
|
||||
"name": "qwerty.png",
|
||||
"parent": { "id": "1234567" }
|
||||
}
|
||||
```
|
||||
- `file` (string, obrigatório): URL do arquivo - Os arquivos devem ter menos de 50MB. (exemplo: "https://picsum.photos/200/300").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_SAVE_FILE_FROM_OBJECT">
|
||||
**Descrição:** Salva um arquivo no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `file` (string, obrigatório): Arquivo - Aceita um Objeto de Arquivo contendo os dados. O arquivo deve ter menos de 50MB.
|
||||
- `fileName` (string, obrigatório): Nome do Arquivo (exemplo: "qwerty.png").
|
||||
- `folder` (string, opcional): Pasta - Use as configurações de workflow do Connect Portal para permitir que usuários escolham o destino da pasta. Caso em branco, o padrão é a pasta raiz do usuário.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_GET_FILE_BY_ID">
|
||||
**Descrição:** Obtém um arquivo pelo ID no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `fileId` (string, obrigatório): ID do arquivo - Identificador único que representa um arquivo. (exemplo: "12345").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_LIST_FILES">
|
||||
**Descrição:** Lista arquivos no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderId` (string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: "0").
|
||||
- `filterFormula` (object, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições únicas.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "direction",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "ASC"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_CREATE_FOLDER">
|
||||
**Descrição:** Cria uma pasta no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderName` (string, obrigatório): Nome - Nome para a nova pasta. (exemplo: "Nova Pasta").
|
||||
- `folderParent` (object, obrigatório): Pasta Pai - A pasta onde a nova pasta será criada.
|
||||
```json
|
||||
{
|
||||
"id": "123456"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_MOVE_FOLDER">
|
||||
**Descrição:** Move uma pasta no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderId` (string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: "0").
|
||||
- `folderName` (string, obrigatório): Nome - Nome da pasta. (exemplo: "Nova Pasta").
|
||||
- `folderParent` (object, obrigatório): Nova pasta pai de destino.
|
||||
```json
|
||||
{
|
||||
"id": "123456"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_GET_FOLDER_BY_ID">
|
||||
**Descrição:** Obtém uma pasta pelo ID no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderId` (string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: "0").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_SEARCH_FOLDERS">
|
||||
**Descrição:** Pesquisa pastas no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderId` (string, obrigatório): ID da pasta - A pasta na qual pesquisar.
|
||||
- `filterFormula` (object, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições únicas.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "sort",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "name"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="BOX_DELETE_FOLDER">
|
||||
**Descrição:** Exclui uma pasta no Box.
|
||||
|
||||
**Parâmetros:**
|
||||
- `folderId` (string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: "0").
|
||||
- `recursive` (boolean, opcional): Recursivo - Exclui uma pasta que não está vazia, deletando de forma recursiva a pasta e todo o seu conteúdo.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente Box
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Box tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Box capabilities
|
||||
box_agent = Agent(
|
||||
role="Document Manager",
|
||||
goal="Manage files and folders in Box efficiently",
|
||||
backstory="An AI assistant specialized in document management and file organization.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a folder structure
|
||||
create_structure_task = Task(
|
||||
description="Create a folder called 'Project Files' in the root directory and upload a document from URL",
|
||||
agent=box_agent,
|
||||
expected_output="Folder created and file uploaded successfully"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[box_agent],
|
||||
tasks=[create_structure_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Box
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Box tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["box_create_folder", "box_save_file", "box_list_files"]
|
||||
)
|
||||
|
||||
file_organizer_agent = Agent(
|
||||
role="File Organizer",
|
||||
goal="Organize and manage file storage efficiently",
|
||||
backstory="An AI assistant that focuses on file organization and storage management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to organize files
|
||||
organization_task = Task(
|
||||
description="Create a folder structure for the marketing team and organize existing files",
|
||||
agent=file_organizer_agent,
|
||||
expected_output="Folder structure created and files organized"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_organizer_agent],
|
||||
tasks=[organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento Avançado de Arquivos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
file_manager = Agent(
|
||||
role="File Manager",
|
||||
goal="Maintain organized file structure and manage document lifecycle",
|
||||
backstory="An experienced file manager who ensures documents are properly organized and accessible.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple Box operations
|
||||
management_task = Task(
|
||||
description="""
|
||||
1. List all files in the root folder
|
||||
2. Create monthly archive folders for the current year
|
||||
3. Move old files to appropriate archive folders
|
||||
4. Generate a summary report of the file organization
|
||||
""",
|
||||
agent=file_manager,
|
||||
expected_output="Files organized into archive structure with summary report"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_manager],
|
||||
tasks=[management_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
293
docs/pt-BR/enterprise/integrations/clickup.mdx
Normal file
293
docs/pt-BR/enterprise/integrations/clickup.mdx
Normal file
@@ -0,0 +1,293 @@
|
||||
---
|
||||
title: Integração com ClickUp
|
||||
description: "Gerenciamento de tarefas e produtividade com integração ClickUp para CrewAI."
|
||||
icon: "list-check"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem tarefas, projetos e fluxos de produtividade por meio do ClickUp. Crie e atualize tarefas, organize projetos, gerencie a designação de equipes e otimize o gerenciamento da sua produtividade com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o ClickUp, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta ClickUp com as permissões apropriadas
|
||||
- Sua conta ClickUp conectada pela [Página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o ClickUp
|
||||
|
||||
### 1. Conecte sua Conta ClickUp
|
||||
|
||||
1. Acesse [CrewAI Enterprise Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **ClickUp** na seção Integrações de Autenticação
|
||||
3. Clique em **Conectar** e complete o fluxo OAuth
|
||||
4. Conceda as permissões necessárias para gerenciamento de tarefas e projetos
|
||||
5. Copie seu Token Enterprise das [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="CLICKUP_SEARCH_TASKS">
|
||||
**Descrição:** Busque tarefas no ClickUp utilizando filtros avançados.
|
||||
|
||||
**Parâmetros:**
|
||||
- `taskFilterFormula` (objeto, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições individuais.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "statuses%5B%5D",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "open"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `space_ids%5B%5D`, `project_ids%5B%5D`, `list_ids%5B%5D`, `statuses%5B%5D`, `include_closed`, `assignees%5B%5D`, `tags%5B%5D`, `due_date_gt`, `due_date_lt`, `date_created_gt`, `date_created_lt`, `date_updated_gt`, `date_updated_lt`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_TASK_IN_LIST">
|
||||
**Descrição:** Obtenha tarefas em uma lista específica do ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listId` (string, obrigatório): Lista - Selecione uma Lista da qual obter as tarefas. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
||||
- `taskFilterFormula` (string, opcional): Busque tarefas que correspondam aos filtros especificados. Por exemplo: name=task1.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_CREATE_TASK">
|
||||
**Descrição:** Crie uma tarefa no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listId` (string, obrigatório): Lista - Selecione uma Lista para criar esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
||||
- `name` (string, obrigatório): Nome - O nome da tarefa.
|
||||
- `description` (string, opcional): Descrição - Descrição da tarefa.
|
||||
- `status` (string, opcional): Status - Selecione um Status para esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Status ClickUp.
|
||||
- `assignees` (string, opcional): Responsáveis - Selecione um Membro (ou um array de IDs de membros) para ser responsável por esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Membro ClickUp.
|
||||
- `dueDate` (string, opcional): Data de Vencimento - Especifique uma data para a conclusão desta tarefa.
|
||||
- `additionalFields` (string, opcional): Campos Adicionais - Especifique campos adicionais para incluir nesta tarefa em formato JSON.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_UPDATE_TASK">
|
||||
**Descrição:** Atualize uma tarefa no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `taskId` (string, obrigatório): ID da tarefa - O ID da tarefa a ser atualizada.
|
||||
- `listId` (string, obrigatório): Lista - Selecione uma Lista para criar esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
||||
- `name` (string, opcional): Nome - O nome da tarefa.
|
||||
- `description` (string, opcional): Descrição - Descrição da tarefa.
|
||||
- `status` (string, opcional): Status - Selecione um Status para esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Status ClickUp.
|
||||
- `assignees` (string, opcional): Responsáveis - Selecione um Membro (ou um array de IDs de membros) para ser responsável por esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Membro ClickUp.
|
||||
- `dueDate` (string, opcional): Data de Vencimento - Especifique uma data para a conclusão desta tarefa.
|
||||
- `additionalFields` (string, opcional): Campos Adicionais - Especifique campos adicionais para incluir nesta tarefa em formato JSON.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_DELETE_TASK">
|
||||
**Descrição:** Exclua uma tarefa no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `taskId` (string, obrigatório): ID da tarefa - O ID da tarefa a ser excluída.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_LIST">
|
||||
**Descrição:** Obtenha informações da Lista no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spaceId` (string, obrigatório): ID do Espaço - O ID do espaço que contém as listas.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_CUSTOM_FIELDS_IN_LIST">
|
||||
**Descrição:** Obtenha Campos Personalizados em uma Lista no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listId` (string, obrigatório): ID da Lista - O ID da lista da qual obter os campos personalizados.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_ALL_FIELDS_IN_LIST">
|
||||
**Descrição:** Obtenha Todos os Campos em uma Lista no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listId` (string, obrigatório): ID da Lista - O ID da lista da qual obter todos os campos.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_SPACE">
|
||||
**Descrição:** Obtenha informações do Espaço no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spaceId` (string, opcional): ID do Espaço - O ID do espaço a ser recuperado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_FOLDERS">
|
||||
**Descrição:** Obtenha Pastas no ClickUp.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spaceId` (string, obrigatório): ID do Espaço - O ID do espaço que contém as pastas.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="CLICKUP_GET_MEMBER">
|
||||
**Descrição:** Obtenha informações de Membro no ClickUp.
|
||||
|
||||
**Parâmetros:** Nenhum obrigatório.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente ClickUp
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (ClickUp tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with ClickUp capabilities
|
||||
clickup_agent = Agent(
|
||||
role="Task Manager",
|
||||
goal="Manage tasks and projects in ClickUp efficiently",
|
||||
backstory="An AI assistant specialized in task management and productivity coordination.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new task
|
||||
create_task = Task(
|
||||
description="Create a task called 'Review Q1 Reports' in the Marketing list with high priority",
|
||||
agent=clickup_agent,
|
||||
expected_output="Task created successfully with task ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[clickup_agent],
|
||||
tasks=[create_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do ClickUp
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific ClickUp tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["clickup_create_task", "clickup_update_task", "clickup_search_tasks"]
|
||||
)
|
||||
|
||||
task_coordinator = Agent(
|
||||
role="Task Coordinator",
|
||||
goal="Create and manage tasks efficiently",
|
||||
backstory="An AI assistant that focuses on task creation and status management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage task workflow
|
||||
task_workflow = Task(
|
||||
description="Create a task for project planning and assign it to the development team",
|
||||
agent=task_coordinator,
|
||||
expected_output="Task created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_coordinator],
|
||||
tasks=[task_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento Avançado de Projetos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
project_manager = Agent(
|
||||
role="Project Manager",
|
||||
goal="Coordinate project activities and track team productivity",
|
||||
backstory="An experienced project manager who ensures projects are delivered on time.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple ClickUp operations
|
||||
project_coordination = Task(
|
||||
description="""
|
||||
1. Get all open tasks in the current space
|
||||
2. Identify overdue tasks and update their status
|
||||
3. Create a weekly report task summarizing project progress
|
||||
4. Assign the report task to the team lead
|
||||
""",
|
||||
agent=project_manager,
|
||||
expected_output="Project status updated and weekly report task created and assigned"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_manager],
|
||||
tasks=[project_coordination]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Busca e Gerenciamento de Tarefas
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
task_analyst = Agent(
|
||||
role="Task Analyst",
|
||||
goal="Analyze task patterns and optimize team productivity",
|
||||
backstory="An AI assistant that analyzes task data to improve team efficiency.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to analyze and optimize task distribution
|
||||
task_analysis = Task(
|
||||
description="""
|
||||
Search for all tasks assigned to team members in the last 30 days,
|
||||
analyze completion patterns, and create optimization recommendations
|
||||
""",
|
||||
agent=task_analyst,
|
||||
expected_output="Task analysis report with optimization recommendations"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_analyst],
|
||||
tasks=[task_analysis]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Precisa de Ajuda?
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para auxílio na configuração ou solução de problemas da integração com ClickUp.
|
||||
</Card>
|
||||
323
docs/pt-BR/enterprise/integrations/github.mdx
Normal file
323
docs/pt-BR/enterprise/integrations/github.mdx
Normal file
@@ -0,0 +1,323 @@
|
||||
---
|
||||
title: Integração com GitHub
|
||||
description: "Gerenciamento de repositórios e issues com a integração do GitHub para CrewAI."
|
||||
icon: "github"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem repositórios, issues e releases através do GitHub. Crie e atualize issues, gerencie releases, acompanhe o desenvolvimento do projeto e otimize seu fluxo de trabalho de desenvolvimento de software com automação alimentada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração do GitHub, assegure-se de ter:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta GitHub com permissões adequadas no repositório
|
||||
- Conta do GitHub conectada através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com GitHub
|
||||
|
||||
### 1. Conecte sua conta GitHub
|
||||
|
||||
1. Acesse [Integrações CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **GitHub** 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 gerenciamento de repositório e issues
|
||||
5. Copie seu Token Enterprise nas [Configurações de Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o pacote necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="GITHUB_CREATE_ISSUE">
|
||||
**Descrição:** Cria uma issue no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a esta Issue. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a esta Issue.
|
||||
- `title` (string, obrigatório): Título da Issue - Especifique o título da issue a ser criada.
|
||||
- `body` (string, opcional): Corpo da Issue - Especifique o conteúdo do corpo da issue a ser criada.
|
||||
- `assignees` (string, opcional): Responsáveis - Especifique o login dos responsáveis no GitHub como um array de strings para esta issue. (exemplo: `["octocat"]`).
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_UPDATE_ISSUE">
|
||||
**Descrição:** Atualiza uma issue no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a esta Issue. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a esta Issue.
|
||||
- `issue_number` (string, obrigatório): Número da Issue - Especifique o número da issue a ser atualizada.
|
||||
- `title` (string, obrigatório): Título da Issue - Especifique o título da issue a ser atualizada.
|
||||
- `body` (string, opcional): Corpo da Issue - Especifique o conteúdo do corpo da issue a ser atualizada.
|
||||
- `assignees` (string, opcional): Responsáveis - Especifique o login dos responsáveis no GitHub como um array de strings para esta issue. (exemplo: `["octocat"]`).
|
||||
- `state` (string, opcional): Estado - Especifique o estado atualizado da issue.
|
||||
- Opções: `open`, `closed`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_GET_ISSUE_BY_NUMBER">
|
||||
**Descrição:** Obtém uma issue pelo número no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a esta Issue. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a esta Issue.
|
||||
- `issue_number` (string, obrigatório): Número da Issue - Especifique o número da issue a ser buscada.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_LOCK_ISSUE">
|
||||
**Descrição:** Bloqueia uma issue no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a esta Issue. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a esta Issue.
|
||||
- `issue_number` (string, obrigatório): Número da Issue - Especifique o número da issue a ser bloqueada.
|
||||
- `lock_reason` (string, obrigatório): Motivo do Bloqueio - Especifique um motivo para bloquear a discussão da issue ou pull request.
|
||||
- Opções: `off-topic`, `too heated`, `resolved`, `spam`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_SEARCH_ISSUE">
|
||||
**Descrição:** Busca por issues no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a esta Issue. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a esta Issue.
|
||||
- `filter` (object, obrigatório): Um filtro em forma normal disjuntiva - OU de grupos E de condições simples.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "assignee",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "octocat"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `assignee`, `creator`, `mentioned`, `labels`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_CREATE_RELEASE">
|
||||
**Descrição:** Cria um release no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a este Release. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a este Release.
|
||||
- `tag_name` (string, obrigatório): Nome - Especifique o nome da tag do release a ser criada. (exemplo: "v1.0.0").
|
||||
- `target_commitish` (string, opcional): Destino - Especifique o destino do release. Pode ser o nome de um branch ou o SHA de um commit. Padrão é o branch principal. (exemplo: "master").
|
||||
- `body` (string, opcional): Descrição - Especifique uma descrição para este release.
|
||||
- `draft` (string, opcional): Rascunho - Especifique se o release criado deve ser um rascunho (não publicado).
|
||||
- Opções: `true`, `false`
|
||||
- `prerelease` (string, opcional): Pré-lançamento - Especifique se o release criado deve ser um pré-lançamento.
|
||||
- Opções: `true`, `false`
|
||||
- `discussion_category_name` (string, opcional): Nome da Categoria de Discussão - Se especificado, uma discussão da categoria indicada é criada e vinculada ao release. O valor deve ser uma categoria já existente no repositório.
|
||||
- `generate_release_notes` (string, opcional): Notas de Release - Especifique se o release criado deve criar automaticamente notas de release usando o nome e a descrição fornecidos.
|
||||
- Opções: `true`, `false`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_UPDATE_RELEASE">
|
||||
**Descrição:** Atualiza um release no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a este Release. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a este Release.
|
||||
- `id` (string, obrigatório): ID do Release - Especifique o ID do release a ser atualizado.
|
||||
- `tag_name` (string, opcional): Nome - Especifique o nome da tag do release a ser atualizado. (exemplo: "v1.0.0").
|
||||
- `target_commitish` (string, opcional): Destino - Especifique o destino do release. Pode ser o nome de um branch ou o SHA de um commit. Padrão é o branch principal. (exemplo: "master").
|
||||
- `body` (string, opcional): Descrição - Especifique uma descrição para este release.
|
||||
- `draft` (string, opcional): Rascunho - Especifique se o release criado deve ser um rascunho (não publicado).
|
||||
- Opções: `true`, `false`
|
||||
- `prerelease` (string, opcional): Pré-lançamento - Especifique se o release criado deve ser um pré-lançamento.
|
||||
- Opções: `true`, `false`
|
||||
- `discussion_category_name` (string, opcional): Nome da Categoria de Discussão - Se especificado, uma discussão da categoria indicada é criada e vinculada ao release. O valor deve ser uma categoria já existente no repositório.
|
||||
- `generate_release_notes` (string, opcional): Notas de Release - Especifique se o release criado deve criar automaticamente notas de release usando o nome e a descrição fornecidos.
|
||||
- Opções: `true`, `false`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_GET_RELEASE_BY_ID">
|
||||
**Descrição:** Obtém um release por ID no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a este Release. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a este Release.
|
||||
- `id` (string, obrigatório): ID do Release - Especifique o ID do release a ser recuperado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_GET_RELEASE_BY_TAG_NAME">
|
||||
**Descrição:** Obtém um release pelo nome da tag no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a este Release. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a este Release.
|
||||
- `tag_name` (string, obrigatório): Nome - Especifique o nome da tag do release a ser recuperado. (exemplo: "v1.0.0").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GITHUB_DELETE_RELEASE">
|
||||
**Descrição:** Exclui um release no GitHub.
|
||||
|
||||
**Parâmetros:**
|
||||
- `owner` (string, obrigatório): Proprietário - Especifique o nome do proprietário da conta do repositório associado a este Release. (exemplo: "abc").
|
||||
- `repo` (string, obrigatório): Repositório - Especifique o nome do repositório associado a este Release.
|
||||
- `id` (string, obrigatório): ID do Release - Especifique o ID do release a ser excluído.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente GitHub
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (GitHub tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with GitHub capabilities
|
||||
github_agent = Agent(
|
||||
role="Repository Manager",
|
||||
goal="Manage GitHub repositories, issues, and releases efficiently",
|
||||
backstory="An AI assistant specialized in repository management and issue tracking.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new issue
|
||||
create_issue_task = Task(
|
||||
description="Create a bug report issue for the login functionality in the main repository",
|
||||
agent=github_agent,
|
||||
expected_output="Issue created successfully with issue number"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[github_agent],
|
||||
tasks=[create_issue_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas GitHub Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific GitHub tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["github_create_issue", "github_update_issue", "github_search_issue"]
|
||||
)
|
||||
|
||||
issue_manager = Agent(
|
||||
role="Issue Manager",
|
||||
goal="Create and manage GitHub issues efficiently",
|
||||
backstory="An AI assistant that focuses on issue tracking and management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage issue workflow
|
||||
issue_workflow = Task(
|
||||
description="Create a feature request issue and assign it to the development team",
|
||||
agent=issue_manager,
|
||||
expected_output="Feature request issue created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[issue_manager],
|
||||
tasks=[issue_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Releases
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
release_manager = Agent(
|
||||
role="Release Manager",
|
||||
goal="Manage software releases and versioning",
|
||||
backstory="An experienced release manager who handles version control and release processes.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new release
|
||||
release_task = Task(
|
||||
description="""
|
||||
Create a new release v2.1.0 for the project with:
|
||||
- Auto-generated release notes
|
||||
- Target the main branch
|
||||
- Include a description of new features and bug fixes
|
||||
""",
|
||||
agent=release_manager,
|
||||
expected_output="Release v2.1.0 created successfully with release notes"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[release_manager],
|
||||
tasks=[release_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Acompanhamento e Gerenciamento de Issues
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Track and coordinate project issues and development progress",
|
||||
backstory="An AI assistant that helps coordinate development work and track project progress.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple GitHub operations
|
||||
coordination_task = Task(
|
||||
description="""
|
||||
1. Search for all open issues assigned to the current milestone
|
||||
2. Identify overdue issues and update their priority labels
|
||||
3. Create a weekly progress report issue
|
||||
4. Lock resolved issues that have been inactive for 30 days
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Project coordination completed with progress report and issue management"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[coordination_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Obtendo Ajuda
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para auxílio na configuração ou solução de problemas com a integração do GitHub.
|
||||
</Card>
|
||||
356
docs/pt-BR/enterprise/integrations/gmail.mdx
Normal file
356
docs/pt-BR/enterprise/integrations/gmail.mdx
Normal file
@@ -0,0 +1,356 @@
|
||||
---
|
||||
title: Integração com Gmail
|
||||
description: "Gerenciamento de e-mails e contatos com a integração do Gmail para o CrewAI."
|
||||
icon: "envelope"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem e-mails, contatos e rascunhos através do Gmail. Envie e-mails, pesquise mensagens, gerencie contatos, crie rascunhos e otimize suas comunicações por e-mail com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Gmail, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta do Gmail com as permissões adequadas
|
||||
- Conectou sua conta do Gmail através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o Gmail
|
||||
|
||||
### 1. Conecte sua Conta do Gmail
|
||||
|
||||
1. Navegue até [Integrações CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Gmail** na seção de Integrações de Autenticação
|
||||
3. Clique em **Conectar** e conclua o fluxo OAuth
|
||||
4. Conceda as permissões necessárias para o gerenciamento de e-mail e contato
|
||||
5. Copie seu Token Empresarial em [Configurações de Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="GMAIL_SEND_EMAIL">
|
||||
**Descrição:** Envia um e-mail pelo Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `toRecipients` (array, obrigatório): Para - Especifique os destinatários como uma única string ou um array JSON.
|
||||
```json
|
||||
[
|
||||
"recipient1@domain.com",
|
||||
"recipient2@domain.com"
|
||||
]
|
||||
```
|
||||
- `from` (string, obrigatório): De - Especifique o e-mail do remetente.
|
||||
- `subject` (string, obrigatório): Assunto - Especifique o assunto da mensagem.
|
||||
- `messageContent` (string, obrigatório): Conteúdo da Mensagem - Especifique o conteúdo do e-mail em texto simples ou HTML.
|
||||
- `attachments` (string, opcional): Anexos - Aceita um único objeto de arquivo ou um array JSON de objetos de arquivo.
|
||||
- `additionalHeaders` (object, opcional): Cabeçalhos Adicionais - Especifique quaisquer campos de cabeçalho adicionais aqui.
|
||||
```json
|
||||
{
|
||||
"reply-to": "Nome do Remetente <sender@domain.com>"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_GET_EMAIL_BY_ID">
|
||||
**Descrição:** Obtém um e-mail pelo ID no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `userId` (string, obrigatório): ID do Usuário - Especifique o endereço de e-mail do usuário. (exemplo: "user@domain.com").
|
||||
- `messageId` (string, obrigatório): ID da Mensagem - Especifique o ID da mensagem a ser recuperada.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_SEARCH_FOR_EMAIL">
|
||||
**Descrição:** Pesquisa e-mails no Gmail usando filtros avançados.
|
||||
|
||||
**Parâmetros:**
|
||||
- `emailFilterFormula` (object, opcional): Um filtro na forma normal disjuntiva - OU de grupos E de condições únicas.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "from",
|
||||
"operator": "$stringContains",
|
||||
"value": "example@domain.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `from`, `to`, `date`, `label`, `subject`, `cc`, `bcc`, `category`, `deliveredto:`, `size`, `filename`, `older_than`, `newer_than`, `list`, `is:important`, `is:unread`, `is:snoozed`, `is:starred`, `is:read`, `has:drive`, `has:document`, `has:spreadsheet`, `has:presentation`, `has:attachment`, `has:youtube`, `has:userlabels`
|
||||
- `paginationParameters` (object, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "page_cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_DELETE_EMAIL">
|
||||
**Descrição:** Exclui um e-mail no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `userId` (string, obrigatório): ID do Usuário - Especifique o endereço de e-mail do usuário. (exemplo: "user@domain.com").
|
||||
- `messageId` (string, obrigatório): ID da Mensagem - Especifique o ID da mensagem para enviar para a lixeira.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_CREATE_A_CONTACT">
|
||||
**Descrição:** Cria um contato no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `givenName` (string, obrigatório): Primeiro Nome - Especifique o Primeiro Nome do contato a ser criado. (exemplo: "João").
|
||||
- `familyName` (string, obrigatório): Sobrenome - Especifique o Sobrenome do contato a ser criado. (exemplo: "Silva").
|
||||
- `email` (string, obrigatório): E-mail - Especifique o endereço de e-mail do contato a ser criado.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais - Informações adicionais de contato.
|
||||
```json
|
||||
{
|
||||
"addresses": [
|
||||
{
|
||||
"streetAddress": "1000 North St.",
|
||||
"city": "Los Angeles"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_GET_CONTACT_BY_RESOURCE_NAME">
|
||||
**Descrição:** Obtém um contato pelo nome do recurso no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `resourceName` (string, obrigatório): Nome do Recurso - Especifique o nome do recurso do contato a ser buscado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_SEARCH_FOR_CONTACT">
|
||||
**Descrição:** Pesquisa um contato no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `searchTerm` (string, obrigatório): Termo - Especifique um termo para buscar correspondências aproximadas ou exatas nos campos nome, apelido, endereços de e-mail, números de telefone ou organizações do contato.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_DELETE_CONTACT">
|
||||
**Descrição:** Exclui um contato no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `resourceName` (string, obrigatório): Nome do Recurso - Especifique o nome do recurso do contato a ser excluído.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GMAIL_CREATE_DRAFT">
|
||||
**Descrição:** Cria um rascunho no Gmail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `toRecipients` (array, opcional): Para - Especifique os destinatários como uma única string ou um array JSON.
|
||||
```json
|
||||
[
|
||||
"recipient1@domain.com",
|
||||
"recipient2@domain.com"
|
||||
]
|
||||
```
|
||||
- `from` (string, opcional): De - Especifique o e-mail do remetente.
|
||||
- `subject` (string, opcional): Assunto - Especifique o assunto da mensagem.
|
||||
- `messageContent` (string, opcional): Conteúdo da Mensagem - Especifique o conteúdo do e-mail em texto simples ou HTML.
|
||||
- `attachments` (string, opcional): Anexos - Aceita um único objeto de arquivo ou um array JSON de objetos de arquivo.
|
||||
- `additionalHeaders` (object, opcional): Cabeçalhos Adicionais - Especifique quaisquer campos de cabeçalho adicionais aqui.
|
||||
```json
|
||||
{
|
||||
"reply-to": "Nome do Remetente <sender@domain.com>"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente Gmail
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Gmail tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Gmail capabilities
|
||||
gmail_agent = Agent(
|
||||
role="Email Manager",
|
||||
goal="Manage email communications and contacts efficiently",
|
||||
backstory="An AI assistant specialized in email management and communication.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to send a follow-up email
|
||||
send_email_task = Task(
|
||||
description="Send a follow-up email to john@example.com about the project update meeting",
|
||||
agent=gmail_agent,
|
||||
expected_output="Email sent successfully with confirmation"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[gmail_agent],
|
||||
tasks=[send_email_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Gmail
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Gmail tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["gmail_send_email", "gmail_search_for_email", "gmail_create_draft"]
|
||||
)
|
||||
|
||||
email_coordinator = Agent(
|
||||
role="Email Coordinator",
|
||||
goal="Coordinate email communications and manage drafts",
|
||||
backstory="An AI assistant that focuses on email coordination and draft management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to prepare and send emails
|
||||
email_coordination = Task(
|
||||
description="Search for emails from the marketing team, create a summary draft, and send it to stakeholders",
|
||||
agent=email_coordinator,
|
||||
expected_output="Summary email sent to stakeholders"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[email_coordinator],
|
||||
tasks=[email_coordination]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Contatos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
contact_manager = Agent(
|
||||
role="Contact Manager",
|
||||
goal="Manage and organize email contacts efficiently",
|
||||
backstory="An experienced contact manager who maintains organized contact databases.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to manage contacts
|
||||
contact_task = Task(
|
||||
description="""
|
||||
1. Search for contacts from the 'example.com' domain
|
||||
2. Create new contacts for recent email senders not in the contact list
|
||||
3. Update contact information with recent interaction data
|
||||
""",
|
||||
agent=contact_manager,
|
||||
expected_output="Contact database updated with new contacts and recent interactions"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[contact_manager],
|
||||
tasks=[contact_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Pesquisa e Análise de E-mails
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
email_analyst = Agent(
|
||||
role="Email Analyst",
|
||||
goal="Analyze email patterns and provide insights",
|
||||
backstory="An AI assistant that analyzes email data to provide actionable insights.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to analyze email patterns
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
Search for all unread emails from the last 7 days,
|
||||
categorize them by sender domain,
|
||||
and create a summary report of communication patterns
|
||||
""",
|
||||
agent=email_analyst,
|
||||
expected_output="Email analysis report with communication patterns and recommendations"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[email_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Fluxos de Trabalho Automatizados de E-mail
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
workflow_manager = Agent(
|
||||
role="Email Workflow Manager",
|
||||
goal="Automate email workflows and responses",
|
||||
backstory="An AI assistant that manages automated email workflows and responses.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple Gmail operations
|
||||
workflow_task = Task(
|
||||
description="""
|
||||
1. Search for emails with 'urgent' in the subject from the last 24 hours
|
||||
2. Create draft responses for each urgent email
|
||||
3. Send automated acknowledgment emails to senders
|
||||
4. Create a summary report of urgent items requiring attention
|
||||
""",
|
||||
agent=workflow_manager,
|
||||
expected_output="Urgent emails processed with automated responses and summary report"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[workflow_manager],
|
||||
tasks=[workflow_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Precisa de Ajuda?
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para obter assistência na configuração ou solução de problemas da integração Gmail.
|
||||
</Card>
|
||||
391
docs/pt-BR/enterprise/integrations/google_calendar.mdx
Normal file
391
docs/pt-BR/enterprise/integrations/google_calendar.mdx
Normal file
@@ -0,0 +1,391 @@
|
||||
---
|
||||
title: Integração com Google Calendar
|
||||
description: "Gerenciamento de eventos e agendas com integração ao Google Calendar para o CrewAI."
|
||||
icon: "calendar"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem eventos de calendário, agendas e disponibilidade através do Google Calendar. Crie e atualize eventos, gerencie participantes, verifique disponibilidade e otimize seu fluxo de agendamento com automação potencializada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Google Calendar, certifique-se de ter:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Google com acesso ao Google Calendar
|
||||
- Sua conta Google conectada pela [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com Google Calendar
|
||||
|
||||
### 1. Conecte sua Conta Google
|
||||
|
||||
1. Acesse [Integrações do CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Google Calendar** 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 ao calendário e contatos
|
||||
5. Copie seu Token Enterprise nas [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="GOOGLE_CALENDAR_CREATE_EVENT">
|
||||
**Descrição:** Cria um evento no Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `eventName` (string, obrigatório): Nome do evento.
|
||||
- `startTime` (string, obrigatório): Horário de início – Aceita timestamp Unix ou formatos de data ISO8601.
|
||||
- `endTime` (string, opcional): Horário de término – Padrão para uma hora após o início, se deixado em branco.
|
||||
- `calendar` (string, opcional): Calendário – Use as Configurações de Workflow do Connect Portal para permitir que o usuário selecione em qual calendário o evento será adicionado. Padrão para o calendário principal do usuário se deixado em branco.
|
||||
- `attendees` (string, opcional): Participantes – Aceita um array de e-mails ou e-mails separados por vírgula.
|
||||
- `eventLocation` (string, opcional): Local do evento.
|
||||
- `eventDescription` (string, opcional): Descrição do evento.
|
||||
- `eventId` (string, opcional): ID do evento – Um ID da sua aplicação para associar a este evento. Você pode usar esse ID para sincronizar atualizações posteriores neste evento.
|
||||
- `includeMeetLink` (boolean, opcional): Incluir link do Google Meet? – Cria automaticamente um link para conferência Google Meet para este evento.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_UPDATE_EVENT">
|
||||
**Descrição:** Atualiza um evento existente no Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `eventId` (string, obrigatório): ID do evento – O ID do evento a ser atualizado.
|
||||
- `eventName` (string, opcional): Nome do evento.
|
||||
- `startTime` (string, opcional): Horário de início – Aceita timestamp Unix ou formatos de data ISO8601.
|
||||
- `endTime` (string, opcional): Horário de término – Padrão para uma hora após o início, se deixado em branco.
|
||||
- `calendar` (string, opcional): Calendário – Use as Configurações de Workflow do Connect Portal para permitir que o usuário selecione em qual calendário o evento será adicionado. Padrão para o calendário principal do usuário se deixado em branco.
|
||||
- `attendees` (string, opcional): Participantes – Aceita um array de e-mails ou e-mails separados por vírgula.
|
||||
- `eventLocation` (string, opcional): Local do evento.
|
||||
- `eventDescription` (string, opcional): Descrição do evento.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_LIST_EVENTS">
|
||||
**Descrição:** Lista eventos do Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `calendar` (string, opcional): Calendário – Use as Configurações de Workflow do Connect Portal para permitir que o usuário selecione em qual calendário o evento será adicionado. Padrão para o calendário principal do usuário se deixado em branco.
|
||||
- `after` (string, opcional): Após – Filtra eventos que começam após a data fornecida (Unix em milissegundos ou timestamp ISO). (exemplo: "2025-04-12T10:00:00Z ou 1712908800000").
|
||||
- `before` (string, opcional): Antes – Filtra eventos que terminam antes da data fornecida (Unix em milissegundos ou timestamp ISO). (exemplo: "2025-04-12T10:00:00Z ou 1712908800000").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_GET_EVENT_BY_ID">
|
||||
**Descrição:** Obtém um evento específico pelo ID no Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `eventId` (string, obrigatório): ID do evento.
|
||||
- `calendar` (string, opcional): Calendário – Use as Configurações de Workflow do Connect Portal para permitir que o usuário selecione em qual calendário o evento será adicionado. Padrão para o calendário principal do usuário se deixado em branco.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_DELETE_EVENT">
|
||||
**Descrição:** Exclui um evento do Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `eventId` (string, obrigatório): ID do evento – O ID do evento do calendário a ser excluído.
|
||||
- `calendar` (string, opcional): Calendário – Use as Configurações de Workflow do Connect Portal para permitir que o usuário selecione em qual calendário o evento será adicionado. Padrão para o calendário principal do usuário se deixado em branco.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_GET_CONTACTS">
|
||||
**Descrição:** Obtém contatos do Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (objeto, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "page_cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_SEARCH_CONTACTS">
|
||||
**Descrição:** Pesquisa contatos no Google Calendar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `query` (string, opcional): Termo de pesquisa para buscar contatos.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_LIST_DIRECTORY_PEOPLE">
|
||||
**Descrição:** Lista pessoas do diretório.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (objeto, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "page_cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_SEARCH_DIRECTORY_PEOPLE">
|
||||
**Descrição:** Pesquisa pessoas no diretório.
|
||||
|
||||
**Parâmetros:**
|
||||
- `query` (string, obrigatório): Termo de pesquisa para buscar contatos.
|
||||
- `paginationParameters` (objeto, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "page_cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_LIST_OTHER_CONTACTS">
|
||||
**Descrição:** Lista outros contatos.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (objeto, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "page_cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_SEARCH_OTHER_CONTACTS">
|
||||
**Descrição:** Pesquisa outros contatos.
|
||||
|
||||
**Parâmetros:**
|
||||
- `query` (string, opcional): Termo de pesquisa para buscar contatos.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_CALENDAR_GET_AVAILABILITY">
|
||||
**Descrição:** Obtém informações de disponibilidade para calendários.
|
||||
|
||||
**Parâmetros:**
|
||||
- `timeMin` (string, obrigatório): Início do intervalo. Em formato ISO.
|
||||
- `timeMax` (string, obrigatório): Fim do intervalo. Em formato ISO.
|
||||
- `timeZone` (string, opcional): Fuso horário usado na resposta. Opcional. O padrão é UTC.
|
||||
- `items` (array, opcional): Lista de calendários e/ou grupos para consulta. Padrão para o calendário padrão do usuário.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "calendar_id_1"
|
||||
},
|
||||
{
|
||||
"id": "calendar_id_2"
|
||||
}
|
||||
]
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente de Calendário
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obter ferramentas empresariais (as ferramentas do Google Calendar serão incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Criar um agente com capacidades do Google Calendar
|
||||
calendar_agent = Agent(
|
||||
role="Schedule Manager",
|
||||
goal="Gerenciar eventos de calendário e agendamento de maneira eficiente",
|
||||
backstory="Um assistente de IA especializado em gerenciamento de agendas e coordenação de horários.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa de criação de reunião
|
||||
create_meeting_task = Task(
|
||||
description="Crie uma reunião diária de equipe amanhã às 9h com o time de desenvolvimento",
|
||||
agent=calendar_agent,
|
||||
expected_output="Reunião criada com sucesso com link do Google Meet"
|
||||
)
|
||||
|
||||
# Executar a tarefa
|
||||
crew = Crew(
|
||||
agents=[calendar_agent],
|
||||
tasks=[create_meeting_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Calendário
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obter apenas ferramentas específicas do Google Calendar
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["google_calendar_create_event", "google_calendar_list_events", "google_calendar_get_availability"]
|
||||
)
|
||||
|
||||
meeting_coordinator = Agent(
|
||||
role="Meeting Coordinator",
|
||||
goal="Coordenar reuniões e verificar disponibilidade",
|
||||
backstory="Um assistente de IA que foca em agendamento de reuniões e gerenciamento de disponibilidade.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para agendar reunião com verificação de disponibilidade
|
||||
schedule_meeting = Task(
|
||||
description="Verifique a disponibilidade para a próxima semana e agende uma reunião de revisão do projeto com os stakeholders",
|
||||
agent=meeting_coordinator,
|
||||
expected_output="Reunião agendada após verificação da disponibilidade de todos os participantes"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[meeting_coordinator],
|
||||
tasks=[schedule_meeting]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento e Atualização de Eventos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
event_manager = Agent(
|
||||
role="Event Manager",
|
||||
goal="Gerenciar e atualizar eventos de calendário de forma eficiente",
|
||||
backstory="Um experiente gestor de eventos responsável pela logística e atualizações dos eventos.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para gerenciar atualizações de eventos
|
||||
event_management = Task(
|
||||
description="""
|
||||
1. Liste todos os eventos desta semana
|
||||
2. Atualize os eventos que precisarem de alteração de local para incluir links de videoconferência
|
||||
3. Envie convites de calendário para novos membros do time para reuniões recorrentes
|
||||
""",
|
||||
agent=event_manager,
|
||||
expected_output="Eventos semanais atualizados com os locais corretos e novos participantes incluídos"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[event_manager],
|
||||
tasks=[event_management]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Contatos e Disponibilidade
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
availability_coordinator = Agent(
|
||||
role="Availability Coordinator",
|
||||
goal="Coordenar disponibilidade e gerenciar contatos para agendamento",
|
||||
backstory="Um assistente de IA que se especializa em gerenciamento de disponibilidade e coordenação de contatos.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa de coordenação de disponibilidade
|
||||
availability_task = Task(
|
||||
description="""
|
||||
1. Pesquise contatos no departamento de engenharia
|
||||
2. Verifique a disponibilidade de todos os engenheiros para a próxima sexta-feira à tarde
|
||||
3. Crie uma reunião de equipe no primeiro intervalo de 2 horas disponível
|
||||
4. Inclua o link do Google Meet e envie convites
|
||||
""",
|
||||
agent=availability_coordinator,
|
||||
expected_output="Reunião agendada com base na disponibilidade com todos os engenheiros convidados"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[availability_coordinator],
|
||||
tasks=[availability_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Workflows de Agendamento Automatizado
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
scheduling_automator = Agent(
|
||||
role="Scheduling Automator",
|
||||
goal="Automatizar workflows de agendamento e gerenciamento de calendários",
|
||||
backstory="Um assistente de IA que automatiza cenários complexos de agendamento e workflows de agenda.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa de automação de agendamento complexo
|
||||
automation_task = Task(
|
||||
description="""
|
||||
1. Liste todos os eventos futuros das próximas duas semanas
|
||||
2. Identifique conflitos de agendamento ou reuniões consecutivas
|
||||
3. Sugira horários ótimos de reunião verificando as disponibilidades
|
||||
4. Crie intervalos entre reuniões quando necessário
|
||||
5. Atualize a descrição dos eventos com pautas e links de reunião
|
||||
""",
|
||||
agent=scheduling_automator,
|
||||
expected_output="Calendário otimizado com conflitos resolvidos, intervalos e detalhes das reuniões atualizados"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[scheduling_automator],
|
||||
tasks=[automation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
**Erros de Autenticação**
|
||||
- Certifique-se de que sua conta Google possui as permissões necessárias para acessar o calendário
|
||||
- Verifique se a conexão OAuth inclui todos os escopos necessários para a API do Google Calendar
|
||||
- Confirme se as configurações de compartilhamento do calendário permitem o nível de acesso necessário
|
||||
|
||||
**Problemas na Criação de Eventos**
|
||||
- Verifique se os formatos de horário estão corretos (ISO8601 ou timestamps Unix)
|
||||
- Assegure-se de que os endereços de e-mail dos participantes estão corretamente formatados
|
||||
- Verifique se o calendário de destino existe e está acessível
|
||||
- Confirme se os fusos horários estão especificados corretamente
|
||||
|
||||
**Disponibilidade e Conflitos de Horário**
|
||||
- Use formato ISO adequado para os intervalos de horário ao verificar disponibilidade
|
||||
- Certifique-se de que os fusos horários estão consistentes em todas as operações
|
||||
- Verifique se os IDs dos calendários estão corretos ao consultar múltiplos calendários
|
||||
|
||||
**Pesquisa de Contatos e Pessoas**
|
||||
- Assegure-se de que os termos de pesquisa estão devidamente formatados
|
||||
- Verifique se as permissões para acesso ao diretório foram concedidas
|
||||
- Certifique-se de que as informações de contato estão atualizadas e acessíveis
|
||||
|
||||
**Atualização e Exclusão de Eventos**
|
||||
- Verifique se os IDs dos eventos estão corretos e se os eventos existem
|
||||
- Assegure-se de que você possui permissões de edição para os eventos
|
||||
- Verifique se a propriedade do calendário permite modificações
|
||||
|
||||
### Obtendo Ajuda
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para assistência na configuração da integração com o Google Calendar ou solução de problemas.
|
||||
</Card>
|
||||
321
docs/pt-BR/enterprise/integrations/google_sheets.mdx
Normal file
321
docs/pt-BR/enterprise/integrations/google_sheets.mdx
Normal file
@@ -0,0 +1,321 @@
|
||||
---
|
||||
title: Integração com Google Sheets
|
||||
description: "Sincronização de dados de planilhas com a integração do Google Sheets para CrewAI."
|
||||
icon: "google"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem dados de planilhas por meio do Google Sheets. Leia linhas, crie novos registros, atualize dados existentes e otimize os fluxos de trabalho de gerenciamento de dados com automação alimentada por IA. Perfeito para acompanhamento de dados, relatórios e gestão colaborativa de informações.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o Google Sheets, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Google com acesso ao Google Sheets
|
||||
- Sua conta Google conectada pela [página de integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
- Planilhas com cabeçalhos de coluna adequados para operações com dados
|
||||
|
||||
## Configurando a Integração com Google Sheets
|
||||
|
||||
### 1. Conecte sua Conta Google
|
||||
|
||||
1. Acesse [Integrações do CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Localize **Google Sheets** na seção Integrações de Autenticação
|
||||
3. Clique em **Conectar** e conclua o fluxo OAuth
|
||||
4. Conceda as permissões necessárias para acesso à planilha
|
||||
5. Copie seu Token Enterprise em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="GOOGLE_SHEETS_GET_ROW">
|
||||
**Descrição:** Obtém linhas de uma planilha Google Sheets.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spreadsheetId` (string, obrigatório): Planilha - Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar uma planilha. Por padrão, usa a primeira worksheet da planilha selecionada.
|
||||
- `limit` (string, opcional): Limite de linhas - Limita o número máximo de linhas retornadas.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_SHEETS_CREATE_ROW">
|
||||
**Descrição:** Cria uma nova linha em uma planilha Google Sheets.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spreadsheetId` (string, obrigatório): Planilha - Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar uma planilha. Por padrão, usa a primeira worksheet da planilha selecionada.
|
||||
- `worksheet` (string, obrigatório): Worksheet - Sua worksheet deve conter cabeçalhos de coluna.
|
||||
- `additionalFields` (object, obrigatório): Campos - Inclua os campos para criar essa linha como um objeto, usando os nomes das colunas como chaves. Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar um Mapeamento de Colunas.
|
||||
```json
|
||||
{
|
||||
"columnName1": "columnValue1",
|
||||
"columnName2": "columnValue2",
|
||||
"columnName3": "columnValue3",
|
||||
"columnName4": "columnValue4"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="GOOGLE_SHEETS_UPDATE_ROW">
|
||||
**Descrição:** Atualiza linhas existentes em uma planilha Google Sheets.
|
||||
|
||||
**Parâmetros:**
|
||||
- `spreadsheetId` (string, obrigatório): Planilha - Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar uma planilha. Por padrão, usa a primeira worksheet da planilha selecionada.
|
||||
- `worksheet` (string, obrigatório): Worksheet - Sua worksheet deve conter cabeçalhos de coluna.
|
||||
- `filterFormula` (object, opcional): Filtro em forma normal disjuntiva - OU de grupos E (AND) de condições individuais para identificar quais linhas atualizar.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "status",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Operadores disponíveis: `$stringContains`, `$stringDoesNotContain`, `$stringExactlyMatches`, `$stringDoesNotExactlyMatch`, `$stringStartsWith`, `$stringDoesNotStartWith`, `$stringEndsWith`, `$stringDoesNotEndWith`, `$numberGreaterThan`, `$numberLessThan`, `$numberEquals`, `$numberDoesNotEqual`, `$dateTimeAfter`, `$dateTimeBefore`, `$dateTimeEquals`, `$booleanTrue`, `$booleanFalse`, `$exists`, `$doesNotExist`
|
||||
- `additionalFields` (object, obrigatório): Campos - Inclua os campos a serem atualizados como objeto, usando os nomes das colunas como chaves. Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar um Mapeamento de Colunas.
|
||||
```json
|
||||
{
|
||||
"columnName1": "newValue1",
|
||||
"columnName2": "newValue2",
|
||||
"columnName3": "newValue3",
|
||||
"columnName4": "newValue4"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de um Agente Google Sheets
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha as ferramentas enterprise (ferramentas Google Sheets incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Crie um agente com capacidades para Google Sheets
|
||||
sheets_agent = Agent(
|
||||
role="Data Manager",
|
||||
goal="Gerenciar dados de planilha e rastrear informações de maneira eficiente",
|
||||
backstory="Um assistente de IA especializado em gestão de dados e operações em planilhas.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para adicionar novos dados a uma planilha
|
||||
data_entry_task = Task(
|
||||
description="Adicionar novo registro de cliente na planilha de banco de dados de clientes com nome, e-mail e data de cadastro",
|
||||
agent=sheets_agent,
|
||||
expected_output="Novo registro de cliente adicionado com sucesso à planilha"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[sheets_agent],
|
||||
tasks=[data_entry_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Google Sheets
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha apenas ferramentas específicas do Google Sheets
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["google_sheets_get_row", "google_sheets_create_row"]
|
||||
)
|
||||
|
||||
data_collector = Agent(
|
||||
role="Data Collector",
|
||||
goal="Coletar e organizar dados em planilhas",
|
||||
backstory="Um assistente de IA dedicado à coleta e organização de dados.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para coletar e organizar dados
|
||||
data_collection = Task(
|
||||
description="Recuperar dados atuais de inventário e adicionar novos produtos à planilha de inventário",
|
||||
agent=data_collector,
|
||||
expected_output="Dados de inventário recuperados e novos produtos adicionados com sucesso"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_collector],
|
||||
tasks=[data_collection]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Análise de Dados e Geração de Relatórios
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
data_analyst = Agent(
|
||||
role="Data Analyst",
|
||||
goal="Analisar dados de planilhas e gerar insights",
|
||||
backstory="Um analista de dados experiente que extrai insights dos dados de planilhas.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para analisar dados e criar relatórios
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Recuperar todos os dados de vendas da planilha do mês atual
|
||||
2. Analisar os dados em busca de tendências e padrões
|
||||
3. Criar um relatório resumo em uma nova linha com os principais indicadores
|
||||
""",
|
||||
agent=data_analyst,
|
||||
expected_output="Dados de vendas analisados e relatório resumo criado com os principais insights"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Atualizações Automatizadas de Dados
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
data_updater = Agent(
|
||||
role="Data Updater",
|
||||
goal="Atualizar e manter dados de planilhas automaticamente",
|
||||
backstory="Um assistente de IA que mantém a precisão dos dados e atualiza registros automaticamente.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para atualizar dados com base em condições
|
||||
update_task = Task(
|
||||
description="""
|
||||
1. Encontrar todos os pedidos pendentes na planilha de pedidos
|
||||
2. Atualizar o status para 'processing'
|
||||
3. Adicionar um registro de data/hora da atualização do status
|
||||
4. Registrar as alterações em uma planilha de acompanhamento separada
|
||||
""",
|
||||
agent=data_updater,
|
||||
expected_output="Todos os pedidos pendentes atualizados para o status processing com registros de data/hora"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_updater],
|
||||
tasks=[update_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Fluxo de Trabalho Complexo com Dados
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
workflow_manager = Agent(
|
||||
role="Data Workflow Manager",
|
||||
goal="Gerenciar fluxos de dados complexos entre várias planilhas",
|
||||
backstory="Um assistente de IA que orquestra operações complexas de dados entre várias planilhas.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa de workflow complexa
|
||||
workflow_task = Task(
|
||||
description="""
|
||||
1. Obter todos os dados de clientes da planilha principal de clientes
|
||||
2. Criar registros de resumo mensal para clientes ativos
|
||||
3. Atualizar o status de clientes com base na atividade nos últimos 30 dias
|
||||
4. Gerar um relatório mensal com métricas dos clientes
|
||||
5. Arquivar registros de clientes inativos em uma planilha separada
|
||||
""",
|
||||
agent=workflow_manager,
|
||||
expected_output="Workflow mensal de clientes concluído com atualizações de status e relatórios gerados"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[workflow_manager],
|
||||
tasks=[workflow_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
**Erros de Permissão**
|
||||
- Certifique-se de que sua conta Google tem acesso de edição às planilhas alvo
|
||||
- Verifique se a conexão OAuth inclui os escopos necessários para a API do Google Sheets
|
||||
- Confira se as planilhas estão compartilhadas com a conta autenticada
|
||||
|
||||
**Problemas de Estrutura da Planilha**
|
||||
- Certifique-se de que as worksheets têm cabeçalhos de coluna antes de criar ou atualizar linhas
|
||||
- Verifique se os nomes das colunas em `additionalFields` correspondem exatamente aos cabeçalhos
|
||||
- Confirme que a worksheet especificada existe na planilha
|
||||
|
||||
**Problemas de Tipo e Formato de Dados**
|
||||
- Garanta que os valores dos dados estejam no formato esperado para cada coluna
|
||||
- Utilize formatos de data adequados nas colunas de data (recomenda-se ISO)
|
||||
- Verifique se valores numéricos estão devidamente formatados para colunas numéricas
|
||||
|
||||
**Problemas com Fórmulas de Filtro**
|
||||
- Certifique-se de que as fórmulas de filtro seguem a estrutura JSON correta para forma normal disjuntiva
|
||||
- Use nomes de campos válidos, correspondendo exatamente aos cabeçalhos das colunas
|
||||
- Teste filtros simples antes de criar consultas com múltiplas condições
|
||||
- Verifique se os tipos de operadores correspondem aos tipos de dados das colunas
|
||||
|
||||
**Limites de Linhas e Performance**
|
||||
- Fique atento aos limites de linhas ao usar `GOOGLE_SHEETS_GET_ROW`
|
||||
- Considere paginação para grandes volumes de dados
|
||||
- Use filtros específicos para reduzir a quantidade de dados processados
|
||||
|
||||
**Operações de Atualização**
|
||||
- Certifique-se de que as condições de filtro identifiquem corretamente as linhas a serem atualizadas
|
||||
- Teste condições de filtro com pequenos conjuntos de dados antes de grandes atualizações
|
||||
- Verifique se todos os campos obrigatórios estão incluídos nas operações de atualização
|
||||
|
||||
### Obtendo Ajuda
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para auxílio na configuração ou solução de problemas da integração com o Google Sheets.
|
||||
</Card>
|
||||
579
docs/pt-BR/enterprise/integrations/hubspot.mdx
Normal file
579
docs/pt-BR/enterprise/integrations/hubspot.mdx
Normal file
@@ -0,0 +1,579 @@
|
||||
---
|
||||
title: "Integração com HubSpot"
|
||||
description: "Gerencie empresas e contatos no HubSpot com o CrewAI."
|
||||
icon: "briefcase"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem empresas e contatos dentro do HubSpot. Crie novos registros e otimize seus processos de CRM com automação baseada em IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o HubSpot, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa.
|
||||
- Uma conta HubSpot com permissões adequadas.
|
||||
- Sua conta HubSpot conectada pela [página de Integrações](https://app.crewai.com/crewai_plus/connectors).
|
||||
|
||||
## Configurando a Integração com o HubSpot
|
||||
|
||||
### 1. Conecte Sua Conta HubSpot
|
||||
|
||||
1. Navegue até [CrewAI Enterprise Integrações](https://app.crewai.com/crewai_plus/connectors).
|
||||
2. Encontre **HubSpot** 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 gerenciamento de empresas e contatos.
|
||||
5. Copie o seu Token Enterprise nas [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account).
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="HUBSPOT_CREATE_RECORD_COMPANIES">
|
||||
**Descrição:** Crie um novo registro de empresa no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, obrigatório): Nome da empresa.
|
||||
- `domain` (string, opcional): Nome do domínio da empresa.
|
||||
- `industry` (string, opcional): Setor. Deve ser um dos valores predefinidos do HubSpot.
|
||||
- `phone` (string, opcional): Telefone.
|
||||
- `hubspot_owner_id` (string, opcional): ID do responsável pela empresa.
|
||||
- `type` (string, opcional): Tipo da empresa. Valores disponíveis: `PROSPECT`, `PARTNER`, `RESELLER`, `VENDOR`, `OTHER`.
|
||||
- `city` (string, opcional): Cidade.
|
||||
- `state` (string, opcional): Estado/Região.
|
||||
- `zip` (string, opcional): CEP.
|
||||
- `numberofemployees` (number, opcional): Número de funcionários.
|
||||
- `annualrevenue` (number, opcional): Receita anual.
|
||||
- `timezone` (string, opcional): Fuso horário.
|
||||
- `description` (string, opcional): Descrição.
|
||||
- `linkedin_company_page` (string, opcional): URL da página da empresa no LinkedIn.
|
||||
- `company_email` (string, opcional): E-mail da empresa.
|
||||
- `first_name` (string, opcional): Nome do contato na empresa.
|
||||
- `last_name` (string, opcional): Sobrenome do contato na empresa.
|
||||
- `about_us` (string, opcional): Sobre nós.
|
||||
- `hs_csm_sentiment` (string, opcional): Sentimento CSM. Valores disponíveis: `at_risk`, `neutral`, `healthy`.
|
||||
- `closedate` (string, opcional): Data de fechamento.
|
||||
- `hs_keywords` (string, opcional): Palavras-chave da empresa. Deve ser um dos valores predefinidos.
|
||||
- `country` (string, opcional): País/Região.
|
||||
- `hs_country_code` (string, opcional): Código do País/Região.
|
||||
- `hs_employee_range` (string, opcional): Faixa de funcionários.
|
||||
- `facebook_company_page` (string, opcional): URL da página da empresa no Facebook.
|
||||
- `facebookfans` (number, opcional): Número de fãs no Facebook.
|
||||
- `hs_gps_coordinates` (string, opcional): Coordenadas GPS.
|
||||
- `hs_gps_error` (string, opcional): Erro de GPS.
|
||||
- `googleplus_page` (string, opcional): URL da página do Google Plus.
|
||||
- `owneremail` (string, opcional): E-mail do proprietário no HubSpot.
|
||||
- `ownername` (string, opcional): Nome do proprietário no HubSpot.
|
||||
- `hs_ideal_customer_profile` (string, opcional): Tier de Perfil de Cliente Ideal. Valores disponíveis: `tier_1`, `tier_2`, `tier_3`.
|
||||
- `hs_industry_group` (string, opcional): Grupo do setor.
|
||||
- `is_public` (boolean, opcional): É público.
|
||||
- `hs_last_metered_enrichment_timestamp` (string, opcional): Último registro de enriquecimento medido.
|
||||
- `hs_lead_status` (string, opcional): Status do lead. Valores disponíveis: `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED`, `BAD_TIMING`.
|
||||
- `lifecyclestage` (string, opcional): Estágio no ciclo de vida. Valores disponíveis: `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, `evangelist`, `other`.
|
||||
- `linkedinbio` (string, opcional): Bio do LinkedIn.
|
||||
- `hs_linkedin_handle` (string, opcional): Handle do LinkedIn.
|
||||
- `hs_live_enrichment_deadline` (string, opcional): Prazo para enriquecimento ao vivo.
|
||||
- `hs_logo_url` (string, opcional): URL do logotipo.
|
||||
- `hs_analytics_source` (string, opcional): Fonte original do tráfego.
|
||||
- `hs_pinned_engagement_id` (number, opcional): ID do engajamento fixado.
|
||||
- `hs_quick_context` (string, opcional): Contexto rápido.
|
||||
- `hs_revenue_range` (string, opcional): Faixa de receita.
|
||||
- `hs_state_code` (string, opcional): Código do Estado/Região.
|
||||
- `address` (string, opcional): Endereço.
|
||||
- `address2` (string, opcional): Complemento de endereço.
|
||||
- `hs_is_target_account` (boolean, opcional): Conta alvo.
|
||||
- `hs_target_account` (string, opcional): Tier da Conta Alvo. Valores disponíveis: `tier_1`, `tier_2`, `tier_3`.
|
||||
- `hs_target_account_recommendation_snooze_time` (string, opcional): Tempo para adiar recomendação de conta alvo.
|
||||
- `hs_target_account_recommendation_state` (string, opcional): Estado da recomendação da conta alvo. Valores disponíveis: `DISMISSED`, `NONE`, `SNOOZED`.
|
||||
- `total_money_raised` (string, opcional): Total arrecadado.
|
||||
- `twitterbio` (string, opcional): Bio do Twitter.
|
||||
- `twitterfollowers` (number, opcional): Seguidores no Twitter.
|
||||
- `twitterhandle` (string, opcional): Usuário do Twitter.
|
||||
- `web_technologies` (string, opcional): Tecnologias web utilizadas. Deve ser um dos valores predefinidos.
|
||||
- `website` (string, opcional): URL do site.
|
||||
- `founded_year` (string, opcional): Ano de fundação.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_CREATE_RECORD_CONTACTS">
|
||||
**Descrição:** Crie um novo registro de contato no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `email` (string, obrigatório): E-mail do contato.
|
||||
- `firstname` (string, opcional): Nome.
|
||||
- `lastname` (string, opcional): Sobrenome.
|
||||
- `phone` (string, opcional): Telefone.
|
||||
- `hubspot_owner_id` (string, opcional): Responsável pelo contato.
|
||||
- `lifecyclestage` (string, opcional): Estágio no ciclo de vida. Valores disponíveis: `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, `evangelist`, `other`.
|
||||
- `hs_lead_status` (string, opcional): Status do lead. Valores disponíveis: `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED`, `BAD_TIMING`.
|
||||
- `annualrevenue` (string, opcional): Receita anual.
|
||||
- `hs_buying_role` (string, opcional): Papel na compra.
|
||||
- `cc_emails` (string, opcional): E-mails em cópia.
|
||||
- `ch_customer_id` (string, opcional): ID do cliente no Chargify.
|
||||
- `ch_customer_reference` (string, opcional): Referência do cliente no Chargify.
|
||||
- `chargify_sites` (string, opcional): Sites Chargify.
|
||||
- `city` (string, opcional): Cidade.
|
||||
- `hs_facebook_ad_clicked` (boolean, opcional): Clicou em anúncio do Facebook.
|
||||
- `hs_linkedin_ad_clicked` (string, opcional): Clicou em anúncio do LinkedIn.
|
||||
- `hs_clicked_linkedin_ad` (string, opcional): Clicou em anúncio do LinkedIn.
|
||||
- `closedate` (string, opcional): Data de fechamento.
|
||||
- `company` (string, opcional): Nome da empresa.
|
||||
- `company_size` (string, opcional): Tamanho da empresa.
|
||||
- `country` (string, opcional): País/Região.
|
||||
- `hs_country_region_code` (string, opcional): Código do País/Região.
|
||||
- `date_of_birth` (string, opcional): Data de nascimento.
|
||||
- `degree` (string, opcional): Grau de instrução.
|
||||
- `hs_email_customer_quarantined_reason` (string, opcional): Motivo da quarentena de e-mail.
|
||||
- `hs_role` (string, opcional): Cargo. Deve ser um dos valores predefinidos.
|
||||
- `hs_seniority` (string, opcional): Senioridade. Deve ser um dos valores predefinidos.
|
||||
- `hs_sub_role` (string, opcional): Sub papel. Deve ser um dos valores predefinidos.
|
||||
- `hs_employment_change_detected_date` (string, opcional): Data da detecção de mudança de emprego.
|
||||
- `hs_enriched_email_bounce_detected` (boolean, opcional): Bounce de e-mail enriquecido detectado.
|
||||
- `hs_facebookid` (string, opcional): Facebook ID.
|
||||
- `hs_facebook_click_id` (string, opcional): ID de clique no Facebook.
|
||||
- `fax` (string, opcional): Fax.
|
||||
- `field_of_study` (string, opcional): Área de estudo.
|
||||
- `followercount` (number, opcional): Número de seguidores.
|
||||
- `gender` (string, opcional): Gênero.
|
||||
- `hs_google_click_id` (string, opcional): ID de clique no Google.
|
||||
- `graduation_date` (string, opcional): Data de graduação.
|
||||
- `owneremail` (string, opcional): E-mail do proprietário no HubSpot (legado).
|
||||
- `ownername` (string, opcional): Nome do proprietário no HubSpot (legado).
|
||||
- `industry` (string, opcional): Setor.
|
||||
- `hs_inferred_language_codes` (string, opcional): Códigos de idioma inferido. Deve ser um dos valores predefinidos.
|
||||
- `jobtitle` (string, opcional): Cargo.
|
||||
- `hs_job_change_detected_date` (string, opcional): Data de detecção de mudança de emprego.
|
||||
- `job_function` (string, opcional): Função.
|
||||
- `hs_journey_stage` (string, opcional): Estágio da jornada. Deve ser um dos valores predefinidos.
|
||||
- `kloutscoregeneral` (number, opcional): Klout Score.
|
||||
- `hs_last_metered_enrichment_timestamp` (string, opcional): Último registro de enriquecimento medido.
|
||||
- `hs_latest_source` (string, opcional): Fonte de tráfego mais recente.
|
||||
- `hs_latest_source_timestamp` (string, opcional): Data da fonte mais recente.
|
||||
- `hs_legal_basis` (string, opcional): Base legal para o processamento dos dados do contato.
|
||||
- `linkedinbio` (string, opcional): Bio do LinkedIn.
|
||||
- `linkedinconnections` (number, opcional): Conexões no LinkedIn.
|
||||
- `hs_linkedin_url` (string, opcional): URL do LinkedIn.
|
||||
- `hs_linkedinid` (string, opcional): Linkedin ID.
|
||||
- `hs_live_enrichment_deadline` (string, opcional): Prazo para enriquecimento ao vivo.
|
||||
- `marital_status` (string, opcional): Estado civil.
|
||||
- `hs_content_membership_email` (string, opcional): E-mail de membro.
|
||||
- `hs_content_membership_notes` (string, opcional): Notas de associação.
|
||||
- `message` (string, opcional): Mensagem.
|
||||
- `military_status` (string, opcional): Status militar.
|
||||
- `mobilephone` (string, opcional): Celular.
|
||||
- `numemployees` (string, opcional): Número de funcionários.
|
||||
- `hs_analytics_source` (string, opcional): Fonte original do tráfego.
|
||||
- `photo` (string, opcional): Foto.
|
||||
- `hs_pinned_engagement_id` (number, opcional): ID de engajamento fixado.
|
||||
- `zip` (string, opcional): CEP.
|
||||
- `hs_language` (string, opcional): Idioma preferencial. Deve ser um dos valores predefinidos.
|
||||
- `associatedcompanyid` (number, opcional): ID da empresa associada primária.
|
||||
- `hs_email_optout_survey_reason` (string, opcional): Motivo da recusa de e-mail.
|
||||
- `relationship_status` (string, opcional): Status de relacionamento.
|
||||
- `hs_returning_to_office_detected_date` (string, opcional): Data de retorno ao escritório detectada.
|
||||
- `salutation` (string, opcional): Saudação.
|
||||
- `school` (string, opcional): Escola.
|
||||
- `seniority` (string, opcional): Senioridade.
|
||||
- `hs_feedback_show_nps_web_survey` (boolean, opcional): Mostrar pesquisa NPS na web.
|
||||
- `start_date` (string, opcional): Data de início.
|
||||
- `state` (string, opcional): Estado/Região.
|
||||
- `hs_state_code` (string, opcional): Código do Estado/Região.
|
||||
- `hs_content_membership_status` (string, opcional): Status.
|
||||
- `address` (string, opcional): Endereço.
|
||||
- `tax_exempt` (string, opcional): Isento de impostos.
|
||||
- `hs_timezone` (string, opcional): Fuso horário. Deve ser um dos valores predefinidos.
|
||||
- `twitterbio` (string, opcional): Bio do Twitter.
|
||||
- `hs_twitterid` (string, opcional): Twitter ID.
|
||||
- `twitterprofilephoto` (string, opcional): Foto de perfil do Twitter.
|
||||
- `twitterhandle` (string, opcional): Usuário do Twitter.
|
||||
- `vat_number` (string, opcional): Número VAT.
|
||||
- `ch_verified` (string, opcional): Verificado para pagamentos ACH/eCheck.
|
||||
- `website` (string, opcional): URL do site.
|
||||
- `hs_whatsapp_phone_number` (string, opcional): Número do WhatsApp.
|
||||
- `work_email` (string, opcional): E-mail corporativo.
|
||||
- `hs_googleplusid` (string, opcional): googleplus ID.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_CREATE_RECORD_DEALS">
|
||||
**Descrição:** Crie um novo registro de negócio (deal) no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `dealname` (string, obrigatório): Nome do negócio.
|
||||
- `amount` (number, opcional): Valor do negócio.
|
||||
- `dealstage` (string, opcional): Estágio no pipeline.
|
||||
- `pipeline` (string, opcional): Pipeline ao qual o negócio pertence.
|
||||
- `closedate` (string, opcional): Data prevista de fechamento do negócio.
|
||||
- `hubspot_owner_id` (string, opcional): Responsável pelo negócio.
|
||||
- `dealtype` (string, opcional): Tipo do negócio. Valores disponíveis: `newbusiness`, `existingbusiness`.
|
||||
- `description` (string, opcional): Descrição do negócio.
|
||||
- `hs_priority` (string, opcional): Prioridade do negócio. Valores disponíveis: `low`, `medium`, `high`.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_CREATE_RECORD_ENGAGEMENTS">
|
||||
**Descrição:** Crie um novo engajamento (ex: nota, e-mail, ligação, reunião, tarefa) no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `engagementType` (string, obrigatório): Tipo de engajamento. Valores disponíveis: `NOTE`, `EMAIL`, `CALL`, `MEETING`, `TASK`.
|
||||
- `hubspot_owner_id` (string, opcional): Usuário responsável pela atividade.
|
||||
- `hs_timestamp` (string, opcional): Data e hora da atividade.
|
||||
- `hs_note_body` (string, opcional): Corpo da nota. (Utilizado para `NOTE`)
|
||||
- `hs_task_subject` (string, opcional): Título da tarefa. (Utilizado para `TASK`)
|
||||
- `hs_task_body` (string, opcional): Notas da tarefa. (Utilizado para `TASK`)
|
||||
- `hs_task_status` (string, opcional): Status da tarefa. (Utilizado para `TASK`)
|
||||
- `hs_meeting_title` (string, opcional): Título da reunião. (Utilizado para `MEETING`)
|
||||
- `hs_meeting_body` (string, opcional): Descrição da reunião. (Utilizado para `MEETING`)
|
||||
- `hs_meeting_start_time` (string, opcional): Horário de início da reunião. (Utilizado para `MEETING`)
|
||||
- `hs_meeting_end_time` (string, opcional): Horário de término da reunião. (Utilizado para `MEETING`)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_UPDATE_RECORD_COMPANIES">
|
||||
**Descrição:** Atualize um registro de empresa existente no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID da empresa a ser atualizada.
|
||||
- `name` (string, opcional): Nome da empresa.
|
||||
- `domain` (string, opcional): Nome do domínio da empresa.
|
||||
- `industry` (string, opcional): Setor.
|
||||
- `phone` (string, opcional): Telefone.
|
||||
- `city` (string, opcional): Cidade.
|
||||
- `state` (string, opcional): Estado/Região.
|
||||
- `zip` (string, opcional): CEP.
|
||||
- `numberofemployees` (number, opcional): Número de funcionários.
|
||||
- `annualrevenue` (number, opcional): Receita anual.
|
||||
- `description` (string, opcional): Descrição.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_CREATE_RECORD_ANY">
|
||||
**Descrição:** Crie um registro para um tipo de objeto especificado no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): ID do tipo de objeto personalizado.
|
||||
- Parâmetros adicionais dependem do esquema do objeto personalizado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_UPDATE_RECORD_CONTACTS">
|
||||
**Descrição:** Atualize um registro de contato existente no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do contato a ser atualizado.
|
||||
- `firstname` (string, opcional): Nome.
|
||||
- `lastname` (string, opcional): Sobrenome.
|
||||
- `email` (string, opcional): E-mail.
|
||||
- `phone` (string, opcional): Telefone.
|
||||
- `company` (string, opcional): Nome da empresa.
|
||||
- `jobtitle` (string, opcional): Cargo.
|
||||
- `lifecyclestage` (string, opcional): Estágio no ciclo de vida.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_UPDATE_RECORD_DEALS">
|
||||
**Descrição:** Atualize um registro de negócio existente no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do negócio a ser atualizado.
|
||||
- `dealname` (string, opcional): Nome do negócio.
|
||||
- `amount` (number, opcional): Valor do negócio.
|
||||
- `dealstage` (string, opcional): Estágio do pipeline.
|
||||
- `pipeline` (string, opcional): Pipeline ao qual o negócio pertence.
|
||||
- `closedate` (string, opcional): Data prevista de fechamento.
|
||||
- `dealtype` (string, opcional): Tipo de negócio.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_UPDATE_RECORD_ENGAGEMENTS">
|
||||
**Descrição:** Atualize um engajamento existente no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do engajamento a ser atualizado.
|
||||
- `hs_note_body` (string, opcional): Corpo da nota.
|
||||
- `hs_task_subject` (string, opcional): Título da tarefa.
|
||||
- `hs_task_body` (string, opcional): Notas da tarefa.
|
||||
- `hs_task_status` (string, opcional): Status da tarefa.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_UPDATE_RECORD_ANY">
|
||||
**Descrição:** Atualize um registro para um tipo de objeto especificado no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado.
|
||||
- `recordType` (string, obrigatório): ID do tipo de objeto personalizado.
|
||||
- Parâmetros adicionais dependem do esquema do objeto personalizado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORDS_COMPANIES">
|
||||
**Descrição:** Obtenha uma lista de registros de empresas do HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORDS_CONTACTS">
|
||||
**Descrição:** Obtenha uma lista de registros de contatos do HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORDS_DEALS">
|
||||
**Descrição:** Obtenha uma lista de registros de negócios do HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORDS_ENGAGEMENTS">
|
||||
**Descrição:** Obtenha uma lista de registros de engajamentos do HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `objectName` (string, obrigatório): O tipo de engajamento a ser buscado (ex.: "notes").
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORDS_ANY">
|
||||
**Descrição:** Obtenha uma lista de registros de qualquer tipo de objeto no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): O ID do tipo de objeto personalizado.
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORD_BY_ID_COMPANIES">
|
||||
**Descrição:** Obtenha um registro de empresa pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID da empresa a ser consultada.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORD_BY_ID_CONTACTS">
|
||||
**Descrição:** Obtenha um registro de contato pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do contato a ser consultado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORD_BY_ID_DEALS">
|
||||
**Descrição:** Obtenha um registro de negócio pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do negócio a ser consultado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORD_BY_ID_ENGAGEMENTS">
|
||||
**Descrição:** Obtenha um registro de engajamento pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do engajamento a ser consultado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_RECORD_BY_ID_ANY">
|
||||
**Descrição:** Obtenha um registro de qualquer tipo de objeto especificado pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): ID do tipo de objeto personalizado.
|
||||
- `recordId` (string, obrigatório): ID do registro a ser consultado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_SEARCH_RECORDS_COMPANIES">
|
||||
**Descrição:** Pesquise registros de empresas no HubSpot utilizando uma fórmula de filtro.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro em forma normal disjuntiva (OU de E).
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_SEARCH_RECORDS_CONTACTS">
|
||||
**Descrição:** Pesquise registros de contatos no HubSpot utilizando uma fórmula de filtro.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro em forma normal disjuntiva (OU de E).
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_SEARCH_RECORDS_DEALS">
|
||||
**Descrição:** Pesquise registros de negócios no HubSpot utilizando uma fórmula de filtro.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro em forma normal disjuntiva (OU de E).
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_SEARCH_RECORDS_ENGAGEMENTS">
|
||||
**Descrição:** Pesquise registros de engajamento no HubSpot utilizando uma fórmula de filtro.
|
||||
|
||||
**Parâmetros:**
|
||||
- `engagementFilterFormula` (object, opcional): Filtro para engajamentos.
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_SEARCH_RECORDS_ANY">
|
||||
**Descrição:** Pesquise registros de qualquer tipo de objeto no HubSpot.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): O ID do tipo de objeto para pesquisa.
|
||||
- `filterFormula` (string, opcional): Fórmula de filtro a aplicar.
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para buscar páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DELETE_RECORD_COMPANIES">
|
||||
**Descrição:** Exclua um registro de empresa pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID da empresa a ser excluída.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DELETE_RECORD_CONTACTS">
|
||||
**Descrição:** Exclua um registro de contato pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do contato a ser excluído.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DELETE_RECORD_DEALS">
|
||||
**Descrição:** Exclua um registro de negócio pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do negócio a ser excluído.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DELETE_RECORD_ENGAGEMENTS">
|
||||
**Descrição:** Exclua um registro de engajamento pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do engajamento a ser excluído.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DELETE_RECORD_ANY">
|
||||
**Descrição:** Exclua um registro de qualquer tipo de objeto especificado pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): ID do tipo de objeto personalizado.
|
||||
- `recordId` (string, obrigatório): ID do registro a ser excluído.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_GET_CONTACTS_BY_LIST_ID">
|
||||
**Descrição:** Obtenha contatos de uma lista específica pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listId` (string, obrigatório): ID da lista da qual obter os contatos.
|
||||
- `paginationParameters` (object, opcional): Use `pageCursor` para páginas subsequentes.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HUBSPOT_DESCRIBE_ACTION_SCHEMA">
|
||||
**Descrição:** Obtenha o esquema esperado para um dado tipo de objeto e operação.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): ID do tipo de objeto (ex.: 'companies').
|
||||
- `operation` (string, obrigatório): Tipo de operação (ex.: 'CREATE_RECORD').
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente HubSpot
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha as ferramentas enterprise (ferramentas HubSpot incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Crie um agente com capacidades HubSpot
|
||||
hubspot_agent = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage company and contact records in HubSpot",
|
||||
backstory="An AI assistant specialized in CRM management.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task para criar nova empresa
|
||||
create_company_task = Task(
|
||||
description="Create a new company in HubSpot with name 'Innovate Corp' and domain 'innovatecorp.com'.",
|
||||
agent=hubspot_agent,
|
||||
expected_output="Company created successfully with confirmation"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[hubspot_agent],
|
||||
tasks=[create_company_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas HubSpot Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha somente a ferramenta para criar contatos
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["hubspot_create_record_contacts"]
|
||||
)
|
||||
|
||||
contact_creator = Agent(
|
||||
role="Contact Creator",
|
||||
goal="Create new contacts in HubSpot",
|
||||
backstory="An AI assistant that focuses on creating new contact entries in the CRM.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task para criar contato
|
||||
create_contact = Task(
|
||||
description="Create a new contact for 'John Doe' with email 'john.doe@example.com'.",
|
||||
agent=contact_creator,
|
||||
expected_output="Contact created successfully in HubSpot."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[contact_creator],
|
||||
tasks=[create_contact]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Contatos
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
crm_manager = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage and organize HubSpot contacts efficiently.",
|
||||
backstory="An experienced CRM manager who maintains an organized contact database.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task para gerenciar contatos
|
||||
contact_task = Task(
|
||||
description="Create a new contact for 'Jane Smith' at 'Global Tech Inc.' with email 'jane.smith@globaltech.com'.",
|
||||
agent=crm_manager,
|
||||
expected_output="Contact database updated with the new contact."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[crm_manager],
|
||||
tasks=[contact_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Precisa de Ajuda?
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência na configuração ou solução de problemas com a integração HubSpot.
|
||||
</Card>
|
||||
394
docs/pt-BR/enterprise/integrations/jira.mdx
Normal file
394
docs/pt-BR/enterprise/integrations/jira.mdx
Normal file
@@ -0,0 +1,394 @@
|
||||
---
|
||||
title: Integração com Jira
|
||||
description: "Rastreamento de problemas e gestão de projetos com a integração Jira para CrewAI."
|
||||
icon: "bug"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem problemas, projetos e fluxos de trabalho pelo Jira. Crie e atualize issues, acompanhe o progresso de projetos, gerencie atribuições e otimize sua gestão de projetos com automação potencializada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Jira, certifique-se de ter:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Jira com permissões adequadas para o projeto
|
||||
- Sua conta Jira conectada pela [Página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o Jira
|
||||
|
||||
### 1. Conectar Sua Conta Jira
|
||||
|
||||
1. Acesse [Integrações CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Jira** na seção de Integrações de Autenticação
|
||||
3. Clique em **Conectar** e complete o fluxo do OAuth
|
||||
4. Conceda as permissões necessárias para gestão de issues e projetos
|
||||
5. Copie seu Token Enterprise em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instalar o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="JIRA_CREATE_ISSUE">
|
||||
**Descrição:** Cria uma issue no Jira.
|
||||
|
||||
**Parâmetros:**
|
||||
- `summary` (string, obrigatório): Resumo - Um breve resumo da issue. (exemplo: "A impressora parou de funcionar").
|
||||
- `project` (string, opcional): Projeto - Projeto ao qual a issue pertence. Padrão para o primeiro projeto do usuário se não informado. Use as Configurações de Workflow do Portal de Conexão para permitir a seleção de Projeto.
|
||||
- `issueType` (string, opcional): Tipo de issue - Padrão para Task se não informado.
|
||||
- `jiraIssueStatus` (string, opcional): Status - Padrão para o primeiro status do projeto se não informado.
|
||||
- `assignee` (string, opcional): Responsável - Padrão para o usuário autenticado se não informado.
|
||||
- `descriptionType` (string, opcional): Tipo de Descrição - Selecione o Tipo de Descrição.
|
||||
- Opções: `description`, `descriptionJSON`
|
||||
- `description` (string, opcional): Descrição - Uma descrição detalhada da issue. Este campo aparece apenas se 'descriptionType' = 'description'.
|
||||
- `additionalFields` (string, opcional): Campos Adicionais - Especifique outros campos em formato JSON. Use as Configurações de Workflow do Portal de Conexão para permitir ao usuário selecionar quais campos atualizar.
|
||||
```json
|
||||
{
|
||||
"customfield_10001": "value"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_UPDATE_ISSUE">
|
||||
**Descrição:** Atualiza uma issue no Jira.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueKey` (string, obrigatório): Chave da Issue (exemplo: "TEST-1234").
|
||||
- `summary` (string, opcional): Resumo - Breve resumo da issue. (exemplo: "A impressora parou de funcionar").
|
||||
- `issueType` (string, opcional): Tipo de issue - Use as Configurações de Workflow do Portal de Conexão para permitir a seleção.
|
||||
- `jiraIssueStatus` (string, opcional): Status - Use as Configurações de Workflow do Portal de Conexão para permitir a seleção.
|
||||
- `assignee` (string, opcional): Responsável - Use as Configurações de Workflow do Portal de Conexão para permitir a seleção.
|
||||
- `descriptionType` (string, opcional): Tipo de Descrição - Selecione o Tipo de Descrição.
|
||||
- Opções: `description`, `descriptionJSON`
|
||||
- `description` (string, opcional): Descrição - Descrição detalhada da issue. Este campo aparece apenas se 'descriptionType' = 'description'.
|
||||
- `additionalFields` (string, opcional): Campos Adicionais - Especifique outros campos em formato JSON.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_ISSUE_BY_KEY">
|
||||
**Descrição:** Obtém uma issue pelo identificador no Jira.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueKey` (string, obrigatório): Chave da Issue (exemplo: "TEST-1234").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_FILTER_ISSUES">
|
||||
**Descrição:** Busca issues no Jira usando filtros.
|
||||
|
||||
**Parâmetros:**
|
||||
- `jqlQuery` (object, opcional): Filtro em forma normal disjuntiva - OU de grupos E de condições simples.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "status",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "Open"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Operadores disponíveis: `$stringExactlyMatches`, `$stringDoesNotExactlyMatch`, `$stringIsIn`, `$stringIsNotIn`, `$stringContains`, `$stringDoesNotContain`, `$stringGreaterThan`, `$stringLessThan`
|
||||
- `limit` (string, opcional): Limitar resultados - Limite máximo de issues retornados. Padrão para 10 se estiver em branco.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_SEARCH_BY_JQL">
|
||||
**Descrição:** Busca issues no Jira utilizando JQL.
|
||||
|
||||
**Parâmetros:**
|
||||
- `jqlQuery` (string, obrigatório): Query JQL (exemplo: "project = PROJECT").
|
||||
- `paginationParameters` (object, opcional): Parâmetros de paginação para resultados paginados.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_UPDATE_ISSUE_ANY">
|
||||
**Descrição:** Atualiza qualquer issue no Jira. Use DESCRIBE_ACTION_SCHEMA para obter o schema de propriedades dessa função.
|
||||
|
||||
**Parâmetros:** Nenhum parâmetro específico - use JIRA_DESCRIBE_ACTION_SCHEMA primeiro para obter o schema esperado.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_DESCRIBE_ACTION_SCHEMA">
|
||||
**Descrição:** Obtém o schema esperado para um tipo de issue. Use esta função caso nenhuma outra função atenda ao tipo de issue que deseja operar.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueTypeId` (string, obrigatório): ID do Tipo de Issue.
|
||||
- `projectKey` (string, obrigatório): Chave do projeto.
|
||||
- `operation` (string, obrigatório): Tipo de Operação, por exemplo CREATE_ISSUE ou UPDATE_ISSUE.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_PROJECTS">
|
||||
**Descrição:** Obtém os projetos no Jira.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (object, opcional): Parâmetros de Paginação.
|
||||
```json
|
||||
{
|
||||
"pageCursor": "cursor_string"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_ISSUE_TYPES_BY_PROJECT">
|
||||
**Descrição:** Obtém os tipos de issues por projeto no Jira.
|
||||
|
||||
**Parâmetros:**
|
||||
- `project` (string, obrigatório): Chave do projeto.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_ISSUE_TYPES">
|
||||
**Descrição:** Obtém todos os tipos de issues no Jira.
|
||||
|
||||
**Parâmetros:** Nenhum obrigatório.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_ISSUE_STATUS_BY_PROJECT">
|
||||
**Descrição:** Obtém os status das issues de um projeto específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `project` (string, obrigatório): Chave do projeto.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="JIRA_GET_ALL_ASSIGNEES_BY_PROJECT">
|
||||
**Descrição:** Obtém os responsáveis por um projeto específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `project` (string, obrigatório): Chave do projeto.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de um Agente Jira
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha as ferramentas enterprise (incluirá ferramentas do Jira)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Criação de um agente com capacidades Jira
|
||||
jira_agent = Agent(
|
||||
role="Issue Manager",
|
||||
goal="Gerenciar issues do Jira e acompanhar o progresso do projeto de forma eficiente",
|
||||
backstory="Um assistente de IA especializado em rastreamento de issues e gestão de projetos.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para criar um relatório de bug
|
||||
create_bug_task = Task(
|
||||
description="Criar um relatório de bug para a funcionalidade de login com alta prioridade e designar para o time de desenvolvimento",
|
||||
agent=jira_agent,
|
||||
expected_output="Bug report creado com sucesso e chave da issue"
|
||||
)
|
||||
|
||||
# Executar a tarefa
|
||||
crew = Crew(
|
||||
agents=[jira_agent],
|
||||
tasks=[create_bug_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Jira Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha apenas ferramentas Jira específicas
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["jira_create_issue", "jira_update_issue", "jira_search_by_jql"]
|
||||
)
|
||||
|
||||
issue_coordinator = Agent(
|
||||
role="Issue Coordinator",
|
||||
goal="Criar e gerenciar issues Jira de forma eficiente",
|
||||
backstory="Um assistente de IA focado na criação e gestão de issues.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para gerenciar workflow de issues
|
||||
issue_workflow = Task(
|
||||
description="Criar uma issue de solicitação de feature e atualizar o status de issues relacionadas",
|
||||
agent=issue_coordinator,
|
||||
expected_output="Feature request criada e issues relacionadas atualizadas"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[issue_coordinator],
|
||||
tasks=[issue_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Análise e Relatórios de Projeto
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
project_analyst = Agent(
|
||||
role="Project Analyst",
|
||||
goal="Analisar dados de projetos e gerar insights a partir do Jira",
|
||||
backstory="Um analista de projetos experiente que extrai insights de dados de gestão de projetos.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para analisar status do projeto
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Obtenha todos os projetos e seus tipos de issues
|
||||
2. Busque todas as issues abertas entre projetos
|
||||
3. Analise distribuição de issues por status e responsável
|
||||
4. Crie uma issue de relatório de resumo com os achados
|
||||
""",
|
||||
agent=project_analyst,
|
||||
expected_output="Análise do projeto completa com relatório de resumo criado"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gestão Automatizada de Issues
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
automation_manager = Agent(
|
||||
role="Automation Manager",
|
||||
goal="Automatizar gestão de issues e processos de workflow",
|
||||
backstory="Um assistente de IA que automatiza tarefas repetitivas de gestão de issues.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para automatizar gestão de issues
|
||||
automation_task = Task(
|
||||
description="""
|
||||
1. Buscar todas as issues não atribuídas usando JQL
|
||||
2. Obter responsáveis disponíveis de cada projeto
|
||||
3. Atribuir issues automaticamente com base na carga de trabalho e especialidade
|
||||
4. Atualizar prioridades das issues baseando-se na idade e tipo
|
||||
5. Criar issues semanais de planejamento de sprint
|
||||
""",
|
||||
agent=automation_manager,
|
||||
expected_output="Issues atribuídas automaticamente e issues de planejamento de sprint criadas"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[automation_manager],
|
||||
tasks=[automation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Operações Avançadas Baseadas em Schema
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
schema_specialist = Agent(
|
||||
role="Schema Specialist",
|
||||
goal="Executar operações complexas no Jira usando schemas dinâmicos",
|
||||
backstory="Um assistente de IA que manipula schemas dinâmicos e tipos de issues customizadas do Jira.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa usando operações baseadas em schema
|
||||
schema_task = Task(
|
||||
description="""
|
||||
1. Obtenha todos os projetos e seus tipos personalizados de issues
|
||||
2. Para cada tipo personalizado, descreva o schema de ação
|
||||
3. Crie issues usando schema dinâmico para campos complexos customizados
|
||||
4. Atualize issues com valores de campos personalizados a partir de regras de negócio
|
||||
""",
|
||||
agent=schema_specialist,
|
||||
expected_output="Issues customizadas criadas e atualizadas utilizando schemas dinâmicos"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[schema_specialist],
|
||||
tasks=[schema_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
**Erros de Permissão**
|
||||
- Certifique-se de que sua conta Jira tem as permissões necessárias nos projetos alvo
|
||||
- Verifique se a conexão OAuth inclui os escopos necessários da API Jira
|
||||
- Confira se você possui permissões de criar/editar issues nos projetos especificados
|
||||
|
||||
**Chaves de Projeto ou Issue Inválidas**
|
||||
- Confira o formato das chaves dos projetos e issues (ex: "PROJ-123")
|
||||
- Verifique se os projetos existem e são acessíveis pela sua conta
|
||||
- Certifique-se de que chaves de issues referenciam issues existentes
|
||||
|
||||
**Problemas de Tipo ou Status de Issue**
|
||||
- Use JIRA_GET_ISSUE_TYPES_BY_PROJECT para obter tipos válidos de issue para um projeto
|
||||
- Use JIRA_GET_ISSUE_STATUS_BY_PROJECT para obter status válidos
|
||||
- Certifique-se de que tipos e status de issue estão disponíveis no projeto alvo
|
||||
|
||||
**Problemas com Queries JQL**
|
||||
- Teste as queries JQL na busca de issues do Jira antes de utilizar em chamadas de API
|
||||
- Certifique-se de que os nomes dos campos em JQL estejam corretos e existam em sua instância do Jira
|
||||
- Use a sintaxe correta de JQL para queries complexas
|
||||
|
||||
**Problemas com Campos Customizados e Schemas**
|
||||
- Use JIRA_DESCRIBE_ACTION_SCHEMA para obter o schema correto para tipos de issues complexas
|
||||
- Certifique-se de que os IDs dos campos customizados estão corretos (ex: "customfield_10001")
|
||||
- Verifique se esses campos estão disponíveis no projeto e tipo de issue alvo
|
||||
|
||||
**Problemas de Fórmulas de Filtro**
|
||||
- Garanta que as fórmulas de filtro sigam a estrutura JSON correta para forma normal disjuntiva
|
||||
- Use apenas campos válidos conforme configuração do seu Jira
|
||||
- Teste filtros simples antes de construir queries complexas com múltiplas condições
|
||||
|
||||
### Obtenha Ajuda
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para obter assistência na configuração ou solução de problemas da integração Jira.
|
||||
</Card>
|
||||
453
docs/pt-BR/enterprise/integrations/linear.mdx
Normal file
453
docs/pt-BR/enterprise/integrations/linear.mdx
Normal file
@@ -0,0 +1,453 @@
|
||||
---
|
||||
title: Integração com o Linear
|
||||
description: "Acompanhamento de projetos de software e rastreamento de bugs com a integração Linear para CrewAI."
|
||||
icon: "list-check"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem issues, projetos e fluxos de trabalho de desenvolvimento através do Linear. Crie e atualize issues, gerencie cronogramas de projetos, organize equipes e otimize seu processo de desenvolvimento de software com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o Linear, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com uma assinatura ativa
|
||||
- Uma conta Linear com permissões apropriadas no workspace
|
||||
- Conectou sua conta Linear através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o Linear
|
||||
|
||||
### 1. Conecte sua Conta Linear
|
||||
|
||||
1. Navegue até [Integrações CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Encontre **Linear** na seção Integrações de Autenticação
|
||||
3. Clique em **Conectar** e complete o fluxo OAuth
|
||||
4. Conceda as permissões necessárias para gerenciamento de issues e projetos
|
||||
5. Copie seu Token Empresarial em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="LINEAR_CREATE_ISSUE">
|
||||
**Descrição:** Crie uma nova issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `teamId` (string, obrigatório): ID da Equipe - Especifique o ID da equipe responsável para esta nova issue. Use as Configurações de Fluxo do Connect Portal para permitir que usuários escolham um ID de Equipe. (exemplo: "a70bdf0f-530a-4887-857d-46151b52b47c").
|
||||
- `title` (string, obrigatório): Título - Especifique um título para esta issue.
|
||||
- `description` (string, opcional): Descrição - Especifique uma descrição para esta issue.
|
||||
- `statusId` (string, opcional): Status - Especifique o status desta issue.
|
||||
- `priority` (string, opcional): Prioridade - Especifique a prioridade desta issue como um inteiro.
|
||||
- `dueDate` (string, opcional): Data de Vencimento - Especifique a data de vencimento desta issue no formato ISO 8601.
|
||||
- `cycleId` (string, opcional): ID do Ciclo - Especifique o ciclo associado a esta issue.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais.
|
||||
```json
|
||||
{
|
||||
"assigneeId": "a70bdf0f-530a-4887-857d-46151b52b47c",
|
||||
"labelIds": ["a70bdf0f-530a-4887-857d-46151b52b47c"]
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_UPDATE_ISSUE">
|
||||
**Descrição:** Atualize uma issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueId` (string, obrigatório): ID da Issue - Especifique o ID da issue a ser atualizada. (exemplo: "90fbc706-18cd-42c9-ae66-6bd344cc8977").
|
||||
- `title` (string, opcional): Título - Especifique um título para esta issue.
|
||||
- `description` (string, opcional): Descrição - Especifique uma descrição para esta issue.
|
||||
- `statusId` (string, opcional): Status - Especifique o status desta issue.
|
||||
- `priority` (string, opcional): Prioridade - Especifique a prioridade desta issue como um inteiro.
|
||||
- `dueDate` (string, opcional): Data de Vencimento - Especifique a data de vencimento desta issue no formato ISO 8601.
|
||||
- `cycleId` (string, opcional): ID do Ciclo - Especifique o ciclo associado a esta issue.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais.
|
||||
```json
|
||||
{
|
||||
"assigneeId": "a70bdf0f-530a-4887-857d-46151b52b47c",
|
||||
"labelIds": ["a70bdf0f-530a-4887-857d-46151b52b47c"]
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_GET_ISSUE_BY_ID">
|
||||
**Descrição:** Obtenha uma issue pelo ID no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueId` (string, obrigatório): ID da Issue - Especifique o ID do registro da issue a ser buscada. (exemplo: "90fbc706-18cd-42c9-ae66-6bd344cc8977").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_GET_ISSUE_BY_ISSUE_IDENTIFIER">
|
||||
**Descrição:** Obtenha uma issue através do identificador da issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `externalId` (string, obrigatório): ID Externo - Especifique o identificador legível da issue a ser buscada. (exemplo: "ABC-1").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_SEARCH_ISSUE">
|
||||
**Descrição:** Pesquise issues no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `queryTerm` (string, obrigatório): Termo de Pesquisa - O termo a ser localizado na busca.
|
||||
- `issueFilterFormula` (object, opcional): Um filtro na forma normal disjuntiva – OU de grupos E de condições únicas.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "title",
|
||||
"operator": "$stringContains",
|
||||
"value": "bug"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `title`, `number`, `project`, `createdAt`
|
||||
Operadores disponíveis: `$stringExactlyMatches`, `$stringDoesNotExactlyMatch`, `$stringIsIn`, `$stringIsNotIn`, `$stringStartsWith`, `$stringDoesNotStartWith`, `$stringEndsWith`, `$stringDoesNotEndWith`, `$stringContains`, `$stringDoesNotContain`, `$stringGreaterThan`, `$stringLessThan`, `$numberGreaterThanOrEqualTo`, `$numberLessThanOrEqualTo`, `$numberGreaterThan`, `$numberLessThan`, `$dateTimeAfter`, `$dateTimeBefore`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_DELETE_ISSUE">
|
||||
**Descrição:** Exclua uma issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueId` (string, obrigatório): ID da Issue - Especifique o ID do registro da issue a ser excluída. (exemplo: "90fbc706-18cd-42c9-ae66-6bd344cc8977").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_ARCHIVE_ISSUE">
|
||||
**Descrição:** Arquive uma issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `issueId` (string, obrigatório): ID da Issue - Especifique o ID do registro da issue a ser arquivada. (exemplo: "90fbc706-18cd-42c9-ae66-6bd344cc8977").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_CREATE_SUB_ISSUE">
|
||||
**Descrição:** Crie uma sub-issue no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `parentId` (string, obrigatório): ID do Pai - Especifique o ID da issue pai desta nova issue.
|
||||
- `teamId` (string, obrigatório): ID da Equipe - Especifique o ID da equipe responsável pela nova sub-issue. Use as Configurações de Fluxo do Connect Portal para permitir que usuários escolham um ID de Equipe. (exemplo: "a70bdf0f-530a-4887-857d-46151b52b47c").
|
||||
- `title` (string, obrigatório): Título - Especifique um título para esta issue.
|
||||
- `description` (string, opcional): Descrição - Especifique uma descrição para esta issue.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais.
|
||||
```json
|
||||
{
|
||||
"lead": "linear_user_id"
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_CREATE_PROJECT">
|
||||
**Descrição:** Crie um novo projeto no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `teamIds` (object, obrigatório): ID da Equipe - Especifique o(s) ID(s) da equipe associada a este projeto como string ou array JSON. Use as Configurações de Usuário do Connect Portal para que seu usuário selecione um ID de Equipe.
|
||||
```json
|
||||
[
|
||||
"a70bdf0f-530a-4887-857d-46151b52b47c",
|
||||
"4ac7..."
|
||||
]
|
||||
```
|
||||
- `projectName` (string, obrigatório): Nome do Projeto - Especifique o nome do projeto. (exemplo: "Meu Projeto Linear").
|
||||
- `description` (string, opcional): Descrição do Projeto - Especifique uma descrição para este projeto.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais.
|
||||
```json
|
||||
{
|
||||
"state": "planned",
|
||||
"description": ""
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_UPDATE_PROJECT">
|
||||
**Descrição:** Atualize um projeto no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `projectId` (string, obrigatório): ID do Projeto - Especifique o ID do projeto a ser atualizado. (exemplo: "a6634484-6061-4ac7-9739-7dc5e52c796b").
|
||||
- `projectName` (string, opcional): Nome do Projeto - Especifique o nome do projeto a ser atualizado. (exemplo: "Meu Projeto Linear").
|
||||
- `description` (string, opcional): Descrição do Projeto - Especifique uma descrição para este projeto.
|
||||
- `additionalFields` (object, opcional): Campos Adicionais.
|
||||
```json
|
||||
{
|
||||
"state": "planned",
|
||||
"description": ""
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_GET_PROJECT_BY_ID">
|
||||
**Descrição:** Obtenha um projeto pelo ID no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `projectId` (string, obrigatório): ID do Projeto - Especifique o ID do projeto a ser buscado. (exemplo: "a6634484-6061-4ac7-9739-7dc5e52c796b").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_DELETE_PROJECT">
|
||||
**Descrição:** Exclua um projeto no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `projectId` (string, obrigatório): ID do Projeto - Especifique o ID do projeto a ser excluído. (exemplo: "a6634484-6061-4ac7-9739-7dc5e52c796b").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="LINEAR_SEARCH_TEAMS">
|
||||
**Descrição:** Pesquise equipes no Linear.
|
||||
|
||||
**Parâmetros:**
|
||||
- `teamFilterFormula` (object, opcional): Um filtro na forma normal disjuntiva – OU de grupos E de condições únicas.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "name",
|
||||
"operator": "$stringContains",
|
||||
"value": "Engineering"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `id`, `name`
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente Linear
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha ferramentas empresariais (ferramentas do Linear serão incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Crie um agente com funcionalidades do Linear
|
||||
linear_agent = Agent(
|
||||
role="Development Manager",
|
||||
goal="Gerenciar issues do Linear e acompanhar o progresso do desenvolvimento de forma eficiente",
|
||||
backstory="Um assistente de IA especializado em gerenciamento de projetos de desenvolvimento de software.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para criar um relatório de bug
|
||||
create_bug_task = Task(
|
||||
description="Crie um relatório de bug de alta prioridade para o sistema de autenticação e atribua à equipe de backend",
|
||||
agent=linear_agent,
|
||||
expected_output="Bug report criado com sucesso com ID da issue"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[linear_agent],
|
||||
tasks=[create_bug_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Lineares Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha apenas ferramentas lineares específicas
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["linear_create_issue", "linear_update_issue", "linear_search_issue"]
|
||||
)
|
||||
|
||||
issue_manager = Agent(
|
||||
role="Issue Manager",
|
||||
goal="Criar e gerenciar issues no Linear de forma eficiente",
|
||||
backstory="Um assistente de IA focado na criação e no gerenciamento do ciclo de vida de issues.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para gerenciar fluxo de issues
|
||||
issue_workflow = Task(
|
||||
description="Crie uma issue de solicitação de recurso e atualize os status das issues relacionadas para refletir o progresso atual",
|
||||
agent=issue_manager,
|
||||
expected_output="Solicitação de recurso criada e issues relacionadas atualizadas"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[issue_manager],
|
||||
tasks=[issue_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Projetos e Equipes
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Coordenar projetos e equipes no Linear de forma eficiente",
|
||||
backstory="Um coordenador de projetos experiente que gerencia ciclos de desenvolvimento e fluxos de trabalho de equipe.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para coordenar a configuração de projeto
|
||||
project_coordination = Task(
|
||||
description="""
|
||||
1. Pesquise por equipes de engenharia no Linear
|
||||
2. Crie um novo projeto para o desenvolvimento de recursos do Q2
|
||||
3. Associe o projeto às equipes relevantes
|
||||
4. Crie marcos iniciais do projeto como issues
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Projeto Q2 criado com equipes atribuídas e marcos iniciais estabelecidos"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[project_coordination]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Hierarquia de Issues e Gerenciamento de Sub-tarefas
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
task_organizer = Agent(
|
||||
role="Task Organizer",
|
||||
goal="Organizar issues complexas em sub-tarefas gerenciáveis",
|
||||
backstory="Um assistente de IA que divide trabalhos de desenvolvimento complexos em sub-tarefas organizadas.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para criar hierarquia de issues
|
||||
hierarchy_task = Task(
|
||||
description="""
|
||||
1. Pesquise por issues de recursos grandes que precisam ser divididos
|
||||
2. Para cada issue complexa, crie sub-issues para diferentes componentes
|
||||
3. Atualize as issues principais com descrições adequadas e links para sub-issues
|
||||
4. Atribua sub-issues aos membros apropriados da equipe com base na especialidade
|
||||
""",
|
||||
agent=task_organizer,
|
||||
expected_output="Issues complexas divididas em sub-tarefas gerenciáveis com atribuições corretas"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_organizer],
|
||||
tasks=[hierarchy_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Fluxo de Trabalho de Desenvolvimento Automatizado
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
workflow_automator = Agent(
|
||||
role="Workflow Automator",
|
||||
goal="Automatizar processos de fluxo de trabalho de desenvolvimento no Linear",
|
||||
backstory="Um assistente de IA que automatiza tarefas repetitivas de fluxo de trabalho de desenvolvimento.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa de automação de workflow complexa
|
||||
automation_task = Task(
|
||||
description="""
|
||||
1. Pesquise por issues que estejam em progresso há mais de 7 dias
|
||||
2. Atualize suas prioridades com base nas datas de vencimento e importância do projeto
|
||||
3. Crie issues semanais de planejamento de sprint para cada equipe
|
||||
4. Arquive issues concluídas do ciclo anterior
|
||||
5. Gere relatórios de status do projeto como novas issues
|
||||
""",
|
||||
agent=workflow_automator,
|
||||
expected_output="Fluxo de desenvolvimento automatizado com prioridades atualizadas, planejamento de sprint e relatórios de status"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[workflow_automator],
|
||||
tasks=[automation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
**Erros de Permissão**
|
||||
- Certifique-se de que sua conta Linear possui as permissões necessárias no workspace de destino
|
||||
- Verifique se a conexão OAuth inclui os escopos requeridos pela API do Linear
|
||||
- Confirme se você tem permissões para criar/editar issues e projetos no workspace
|
||||
|
||||
**IDs e Referências Inválidas**
|
||||
- Verifique os IDs de equipes, IDs de issues e IDs de projetos para garantir o formato UUID correto
|
||||
- Assegure que as entidades referenciadas (equipes, projetos, ciclos) existem e estão acessíveis
|
||||
- Verifique se os identificadores de issues seguem o formato correto (ex: "ABC-1")
|
||||
|
||||
**Problemas de Associação entre Equipe e Projeto**
|
||||
- Use LINEAR_SEARCH_TEAMS para obter IDs de equipe válidos antes de criar issues ou projetos
|
||||
- Certifique-se de que as equipes existem e estão ativas no seu workspace
|
||||
- Verifique se os IDs das equipes estão devidamente formatados como UUIDs
|
||||
|
||||
**Problemas com Status e Prioridade das Issues**
|
||||
- Verifique se os IDs de status referenciam estados de workflow válidos para a equipe
|
||||
- Certifique-se de que os valores de prioridade estão dentro do intervalo válido para sua configuração do Linear
|
||||
- Confirme que campos personalizados e labels existem antes de referenciá-los
|
||||
|
||||
**Problemas com Formato de Data e Hora**
|
||||
- Use o formato ISO 8601 para datas de vencimento e timestamps
|
||||
- Certifique-se de que os fusos horários estão corretos para cálculos de datas de vencimento
|
||||
- Verifique se os valores de data são válidos e posteriores à data atual para datas de vencimento
|
||||
|
||||
**Problemas de Pesquisa e Filtros**
|
||||
- Garanta que as consultas de busca estejam formatadas corretamente e não estejam vazias
|
||||
- Utilize nomes de campos válidos nas fórmulas de filtro: `title`, `number`, `project`, `createdAt`
|
||||
- Teste filtros simples antes de montar consultas complexas com múltiplas condições
|
||||
- Verifique se os tipos de operadores correspondem aos tipos de dados dos campos filtrados
|
||||
|
||||
**Problemas na Criação de Sub-issues**
|
||||
- Certifique-se de que os IDs das issues pai são válidos e acessíveis
|
||||
- Verifique se o ID da equipe para as sub-issues corresponde ou é compatível com o da issue pai
|
||||
- Assegure-se de que as issues pai não estejam arquivadas ou excluídas
|
||||
|
||||
### 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 na configuração ou solução de problemas da integração com o Linear.
|
||||
</Card>
|
||||
509
docs/pt-BR/enterprise/integrations/notion.mdx
Normal file
509
docs/pt-BR/enterprise/integrations/notion.mdx
Normal file
@@ -0,0 +1,509 @@
|
||||
---
|
||||
title: Integração com o Notion
|
||||
description: "Gerenciamento de páginas e bancos de dados com integração do Notion para o CrewAI."
|
||||
icon: "book"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem páginas, bancos de dados e conteúdos através do Notion. Crie e atualize páginas, gerencie blocos de conteúdo, organize bases de conhecimento e otimize seus fluxos de documentação com automação alimentada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Notion, certifique-se de que você tem:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Notion com permissões adequadas no workspace
|
||||
- Sua conta Notion conectada através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## Configurando a Integração com o Notion
|
||||
|
||||
### 1. Conecte sua Conta Notion
|
||||
|
||||
1. Acesse [Integrações do CrewAI Enterprise](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. Procure por **Notion** na seção de Integrações de Autenticação
|
||||
3. Clique em **Conectar** e complete o fluxo de OAuth
|
||||
4. Conceda as permissões necessárias para gerenciamento de páginas e bancos de dados
|
||||
5. Copie seu Token Enterprise em [Configurações da Conta](https://app.crewai.com/crewai_plus/settings/account)
|
||||
|
||||
### 2. Instale o Pacote Necessário
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Ações Disponíveis
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="NOTION_CREATE_PAGE">
|
||||
**Descrição:** Cria uma página no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `parent` (object, obrigatório): Parent - A página ou banco de dados pai onde a nova página será inserida, representado como um objeto JSON com uma chave page_id ou database_id.
|
||||
```json
|
||||
{
|
||||
"database_id": "DATABASE_ID"
|
||||
}
|
||||
```
|
||||
- `properties` (object, obrigatório): Properties - Os valores das propriedades da página. Se o pai for um banco de dados, o schema deve corresponder às propriedades do banco de dados.
|
||||
```json
|
||||
{
|
||||
"title": [
|
||||
{
|
||||
"text": {
|
||||
"content": "My Page"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
- `icon` (object, obrigatório): Icon - O ícone da página.
|
||||
```json
|
||||
{
|
||||
"emoji": "🥬"
|
||||
}
|
||||
```
|
||||
- `children` (object, opcional): Children - Blocos de conteúdo a serem adicionados à página.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"object": "block",
|
||||
"type": "heading_2",
|
||||
"heading_2": {
|
||||
"rich_text": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": {
|
||||
"content": "Lacinato kale"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
- `cover` (object, opcional): Cover - A imagem de capa da página.
|
||||
```json
|
||||
{
|
||||
"external": {
|
||||
"url": "https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg"
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_UPDATE_PAGE">
|
||||
**Descrição:** Atualiza uma página no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `pageId` (string, obrigatório): Page ID - Especifique o ID da Página a ser atualizada. (exemplo: "59833787-2cf9-4fdf-8782-e53db20768a5").
|
||||
- `icon` (object, obrigatório): Icon - O ícone da página.
|
||||
```json
|
||||
{
|
||||
"emoji": "🥬"
|
||||
}
|
||||
```
|
||||
- `archived` (boolean, opcional): Archived - Indica se a página está arquivada (excluída). Defina como true para arquivar a página. Defina como false para restaurar.
|
||||
- `properties` (object, opcional): Properties - Os valores das propriedades a serem atualizados na página.
|
||||
```json
|
||||
{
|
||||
"title": [
|
||||
{
|
||||
"text": {
|
||||
"content": "My Updated Page"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
- `cover` (object, opcional): Cover - A imagem de capa da página.
|
||||
```json
|
||||
{
|
||||
"external": {
|
||||
"url": "https://upload.wikimedia.org/wikipedia/commons/6/62/Tuscankale.jpg"
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_GET_PAGE_BY_ID">
|
||||
**Descrição:** Busca uma página pelo ID no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `pageId` (string, obrigatório): Page ID - Especifique o ID da Página a ser buscada. (exemplo: "59833787-2cf9-4fdf-8782-e53db20768a5").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_ARCHIVE_PAGE">
|
||||
**Descrição:** Arquiva uma página no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `pageId` (string, obrigatório): Page ID - Especifique o ID da Página a ser arquivada. (exemplo: "59833787-2cf9-4fdf-8782-e53db20768a5").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_SEARCH_PAGES">
|
||||
**Descrição:** Pesquisa páginas no Notion utilizando filtros.
|
||||
|
||||
**Parâmetros:**
|
||||
- `searchByTitleFilterSearch` (object, opcional): Um filtro na forma normal disjuntiva - OU de grupos E de condições simples.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "query",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "meeting notes"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Campos disponíveis: `query`, `filter.value`, `direction`, `page_size`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_GET_PAGE_CONTENT">
|
||||
**Descrição:** Obtém o conteúdo (blocos) de uma página no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `blockId` (string, obrigatório): Page ID - Especifique o ID de um Bloco ou Página para receber todos os seus blocos filhos na ordem correta. (exemplo: "59833787-2cf9-4fdf-8782-e53db20768a5").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_UPDATE_BLOCK">
|
||||
**Descrição:** Atualiza um bloco no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `blockId` (string, obrigatório): Block ID - Especifique o ID do Bloco a ser atualizado. (exemplo: "9bc30ad4-9373-46a5-84ab-0a7845ee52e6").
|
||||
- `archived` (boolean, opcional): Archived - Defina como true para arquivar (excluir) um bloco. Defina como false para restaurar um bloco.
|
||||
- `paragraph` (object, opcional): Conteúdo do parágrafo.
|
||||
```json
|
||||
{
|
||||
"rich_text": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": {
|
||||
"content": "Lacinato kale",
|
||||
"link": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"color": "default"
|
||||
}
|
||||
```
|
||||
- `image` (object, opcional): Bloco de imagem.
|
||||
```json
|
||||
{
|
||||
"type": "external",
|
||||
"external": {
|
||||
"url": "https://website.domain/images/image.png"
|
||||
}
|
||||
}
|
||||
```
|
||||
- `bookmark` (object, opcional): Bloco de bookmark.
|
||||
```json
|
||||
{
|
||||
"caption": [],
|
||||
"url": "https://companywebsite.com"
|
||||
}
|
||||
```
|
||||
- `code` (object, opcional): Bloco de código.
|
||||
```json
|
||||
{
|
||||
"rich_text": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": {
|
||||
"content": "const a = 3"
|
||||
}
|
||||
}
|
||||
],
|
||||
"language": "javascript"
|
||||
}
|
||||
```
|
||||
- `pdf` (object, opcional): Bloco de PDF.
|
||||
```json
|
||||
{
|
||||
"type": "external",
|
||||
"external": {
|
||||
"url": "https://website.domain/files/doc.pdf"
|
||||
}
|
||||
}
|
||||
```
|
||||
- `table` (object, opcional): Bloco de Tabela.
|
||||
```json
|
||||
{
|
||||
"table_width": 2,
|
||||
"has_column_header": false,
|
||||
"has_row_header": false
|
||||
}
|
||||
```
|
||||
- `tableOfContent` (object, opcional): Bloco de Sumário.
|
||||
```json
|
||||
{
|
||||
"color": "default"
|
||||
}
|
||||
```
|
||||
- `additionalFields` (object, opcional): Blocos adicionais.
|
||||
```json
|
||||
{
|
||||
"child_page": {
|
||||
"title": "Lacinato kale"
|
||||
},
|
||||
"child_database": {
|
||||
"title": "My database"
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_GET_BLOCK_BY_ID">
|
||||
**Descrição:** Busca um bloco pelo ID no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `blockId` (string, obrigatório): Block ID - Especifique o ID do Bloco a ser buscado. (exemplo: "9bc30ad4-9373-46a5-84ab-0a7845ee52e6").
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="NOTION_DELETE_BLOCK">
|
||||
**Descrição:** Exclui um bloco no Notion.
|
||||
|
||||
**Parâmetros:**
|
||||
- `blockId` (string, obrigatório): Block ID - Especifique o ID do Bloco a ser excluído. (exemplo: "9bc30ad4-9373-46a5-84ab-0a7845ee52e6").
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente Notion
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Notion tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Notion capabilities
|
||||
notion_agent = Agent(
|
||||
role="Documentation Manager",
|
||||
goal="Manage documentation and knowledge base in Notion efficiently",
|
||||
backstory="An AI assistant specialized in content management and documentation.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a meeting notes page
|
||||
create_notes_task = Task(
|
||||
description="Create a new meeting notes page in the team database with today's date and agenda items",
|
||||
agent=notion_agent,
|
||||
expected_output="Meeting notes page created successfully with structured content"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[notion_agent],
|
||||
tasks=[create_notes_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Notion
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Notion tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["notion_create_page", "notion_update_block", "notion_search_pages"]
|
||||
)
|
||||
|
||||
content_manager = Agent(
|
||||
role="Content Manager",
|
||||
goal="Create and manage content pages efficiently",
|
||||
backstory="An AI assistant that focuses on content creation and management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage content workflow
|
||||
content_workflow = Task(
|
||||
description="Create a new project documentation page and add structured content blocks for requirements and specifications",
|
||||
agent=content_manager,
|
||||
expected_output="Project documentation created with organized content sections"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[content_manager],
|
||||
tasks=[content_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Base de Conhecimento
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
knowledge_curator = Agent(
|
||||
role="Knowledge Curator",
|
||||
goal="Curate and organize knowledge base content in Notion",
|
||||
backstory="An experienced knowledge manager who organizes and maintains comprehensive documentation.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to curate knowledge base
|
||||
curation_task = Task(
|
||||
description="""
|
||||
1. Search for existing documentation pages related to our new product feature
|
||||
2. Create a comprehensive feature documentation page with proper structure
|
||||
3. Add code examples, images, and links to related resources
|
||||
4. Update existing pages with cross-references to the new documentation
|
||||
""",
|
||||
agent=knowledge_curator,
|
||||
expected_output="Feature documentation created and integrated with existing knowledge base"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[knowledge_curator],
|
||||
tasks=[curation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Estrutura e Organização de Conteúdo
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
content_organizer = Agent(
|
||||
role="Content Organizer",
|
||||
goal="Organize and structure content blocks for optimal readability",
|
||||
backstory="An AI assistant that specializes in content structure and user experience.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to organize content structure
|
||||
organization_task = Task(
|
||||
description="""
|
||||
1. Get content from existing project pages
|
||||
2. Analyze the structure and identify improvement opportunities
|
||||
3. Update content blocks to use proper headings, tables, and formatting
|
||||
4. Add table of contents and improve navigation between related pages
|
||||
5. Create templates for future documentation consistency
|
||||
""",
|
||||
agent=content_organizer,
|
||||
expected_output="Content reorganized with improved structure and navigation"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[content_organizer],
|
||||
tasks=[organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Fluxos de Trabalho de Documentação Automatizados
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
doc_automator = Agent(
|
||||
role="Documentation Automator",
|
||||
goal="Automate documentation workflows and maintenance",
|
||||
backstory="An AI assistant that automates repetitive documentation tasks.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex documentation automation task
|
||||
automation_task = Task(
|
||||
description="""
|
||||
1. Search for pages that haven't been updated in the last 30 days
|
||||
2. Review and update outdated content blocks
|
||||
3. Create weekly team update pages with consistent formatting
|
||||
4. Add status indicators and progress tracking to project pages
|
||||
5. Generate monthly documentation health reports
|
||||
6. Archive completed project pages and organize them in archive sections
|
||||
""",
|
||||
agent=doc_automator,
|
||||
expected_output="Documentation automated with updated content, weekly reports, and organized archives"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[doc_automator],
|
||||
tasks=[automation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
**Erros de Permissão**
|
||||
- Certifique-se de que sua conta Notion possui acesso de edição ao workspace desejado
|
||||
- Verifique se a conexão OAuth inclui os escopos necessários para a API do Notion
|
||||
- Confira se as páginas e bancos de dados estão compartilhados com a integração autenticada
|
||||
|
||||
**IDs de Página e Bloco Inválidos**
|
||||
- Revise os IDs de página e bloco para garantir que estejam no formato UUID correto
|
||||
- Garanta que as páginas e blocos referenciados existem e são acessíveis
|
||||
- Verifique se os IDs da página ou banco de dados pai são válidos ao criar novas páginas
|
||||
|
||||
**Problemas com Schema de Propriedades**
|
||||
- Assegure que as propriedades da página correspondem ao schema do banco de dados ao criar páginas em bancos de dados
|
||||
- Verifique se os nomes e tipos das propriedades estão corretos para o banco de dados alvo
|
||||
- Confirme que as propriedades obrigatórias estão incluídas ao criar ou atualizar páginas
|
||||
|
||||
**Estrutura dos Blocos de Conteúdo**
|
||||
- Assegure que o conteúdo dos blocos segue as especificações de rich text do Notion
|
||||
- Verifique se estruturas aninhadas de blocos estão devidamente formatadas
|
||||
- Confira se URLs de mídias são acessíveis e estão corretamente formatadas
|
||||
|
||||
**Problemas de Pesquisa e Filtros**
|
||||
- Certifique-se de que as queries de pesquisa estão devidamente formatadas e não estão vazias
|
||||
- Use nomes de campos válidos em fórmulas de filtro: `query`, `filter.value`, `direction`, `page_size`
|
||||
- Teste pesquisas simples antes de construir condições de filtro mais complexas
|
||||
|
||||
**Relacionamentos Pai-Filho**
|
||||
- Verifique se a página ou banco de dados pai existe antes de criar páginas filhas
|
||||
- Assegure que existam permissões apropriadas para o container pai
|
||||
- Confirme que os schemas do banco permitem definir as propriedades desejadas
|
||||
|
||||
**Rich Text e Conteúdo de Mídia**
|
||||
- Assegure que URLs para imagens externas, PDFs e bookmarks sejam acessíveis
|
||||
- Verifique se a formatação rich text segue as especificações da API do Notion
|
||||
- Confira se os tipos de linguagem nos blocos de código são suportados pelo Notion
|
||||
|
||||
**Operações de Arquivamento e Exclusão**
|
||||
- Entenda a diferença entre arquivar (reversível) e excluir (permanente)
|
||||
- Certifique-se de ter permissões para arquivar ou excluir o conteúdo desejado
|
||||
- Tenha cuidado com operações em massa que possam afetar múltiplas páginas ou blocos
|
||||
|
||||
### Obtendo Ajuda
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para auxílio na configuração ou solução de problemas com a integração Notion.
|
||||
</Card>
|
||||
632
docs/pt-BR/enterprise/integrations/salesforce.mdx
Normal file
632
docs/pt-BR/enterprise/integrations/salesforce.mdx
Normal file
@@ -0,0 +1,632 @@
|
||||
---
|
||||
title: Integração com Salesforce
|
||||
description: "Automação de vendas e CRM com integração Salesforce para CrewAI."
|
||||
icon: "salesforce"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem relacionamentos com clientes, processos de vendas e dados através do Salesforce. Crie e atualize registros, gerencie leads e oportunidades, execute consultas SOQL e otimize seus fluxos de trabalho de CRM com automação potencializada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração Salesforce, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Uma conta Salesforce com permissões apropriadas
|
||||
- Sua conta Salesforce conectada via a [página de Integrações](https://app.crewai.com/integrations)
|
||||
|
||||
## Ferramentas Disponíveis
|
||||
|
||||
### **Gerenciamento de Registros**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_CONTACT">
|
||||
**Descrição:** Crie um novo registro de Contato no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `FirstName` (string, opcional): Primeiro nome
|
||||
- `LastName` (string, obrigatório): Sobrenome - Este campo é obrigatório
|
||||
- `accountId` (string, opcional): ID da Conta - Conta à qual o contato pertence
|
||||
- `Email` (string, opcional): Endereço de e-mail
|
||||
- `Title` (string, opcional): Cargo do contato, como CEO ou Vice-presidente
|
||||
- `Description` (string, opcional): Descrição do contato
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Contato
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_LEAD">
|
||||
**Descrição:** Crie um novo registro de Lead no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `FirstName` (string, opcional): Primeiro nome
|
||||
- `LastName` (string, obrigatório): Sobrenome - Este campo é obrigatório
|
||||
- `Company` (string, obrigatório): Empresa - Este campo é obrigatório
|
||||
- `Email` (string, opcional): Endereço de e-mail
|
||||
- `Phone` (string, opcional): Número de telefone
|
||||
- `Website` (string, opcional): URL do site
|
||||
- `Title` (string, opcional): Cargo do contato, como CEO ou Vice-presidente
|
||||
- `Status` (string, opcional): Status do Lead - Use as Configurações de Workflow do Connect Portal para selecionar o status do Lead
|
||||
- `Description` (string, opcional): Descrição do lead
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Lead
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_OPPORTUNITY">
|
||||
**Descrição:** Crie um novo registro de Oportunidade no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `Name` (string, obrigatório): Nome da Oportunidade - Este campo é obrigatório
|
||||
- `StageName` (string, opcional): Estágio da Oportunidade - Use as Configurações de Workflow do Connect Portal para selecionar o estágio
|
||||
- `CloseDate` (string, opcional): Data de fechamento no formato YYYY-MM-DD - Padrão para 30 dias a partir da data atual
|
||||
- `AccountId` (string, opcional): Conta à qual a Oportunidade pertence
|
||||
- `Amount` (string, opcional): Valor total estimado da venda
|
||||
- `Description` (string, opcional): Descrição da oportunidade
|
||||
- `OwnerId` (string, opcional): Usuário Salesforce designado para esta Oportunidade
|
||||
- `NextStep` (string, opcional): Descrição da próxima tarefa no fechamento da Oportunidade
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Oportunidade
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_TASK">
|
||||
**Descrição:** Crie um novo registro de Tarefa no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `whatId` (string, opcional): Relacionado ao ID - ID da Conta ou Oportunidade relacionada à Tarefa
|
||||
- `whoId` (string, opcional): ID do Nome - ID do Contato ou Lead relacionado à Tarefa
|
||||
- `subject` (string, obrigatório): Assunto da tarefa
|
||||
- `activityDate` (string, opcional): Data da Atividade no formato YYYY-MM-DD
|
||||
- `description` (string, opcional): Descrição da tarefa
|
||||
- `taskSubtype` (string, obrigatório): Subtipo da Tarefa - Opções: task, email, listEmail, call
|
||||
- `Status` (string, opcional): Status - Opções: Not Started, In Progress, Completed
|
||||
- `ownerId` (string, opcional): ID do responsável - Usuário Salesforce designado para a Tarefa
|
||||
- `callDurationInSeconds` (string, opcional): Duração da chamada em segundos
|
||||
- `isReminderSet` (boolean, opcional): Se o lembrete está definido
|
||||
- `reminderDateTime` (string, opcional): Data/Hora do lembrete no formato ISO
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Tarefa
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_ACCOUNT">
|
||||
**Descrição:** Crie um novo registro de Conta no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `Name` (string, obrigatório): Nome da Conta - Este campo é obrigatório
|
||||
- `OwnerId` (string, opcional): Usuário Salesforce responsável por esta Conta
|
||||
- `Website` (string, opcional): URL do site
|
||||
- `Phone` (string, opcional): Número de telefone
|
||||
- `Description` (string, opcional): Descrição da conta
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Conta
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_RECORD_ANY">
|
||||
**Descrição:** Crie um registro de qualquer tipo de objeto no Salesforce.
|
||||
|
||||
**Nota:** Esta é uma ferramenta flexível para criar registros de tipos de objetos personalizados ou desconhecidos.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Atualização de Registros**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_CONTACT">
|
||||
**Descrição:** Atualize um registro de Contato existente no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado
|
||||
- `FirstName` (string, opcional): Primeiro nome
|
||||
- `LastName` (string, opcional): Sobrenome
|
||||
- `accountId` (string, opcional): ID da Conta à qual o contato pertence
|
||||
- `Email` (string, opcional): Endereço de e-mail
|
||||
- `Title` (string, opcional): Cargo do contato
|
||||
- `Description` (string, opcional): Descrição do contato
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Contato
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_LEAD">
|
||||
**Descrição:** Atualize um registro de Lead existente no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado
|
||||
- `FirstName` (string, opcional): Primeiro nome
|
||||
- `LastName` (string, opcional): Sobrenome
|
||||
- `Company` (string, opcional): Nome da empresa
|
||||
- `Email` (string, opcional): Endereço de e-mail
|
||||
- `Phone` (string, opcional): Número de telefone
|
||||
- `Website` (string, opcional): URL do site
|
||||
- `Title` (string, opcional): Cargo do contato
|
||||
- `Status` (string, opcional): Status do Lead
|
||||
- `Description` (string, opcional): Descrição do lead
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Lead
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_OPPORTUNITY">
|
||||
**Descrição:** Atualize um registro de Oportunidade existente no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado
|
||||
- `Name` (string, opcional): Nome da Oportunidade
|
||||
- `StageName` (string, opcional): Estágio da oportunidade
|
||||
- `CloseDate` (string, opcional): Data de fechamento no formato YYYY-MM-DD
|
||||
- `AccountId` (string, opcional): Conta à qual a Oportunidade pertence
|
||||
- `Amount` (string, opcional): Valor total estimado da venda
|
||||
- `Description` (string, opcional): Descrição da oportunidade
|
||||
- `OwnerId` (string, opcional): Usuário Salesforce responsável por esta Oportunidade
|
||||
- `NextStep` (string, opcional): Descrição da próxima tarefa no fechamento da Oportunidade
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Oportunidade
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_TASK">
|
||||
**Descrição:** Atualize um registro de Tarefa existente no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado
|
||||
- `whatId` (string, opcional): Relacionado ao ID - ID da Conta ou Oportunidade relacionada
|
||||
- `whoId` (string, opcional): ID do Nome - ID do Contato ou Lead relacionado à Tarefa
|
||||
- `subject` (string, opcional): Assunto da tarefa
|
||||
- `activityDate` (string, opcional): Data da Atividade no formato YYYY-MM-DD
|
||||
- `description` (string, opcional): Descrição da tarefa
|
||||
- `Status` (string, opcional): Status - Opções: Not Started, In Progress, Completed
|
||||
- `ownerId` (string, opcional): ID do responsável - Usuário Salesforce designado para a Tarefa
|
||||
- `callDurationInSeconds` (string, opcional): Duração da chamada em segundos
|
||||
- `isReminderSet` (boolean, opcional): Se o lembrete está definido
|
||||
- `reminderDateTime` (string, opcional): Data/Hora do lembrete em formato ISO
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Tarefa
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_ACCOUNT">
|
||||
**Descrição:** Atualize um registro de Conta existente no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro a ser atualizado
|
||||
- `Name` (string, opcional): Nome da Conta
|
||||
- `OwnerId` (string, opcional): Usuário Salesforce responsável por esta Conta
|
||||
- `Website` (string, opcional): URL do site
|
||||
- `Phone` (string, opcional): Número de telefone
|
||||
- `Description` (string, opcional): Descrição da conta
|
||||
- `additionalFields` (object, opcional): Campos adicionais no formato JSON para campos personalizados de Conta
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_UPDATE_RECORD_ANY">
|
||||
**Descrição:** Atualize um registro de qualquer tipo de objeto no Salesforce.
|
||||
|
||||
**Nota:** Esta é uma ferramenta flexível para atualizar registros de tipos de objetos personalizados ou desconhecidos.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Recuperação de Registros**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_CONTACT">
|
||||
**Descrição:** Obtenha um registro de Contato pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro do Contato
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_LEAD">
|
||||
**Descrição:** Obtenha um registro de Lead pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro do Lead
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_OPPORTUNITY">
|
||||
**Descrição:** Obtenha um registro de Oportunidade pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro da Oportunidade
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_TASK">
|
||||
**Descrição:** Obtenha um registro de Tarefa pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro da Tarefa
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_ACCOUNT">
|
||||
**Descrição:** Obtenha um registro de Conta pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordId` (string, obrigatório): ID do registro da Conta
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_ID_ANY">
|
||||
**Descrição:** Obtenha um registro de qualquer tipo de objeto pelo seu ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): Tipo do registro (ex.: "CustomObject__c")
|
||||
- `recordId` (string, obrigatório): ID do registro
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Busca de Registros**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_CONTACT">
|
||||
**Descrição:** Pesquise registros de Contato com filtragem avançada.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `sortBy` (string, opcional): Campo para ordenação (ex.: "CreatedDate")
|
||||
- `sortDirection` (string, opcional): Direção da ordenação - Opções: ASC, DESC
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_LEAD">
|
||||
**Descrição:** Pesquise registros de Lead com filtragem avançada.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `sortBy` (string, opcional): Campo para ordenação (ex.: "CreatedDate")
|
||||
- `sortDirection` (string, opcional): Direção da ordenação - Opções: ASC, DESC
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_OPPORTUNITY">
|
||||
**Descrição:** Pesquise registros de Oportunidade com filtragem avançada.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `sortBy` (string, opcional): Campo para ordenação (ex.: "CreatedDate")
|
||||
- `sortDirection` (string, opcional): Direção da ordenação - Opções: ASC, DESC
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_TASK">
|
||||
**Descrição:** Pesquise registros de Tarefa com filtragem avançada.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `sortBy` (string, opcional): Campo para ordenação (ex.: "CreatedDate")
|
||||
- `sortDirection` (string, opcional): Direção da ordenação - Opções: ASC, DESC
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_ACCOUNT">
|
||||
**Descrição:** Pesquise registros de Conta com filtragem avançada.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `sortBy` (string, opcional): Campo para ordenação (ex.: "CreatedDate")
|
||||
- `sortDirection` (string, opcional): Direção da ordenação - Opções: ASC, DESC
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_SEARCH_RECORDS_ANY">
|
||||
**Descrição:** Pesquise registros de qualquer tipo de objeto.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): Tipo de registro para buscar
|
||||
- `filterFormula` (string, opcional): Critérios de busca por filtro
|
||||
- `includeAllFields` (boolean, opcional): Incluir todos os campos nos resultados
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Recuperação por List View**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_CONTACT">
|
||||
**Descrição:** Obtenha registros de Contato de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_LEAD">
|
||||
**Descrição:** Obtenha registros de Lead de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_OPPORTUNITY">
|
||||
**Descrição:** Obtenha registros de Oportunidade de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_TASK">
|
||||
**Descrição:** Obtenha registros de Tarefa de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_ACCOUNT">
|
||||
**Descrição:** Obtenha registros de Conta de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_GET_RECORD_BY_VIEW_ID_ANY">
|
||||
**Descrição:** Obtenha registros de qualquer tipo de objeto a partir de um List View específico.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): Tipo do registro
|
||||
- `listViewId` (string, obrigatório): ID do List View
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação com pageCursor
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Campos Personalizados**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_CONTACT">
|
||||
**Descrição:** Crie campos personalizados para objetos de Contato.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do campo para exibições e referência interna
|
||||
- `type` (string, obrigatório): Tipo do campo - Opções: Checkbox, Currency, Date, Email, Number, Percent, Phone, Picklist, MultiselectPicklist, Text, TextArea, LongTextArea, Html, Time, Url
|
||||
- `defaultCheckboxValue` (boolean, opcional): Valor padrão para campos checkbox
|
||||
- `length` (string, obrigatório): Comprimento para campos numéricos/texto
|
||||
- `decimalPlace` (string, obrigatório): Casas decimais para campos numéricos
|
||||
- `pickListValues` (string, obrigatório): Valores para campos picklist (separados por novas linhas)
|
||||
- `visibleLines` (string, obrigatório): Linhas visíveis para campos multiseleção/área de texto
|
||||
- `description` (string, opcional): Descrição do campo
|
||||
- `helperText` (string, opcional): Texto de ajuda exibido ao passar o mouse
|
||||
- `defaultFieldValue` (string, opcional): Valor padrão do campo
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_LEAD">
|
||||
**Descrição:** Crie campos personalizados para objetos de Lead.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do campo para exibições e referência interna
|
||||
- `type` (string, obrigatório): Tipo do campo - Opções: Checkbox, Currency, Date, Email, Number, Percent, Phone, Picklist, MultiselectPicklist, Text, TextArea, LongTextArea, Html, Time, Url
|
||||
- `defaultCheckboxValue` (boolean, opcional): Valor padrão para campos checkbox
|
||||
- `length` (string, obrigatório): Comprimento para campos numéricos/texto
|
||||
- `decimalPlace` (string, obrigatório): Casas decimais para campos numéricos
|
||||
- `pickListValues` (string, obrigatório): Valores para campos picklist (separados por novas linhas)
|
||||
- `visibleLines` (string, obrigatório): Linhas visíveis para campos multiseleção/área de texto
|
||||
- `description` (string, opcional): Descrição do campo
|
||||
- `helperText` (string, opcional): Texto de ajuda exibido ao passar o mouse
|
||||
- `defaultFieldValue` (string, opcional): Valor padrão do campo
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_OPPORTUNITY">
|
||||
**Descrição:** Crie campos personalizados para objetos de Oportunidade.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do campo para exibições e referência interna
|
||||
- `type` (string, obrigatório): Tipo do campo - Opções: Checkbox, Currency, Date, Email, Number, Percent, Phone, Picklist, MultiselectPicklist, Text, TextArea, LongTextArea, Html, Time, Url
|
||||
- `defaultCheckboxValue` (boolean, opcional): Valor padrão para campos checkbox
|
||||
- `length` (string, obrigatório): Comprimento para campos numéricos/texto
|
||||
- `decimalPlace` (string, obrigatório): Casas decimais para campos numéricos
|
||||
- `pickListValues` (string, obrigatório): Valores para campos picklist (separados por novas linhas)
|
||||
- `visibleLines` (string, obrigatório): Linhas visíveis para campos multiseleção/área de texto
|
||||
- `description` (string, opcional): Descrição do campo
|
||||
- `helperText` (string, opcional): Texto de ajuda exibido ao passar o mouse
|
||||
- `defaultFieldValue` (string, opcional): Valor padrão do campo
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_TASK">
|
||||
**Descrição:** Crie campos personalizados para objetos de Tarefa.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do campo para exibições e referência interna
|
||||
- `type` (string, obrigatório): Tipo do campo - Opções: Checkbox, Currency, Date, Email, Number, Percent, Phone, Picklist, MultiselectPicklist, Text, TextArea, Time, Url
|
||||
- `defaultCheckboxValue` (boolean, opcional): Valor padrão para campos checkbox
|
||||
- `length` (string, obrigatório): Comprimento para campos numéricos/texto
|
||||
- `decimalPlace` (string, obrigatório): Casas decimais para campos numéricos
|
||||
- `pickListValues` (string, obrigatório): Valores para campos picklist (separados por novas linhas)
|
||||
- `visibleLines` (string, obrigatório): Linhas visíveis para campos multiseleção
|
||||
- `description` (string, opcional): Descrição do campo
|
||||
- `helperText` (string, opcional): Texto de ajuda exibido ao passar o mouse
|
||||
- `defaultFieldValue` (string, opcional): Valor padrão do campo
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_ACCOUNT">
|
||||
**Descrição:** Crie campos personalizados para objetos de Conta.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do campo para exibições e referência interna
|
||||
- `type` (string, obrigatório): Tipo do campo - Opções: Checkbox, Currency, Date, Email, Number, Percent, Phone, Picklist, MultiselectPicklist, Text, TextArea, LongTextArea, Html, Time, Url
|
||||
- `defaultCheckboxValue` (boolean, opcional): Valor padrão para campos checkbox
|
||||
- `length` (string, obrigatório): Comprimento para campos numéricos/texto
|
||||
- `decimalPlace` (string, obrigatório): Casas decimais para campos numéricos
|
||||
- `pickListValues` (string, obrigatório): Valores para campos picklist (separados por novas linhas)
|
||||
- `visibleLines` (string, obrigatório): Linhas visíveis para campos multiseleção/área de texto
|
||||
- `description` (string, opcional): Descrição do campo
|
||||
- `helperText` (string, opcional): Texto de ajuda exibido ao passar o mouse
|
||||
- `defaultFieldValue` (string, opcional): Valor padrão do campo
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_FIELD_ANY">
|
||||
**Descrição:** Crie campos personalizados para qualquer tipo de objeto.
|
||||
|
||||
**Nota:** Esta é uma ferramenta flexível para criar campos personalizados para tipos de objetos personalizados ou desconhecidos.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Operações Avançadas**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SALESFORCE_WRITE_SOQL_QUERY">
|
||||
**Descrição:** Execute consultas SOQL personalizadas em seus dados do Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `query` (string, obrigatório): Consulta SOQL (ex.: "SELECT Id, Name FROM Account WHERE Name = 'Exemplo'")
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_CREATE_CUSTOM_OBJECT">
|
||||
**Descrição:** Crie um novo objeto personalizado no Salesforce.
|
||||
|
||||
**Parâmetros:**
|
||||
- `label` (string, obrigatório): Rótulo do objeto para abas, layouts de página e relatórios
|
||||
- `pluralLabel` (string, obrigatório): Rótulo plural (ex.: "Contas")
|
||||
- `description` (string, opcional): Uma descrição do Objeto Personalizado
|
||||
- `recordName` (string, obrigatório): Nome do registro exibido em layouts e buscas (ex.: "Nome da Conta")
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SALESFORCE_DESCRIBE_ACTION_SCHEMA">
|
||||
**Descrição:** Obtenha o schema esperado para operações em tipos de objetos específicos.
|
||||
|
||||
**Parâmetros:**
|
||||
- `recordType` (string, obrigatório): Tipo de registro a ser detalhado
|
||||
- `operation` (string, obrigatório): Tipo de Operação (ex.: "CREATE_RECORD" ou "UPDATE_RECORD")
|
||||
|
||||
**Nota:** Use esta função primeiro ao trabalhar com objetos personalizados para entender seu schema antes de realizar operações.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de um Agente Salesforce
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha ferramentas enterprise (ferramentas Salesforce serão incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Crie um agente com capacidades Salesforce
|
||||
salesforce_agent = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage customer relationships and sales processes efficiently",
|
||||
backstory="An AI assistant specialized in CRM operations and sales automation.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new lead
|
||||
create_lead_task = Task(
|
||||
description="Create a new lead for John Doe from Example Corp with email john.doe@example.com",
|
||||
agent=salesforce_agent,
|
||||
expected_output="Lead created successfully with lead ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[salesforce_agent],
|
||||
tasks=[create_lead_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Salesforce Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha apenas ferramentas Salesforce específicas
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["salesforce_create_record_lead", "salesforce_update_record_opportunity", "salesforce_search_records_contact"]
|
||||
)
|
||||
|
||||
sales_manager = Agent(
|
||||
role="Sales Manager",
|
||||
goal="Manage leads and opportunities in the sales pipeline",
|
||||
backstory="An experienced sales manager who handles lead qualification and opportunity management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage sales pipeline
|
||||
pipeline_task = Task(
|
||||
description="Create a qualified lead and convert it to an opportunity with $50,000 value",
|
||||
agent=sales_manager,
|
||||
expected_output="Lead created and opportunity established successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[sales_manager],
|
||||
tasks=[pipeline_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Contatos e Contas
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
account_manager = Agent(
|
||||
role="Account Manager",
|
||||
goal="Manage customer accounts and maintain strong relationships",
|
||||
backstory="An AI assistant that specializes in account management and customer relationship building.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to manage customer accounts
|
||||
account_task = Task(
|
||||
description="""
|
||||
1. Create a new account for TechCorp Inc.
|
||||
2. Add John Doe as the primary contact for this account
|
||||
3. Create a follow-up task for next week to check on their project status
|
||||
""",
|
||||
agent=account_manager,
|
||||
expected_output="Account, contact, and follow-up task created successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[account_manager],
|
||||
tasks=[account_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Consultas SOQL Avançadas e Relatórios
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
data_analyst = Agent(
|
||||
role="Sales Data Analyst",
|
||||
goal="Generate insights from Salesforce data using SOQL queries",
|
||||
backstory="An analytical AI that excels at extracting meaningful insights from CRM data.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving SOQL queries and data analysis
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Execute a SOQL query to find all opportunities closing this quarter
|
||||
2. Search for contacts at companies with opportunities over $100K
|
||||
3. Create a summary report of the sales pipeline status
|
||||
4. Update high-value opportunities with next steps
|
||||
""",
|
||||
agent=data_analyst,
|
||||
expected_output="Comprehensive sales pipeline analysis with actionable insights"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
Esta documentação abrangente cobre todas as ferramentas Salesforce organizadas por funcionalidade, facilitando que os usuários encontrem as operações específicas de que necessitam para automação de seu CRM.
|
||||
|
||||
### Precisa de ajuda?
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência na configuração da integração com Salesforce ou para resolução de problemas.
|
||||
</Card>
|
||||
382
docs/pt-BR/enterprise/integrations/shopify.mdx
Normal file
382
docs/pt-BR/enterprise/integrations/shopify.mdx
Normal file
@@ -0,0 +1,382 @@
|
||||
---
|
||||
title: Integração com Shopify
|
||||
description: "Gestão de e-commerce e loja online com integração do Shopify para CrewAI."
|
||||
icon: "shopify"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem operações de e-commerce através do Shopify. Gerencie clientes, pedidos, produtos, inventário e análises da loja para otimizar sua empresa online com automação alimentada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de utilizar a integração com o Shopify, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com uma assinatura ativa
|
||||
- Uma loja Shopify com permissões administrativas adequadas
|
||||
- Sua loja Shopify conectada através da [página de Integrações](https://app.crewai.com/integrations)
|
||||
|
||||
## Ferramentas Disponíveis
|
||||
|
||||
### **Gerenciamento de Clientes**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SHOPIFY_GET_CUSTOMERS">
|
||||
**Descrição:** Recupera uma lista de clientes da sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `customerIds` (string, opcional): Lista de IDs de clientes separada por vírgula para filtrar (exemplo: "207119551, 207119552")
|
||||
- `createdAtMin` (string, opcional): Retorna somente clientes criados após esta data (ISO ou timestamp Unix)
|
||||
- `createdAtMax` (string, opcional): Retorna somente clientes criados antes desta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMin` (string, opcional): Retorna somente clientes atualizados após esta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMax` (string, opcional): Retorna somente clientes atualizados antes desta data (ISO ou timestamp Unix)
|
||||
- `limit` (string, opcional): Número máximo de clientes a retornar (padrão 250)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_SEARCH_CUSTOMERS">
|
||||
**Descrição:** Pesquise por clientes usando critérios de filtragem avançados.
|
||||
|
||||
**Parâmetros:**
|
||||
- `filterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com operadores específicos de campo
|
||||
- `limit` (string, opcional): Número máximo de clientes a retornar (padrão 250)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_CREATE_CUSTOMER">
|
||||
**Descrição:** Crie um novo cliente em sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `firstName` (string, obrigatório): Primeiro nome do cliente
|
||||
- `lastName` (string, obrigatório): Sobrenome do cliente
|
||||
- `email` (string, obrigatório): Endereço de e-mail do cliente
|
||||
- `company` (string, opcional): Nome da empresa
|
||||
- `streetAddressLine1` (string, opcional): Endereço
|
||||
- `streetAddressLine2` (string, opcional): Complemento do endereço
|
||||
- `city` (string, opcional): Cidade
|
||||
- `state` (string, opcional): Estado ou código da província
|
||||
- `country` (string, opcional): País
|
||||
- `zipCode` (string, opcional): CEP
|
||||
- `phone` (string, opcional): Telefone
|
||||
- `tags` (string, opcional): Tags como array ou lista separada por vírgula
|
||||
- `note` (string, opcional): Observação sobre o cliente
|
||||
- `sendEmailInvite` (boolean, opcional): Se deve enviar convite por e-mail
|
||||
- `metafields` (object, opcional): Metacampos adicionais em formato JSON
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_UPDATE_CUSTOMER">
|
||||
**Descrição:** Atualize um cliente existente em sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `customerId` (string, obrigatório): O ID do cliente a ser atualizado
|
||||
- `firstName` (string, opcional): Primeiro nome do cliente
|
||||
- `lastName` (string, opcional): Sobrenome do cliente
|
||||
- `email` (string, opcional): Endereço de e-mail do cliente
|
||||
- `company` (string, opcional): Nome da empresa
|
||||
- `streetAddressLine1` (string, opcional): Endereço
|
||||
- `streetAddressLine2` (string, opcional): Complemento do endereço
|
||||
- `city` (string, opcional): Cidade
|
||||
- `state` (string, opcional): Estado ou código da província
|
||||
- `country` (string, opcional): País
|
||||
- `zipCode` (string, opcional): CEP
|
||||
- `phone` (string, opcional): Telefone
|
||||
- `tags` (string, opcional): Tags como array ou lista separada por vírgula
|
||||
- `note` (string, opcional): Observação sobre o cliente
|
||||
- `sendEmailInvite` (boolean, opcional): Se deve enviar convite por e-mail
|
||||
- `metafields` (object, opcional): Metacampos adicionais em formato JSON
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gestão de Pedidos**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SHOPIFY_GET_ORDERS">
|
||||
**Descrição:** Recupera uma lista de pedidos da sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `orderIds` (string, opcional): Lista de IDs de pedidos separada por vírgula para filtrar (exemplo: "450789469, 450789470")
|
||||
- `createdAtMin` (string, opcional): Retorna somente pedidos criados após esta data (ISO ou timestamp Unix)
|
||||
- `createdAtMax` (string, opcional): Retorna somente pedidos criados antes desta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMin` (string, opcional): Retorna somente pedidos atualizados após esta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMax` (string, opcional): Retorna somente pedidos atualizados antes desta data (ISO ou timestamp Unix)
|
||||
- `limit` (string, opcional): Número máximo de pedidos a retornar (padrão 250)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_CREATE_ORDER">
|
||||
**Descrição:** Crie um novo pedido em sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `email` (string, obrigatório): Endereço de e-mail do cliente
|
||||
- `lineItems` (object, obrigatório): Itens do pedido em formato JSON com título, preço, quantidade e variant_id
|
||||
- `sendReceipt` (boolean, opcional): Se deve enviar recibo do pedido
|
||||
- `fulfillmentStatus` (string, opcional): Status de atendimento - Opções: fulfilled, null, partial, restocked
|
||||
- `financialStatus` (string, opcional): Status financeiro - Opções: pending, authorized, partially_paid, paid, partially_refunded, refunded, voided
|
||||
- `inventoryBehaviour` (string, opcional): Comportamento de inventário - Opções: bypass, decrement_ignoring_policy, decrement_obeying_policy
|
||||
- `note` (string, opcional): Observação do pedido
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_UPDATE_ORDER">
|
||||
**Descrição:** Atualize um pedido existente em sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `orderId` (string, obrigatório): O ID do pedido a ser atualizado
|
||||
- `email` (string, opcional): Endereço de e-mail do cliente
|
||||
- `lineItems` (object, opcional): Itens do pedido atualizados em formato JSON
|
||||
- `sendReceipt` (boolean, opcional): Se deve enviar recibo do pedido
|
||||
- `fulfillmentStatus` (string, opcional): Status de atendimento - Opções: fulfilled, null, partial, restocked
|
||||
- `financialStatus` (string, opcional): Status financeiro - Opções: pending, authorized, partially_paid, paid, partially_refunded, refunded, voided
|
||||
- `inventoryBehaviour` (string, opcional): Comportamento de inventário - Opções: bypass, decrement_ignoring_policy, decrement_obeying_policy
|
||||
- `note` (string, opcional): Observação do pedido
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_GET_ABANDONED_CARTS">
|
||||
**Descrição:** Recupera carrinhos abandonados da sua loja Shopify.
|
||||
|
||||
**Parâmetros:**
|
||||
- `createdWithInLast` (string, opcional): Restringe os resultados para checkouts criados dentro do período especificado
|
||||
- `createdAfterId` (string, opcional): Restringe os resultados após o ID especificado
|
||||
- `status` (string, opcional): Mostra checkouts com o status especificado - Opções: open, closed (padrão open)
|
||||
- `createdAtMin` (string, opcional): Retorna somente carrinhos criados após esta data (ISO ou timestamp Unix)
|
||||
- `createdAtMax` (string, opcional): Retorna somente carrinhos criados antes desta data (ISO ou timestamp Unix)
|
||||
- `limit` (string, opcional): Número máximo de carrinhos a retornar (padrão 250)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gestão de Produtos (REST API)**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SHOPIFY_GET_PRODUCTS">
|
||||
**Descrição:** Recupera uma lista de produtos da sua loja Shopify utilizando a REST API.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productIds` (string, opcional): Lista de IDs de produtos separada por vírgula para filtrar (exemplo: "632910392, 632910393")
|
||||
- `title` (string, opcional): Filtrar pelo título do produto
|
||||
- `productType` (string, opcional): Filtrar pelo tipo de produto
|
||||
- `vendor` (string, opcional): Filtrar por fornecedor
|
||||
- `status` (string, opcional): Filtrar por status - Opções: active, archived, draft
|
||||
- `createdAtMin` (string, opcional): Retorna somente produtos criados após esta data (ISO ou timestamp Unix)
|
||||
- `createdAtMax` (string, opcional): Retorna somente produtos criados antes desta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMin` (string, opcional): Retorna somente produtos atualizados após esta data (ISO ou timestamp Unix)
|
||||
- `updatedAtMax` (string, opcional): Retorna somente produtos atualizados antes desta data (ISO ou timestamp Unix)
|
||||
- `limit` (string, opcional): Número máximo de produtos a retornar (padrão 250)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_CREATE_PRODUCT">
|
||||
**Descrição:** Crie um novo produto em sua loja Shopify utilizando a REST API.
|
||||
|
||||
**Parâmetros:**
|
||||
- `title` (string, obrigatório): Título do produto
|
||||
- `productType` (string, obrigatório): Tipo/categoria do produto
|
||||
- `vendor` (string, obrigatório): Fornecedor do produto
|
||||
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
|
||||
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
|
||||
- `price` (string, opcional): Preço do produto
|
||||
- `inventoryPolicy` (string, opcional): Política de estoque - Opções: deny, continue
|
||||
- `imageUrl` (string, opcional): URL da imagem do produto
|
||||
- `isPublished` (boolean, opcional): Se o produto está publicado
|
||||
- `publishToPointToSale` (boolean, opcional): Se deve publicar no ponto de venda
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_UPDATE_PRODUCT">
|
||||
**Descrição:** Atualize um produto existente em sua loja Shopify utilizando a REST API.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productId` (string, obrigatório): O ID do produto a ser atualizado
|
||||
- `title` (string, opcional): Título do produto
|
||||
- `productType` (string, opcional): Tipo/categoria do produto
|
||||
- `vendor` (string, opcional): Fornecedor do produto
|
||||
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
|
||||
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
|
||||
- `price` (string, opcional): Preço do produto
|
||||
- `inventoryPolicy` (string, opcional): Política de estoque - Opções: deny, continue
|
||||
- `imageUrl` (string, opcional): URL da imagem do produto
|
||||
- `isPublished` (boolean, opcional): Se o produto está publicado
|
||||
- `publishToPointToSale` (boolean, opcional): Se deve publicar no ponto de venda
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gestão de Produtos (GraphQL)**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SHOPIFY_GET_PRODUCTS_GRAPHQL">
|
||||
**Descrição:** Recupere produtos utilizando filtros avançados do GraphQL.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productFilterFormula` (object, opcional): Filtro avançado em forma normal disjuntiva com suporte a campos como id, title, vendor, status, handle, tag, created_at, updated_at, published_at
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_CREATE_PRODUCT_GRAPHQL">
|
||||
**Descrição:** Crie um novo produto utilizando a API GraphQL com suporte aprimorado a mídias.
|
||||
|
||||
**Parâmetros:**
|
||||
- `title` (string, obrigatório): Título do produto
|
||||
- `productType` (string, obrigatório): Tipo/categoria do produto
|
||||
- `vendor` (string, obrigatório): Fornecedor do produto
|
||||
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
|
||||
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
|
||||
- `media` (object, opcional): Objetos de mídia com texto alternativo, tipo de conteúdo e URL de origem
|
||||
- `additionalFields` (object, opcional): Campos adicionais do produto como status, requiresSellingPlan, giftCard
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SHOPIFY_UPDATE_PRODUCT_GRAPHQL">
|
||||
**Descrição:** Atualize um produto existente utilizando a API GraphQL com suporte aprimorado a mídias.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productId` (string, obrigatório): O ID GraphQL do produto a ser atualizado (ex.: "gid://shopify/Product/913144112")
|
||||
- `title` (string, opcional): Título do produto
|
||||
- `productType` (string, opcional): Tipo/categoria do produto
|
||||
- `vendor` (string, opcional): Fornecedor do produto
|
||||
- `productDescription` (string, opcional): Descrição do produto (aceita texto simples ou HTML)
|
||||
- `tags` (string, opcional): Tags do produto como array ou lista separada por vírgula
|
||||
- `media` (object, opcional): Objetos de mídia atualizados com texto alternativo, tipo de conteúdo e URL de origem
|
||||
- `additionalFields` (object, opcional): Campos adicionais do produto como status, requiresSellingPlan, giftCard
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente Shopify
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Shopify tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Shopify capabilities
|
||||
shopify_agent = Agent(
|
||||
role="E-commerce Manager",
|
||||
goal="Manage online store operations and customer relationships efficiently",
|
||||
backstory="An AI assistant specialized in e-commerce operations and online store management.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new customer
|
||||
create_customer_task = Task(
|
||||
description="Create a new VIP customer Jane Smith with email jane.smith@example.com and phone +1-555-0123",
|
||||
agent=shopify_agent,
|
||||
expected_output="Customer created successfully with customer ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[shopify_agent],
|
||||
tasks=[create_customer_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Shopify
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Shopify tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["shopify_create_customer", "shopify_create_order", "shopify_get_products"]
|
||||
)
|
||||
|
||||
store_manager = Agent(
|
||||
role="Store Manager",
|
||||
goal="Manage customer orders and product catalog",
|
||||
backstory="An experienced store manager who handles customer relationships and inventory management.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage store operations
|
||||
store_task = Task(
|
||||
description="Create a new customer and process their order for 2 Premium Coffee Mugs",
|
||||
agent=store_manager,
|
||||
expected_output="Customer created and order processed successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[store_manager],
|
||||
tasks=[store_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gestão de Produtos com GraphQL
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
product_manager = Agent(
|
||||
role="Product Manager",
|
||||
goal="Manage product catalog and inventory with advanced GraphQL capabilities",
|
||||
backstory="An AI assistant that specializes in product management and catalog optimization.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to manage product catalog
|
||||
catalog_task = Task(
|
||||
description="""
|
||||
1. Create a new product "Premium Coffee Mug" from Coffee Co vendor
|
||||
2. Add high-quality product images and descriptions
|
||||
3. Search for similar products from the same vendor
|
||||
4. Update product tags and pricing strategy
|
||||
""",
|
||||
agent=product_manager,
|
||||
expected_output="Product created and catalog optimized successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[product_manager],
|
||||
tasks=[catalog_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Análise de Pedidos e Clientes
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
analytics_agent = Agent(
|
||||
role="E-commerce Analyst",
|
||||
goal="Analyze customer behavior and order patterns to optimize store performance",
|
||||
backstory="An analytical AI that excels at extracting insights from e-commerce data.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving multiple operations
|
||||
analytics_task = Task(
|
||||
description="""
|
||||
1. Retrieve recent customer data and order history
|
||||
2. Identify abandoned carts from the last 7 days
|
||||
3. Analyze product performance and inventory levels
|
||||
4. Generate recommendations for customer retention
|
||||
""",
|
||||
agent=analytics_agent,
|
||||
expected_output="Comprehensive e-commerce analytics report with actionable insights"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[analytics_agent],
|
||||
tasks=[analytics_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Precisa de Ajuda?
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência na configuração ou resolução de problemas de integração com o Shopify.
|
||||
</Card>
|
||||
293
docs/pt-BR/enterprise/integrations/slack.mdx
Normal file
293
docs/pt-BR/enterprise/integrations/slack.mdx
Normal file
@@ -0,0 +1,293 @@
|
||||
---
|
||||
title: Integração com Slack
|
||||
description: "Comunicação e colaboração em equipe com a integração Slack para CrewAI."
|
||||
icon: "slack"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem a comunicação da equipe pelo Slack. Envie mensagens, pesquise conversas, gerencie canais e coordene as atividades do time para otimizar os fluxos de colaboração com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Slack, certifique-se de que você tenha:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com assinatura ativa
|
||||
- Um workspace do Slack com permissões apropriadas
|
||||
- Seu workspace do Slack conectado por meio da [página de Integrações](https://app.crewai.com/integrations)
|
||||
|
||||
## Ferramentas Disponíveis
|
||||
|
||||
### **Gerenciamento de Usuários**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SLACK_LIST_MEMBERS">
|
||||
**Descrição:** Lista todos os membros de um canal do Slack.
|
||||
|
||||
**Parâmetros:**
|
||||
- Nenhum parâmetro necessário – recupera todos os membros do canal
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SLACK_GET_USER_BY_EMAIL">
|
||||
**Descrição:** Encontre um usuário no seu workspace do Slack pelo endereço de e-mail.
|
||||
|
||||
**Parâmetros:**
|
||||
- `email` (string, obrigatório): O endereço de e-mail de um usuário do workspace
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SLACK_GET_USERS_BY_NAME">
|
||||
**Descrição:** Pesquise usuários pelo nome ou nome de exibição.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, obrigatório): Nome real do usuário para a pesquisa
|
||||
- `displayName` (string, obrigatório): Nome de exibição do usuário para a pesquisa
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação
|
||||
- `pageCursor` (string, opcional): Cursor de página para paginação
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gerenciamento de Canais**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SLACK_LIST_CHANNELS">
|
||||
**Descrição:** Lista todos os canais do seu workspace no Slack.
|
||||
|
||||
**Parâmetros:**
|
||||
- Nenhum parâmetro necessário – recupera todos os canais acessíveis
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Mensagens**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SLACK_SEND_MESSAGE">
|
||||
**Descrição:** Envie uma mensagem para um canal do Slack.
|
||||
|
||||
**Parâmetros:**
|
||||
- `channel` (string, obrigatório): Nome ou ID do canal – Use as Configurações de Workflow do Connect Portal para que usuários selecionem o canal, ou insira o nome do canal para criar um novo
|
||||
- `message` (string, obrigatório): Texto da mensagem a ser enviada
|
||||
- `botName` (string, obrigatório): Nome do bot que enviará a mensagem
|
||||
- `botIcon` (string, obrigatório): Ícone do bot – Pode ser uma URL de imagem ou um emoji (ex.: ":dog:")
|
||||
- `blocks` (object, opcional): JSON do Slack Block Kit para mensagens ricas com anexos e elementos interativos
|
||||
- `authenticatedUser` (boolean, opcional): Se verdadeiro, a mensagem aparecerá como enviada pelo seu usuário autenticado do Slack ao invés do aplicativo (por padrão é falso)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="SLACK_SEND_DIRECT_MESSAGE">
|
||||
**Descrição:** Envie uma mensagem direta para um usuário específico no Slack.
|
||||
|
||||
**Parâmetros:**
|
||||
- `memberId` (string, obrigatório): ID do usuário destinatário – Use as Configurações de Workflow do Connect Portal para que usuários selecionem um membro
|
||||
- `message` (string, obrigatório): Texto da mensagem a ser enviada
|
||||
- `botName` (string, obrigatório): Nome do bot que enviará a mensagem
|
||||
- `botIcon` (string, obrigatório): Ícone do bot – Pode ser uma URL de imagem ou um emoji (ex.: ":dog:")
|
||||
- `blocks` (object, opcional): JSON do Slack Block Kit para formatação rica com anexos e elementos interativos
|
||||
- `authenticatedUser` (boolean, opcional): Se verdadeiro, a mensagem aparecerá como enviada pelo seu usuário autenticado do Slack (padrão é falso)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Pesquisa & Descoberta**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="SLACK_SEARCH_MESSAGES">
|
||||
**Descrição:** Procure por mensagens em todo o seu workspace do Slack.
|
||||
|
||||
**Parâmetros:**
|
||||
- `query` (string, obrigatório): Consulta de pesquisa usando a sintaxe do Slack para encontrar mensagens que correspondam aos critérios especificados
|
||||
|
||||
**Exemplos de Consultas de Pesquisa:**
|
||||
- `"project update"` – Busca mensagens contendo "project update"
|
||||
- `from:@john in:#general` – Busca mensagens do John no canal #general
|
||||
- `has:link after:2023-01-01` – Busca mensagens com links após 1º de janeiro de 2023
|
||||
- `in:@channel before:yesterday` – Busca mensagens em um canal específico antes de ontem
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Integração com Block Kit
|
||||
|
||||
O Block Kit do Slack permite criar mensagens ricas e interativas. Veja alguns exemplos de como usar o parâmetro `blocks`:
|
||||
|
||||
### Texto Simples com Anexo
|
||||
```json
|
||||
[
|
||||
{
|
||||
"text": "I am a test message",
|
||||
"attachments": [
|
||||
{
|
||||
"text": "And here's an attachment!"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
### Formatação Rica com Seções
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "mrkdwn",
|
||||
"text": "*Project Update*\nStatus: ✅ Complete"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "plain_text",
|
||||
"text": "All tasks have been completed successfully."
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente Slack
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Slack tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Slack capabilities
|
||||
slack_agent = Agent(
|
||||
role="Team Communication Manager",
|
||||
goal="Facilitate team communication and coordinate collaboration efficiently",
|
||||
backstory="An AI assistant specialized in team communication and workspace coordination.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to send project updates
|
||||
update_task = Task(
|
||||
description="Send a project status update to the #general channel with current progress",
|
||||
agent=slack_agent,
|
||||
expected_output="Project update message sent successfully to team channel"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[slack_agent],
|
||||
tasks=[update_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Específicas do Slack
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Slack tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["slack_send_message", "slack_send_direct_message", "slack_search_messages"]
|
||||
)
|
||||
|
||||
communication_manager = Agent(
|
||||
role="Communication Coordinator",
|
||||
goal="Manage team communications and ensure important messages reach the right people",
|
||||
backstory="An experienced communication coordinator who handles team messaging and notifications.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to coordinate team communication
|
||||
coordination_task = Task(
|
||||
description="Send task completion notifications to team members and update project channels",
|
||||
agent=communication_manager,
|
||||
expected_output="Team notifications sent and project channels updated successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[communication_manager],
|
||||
tasks=[coordination_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Mensagens Avançadas com Block Kit
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
notification_agent = Agent(
|
||||
role="Notification Manager",
|
||||
goal="Create rich, interactive notifications and manage workspace communication",
|
||||
backstory="An AI assistant that specializes in creating engaging team notifications and updates.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to send rich notifications
|
||||
notification_task = Task(
|
||||
description="""
|
||||
1. Send a formatted project completion message to #general with progress charts
|
||||
2. Send direct messages to team leads with task summaries
|
||||
3. Create interactive notification with action buttons for team feedback
|
||||
""",
|
||||
agent=notification_agent,
|
||||
expected_output="Rich notifications sent with interactive elements and formatted content"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[notification_agent],
|
||||
tasks=[notification_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Pesquisa de Mensagens e Análises
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
analytics_agent = Agent(
|
||||
role="Communication Analyst",
|
||||
goal="Analyze team communication patterns and extract insights from conversations",
|
||||
backstory="An analytical AI that excels at understanding team dynamics through communication data.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving search and analysis
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Search for recent project-related messages across all channels
|
||||
2. Find users by email to identify team members
|
||||
3. Analyze communication patterns and response times
|
||||
4. Generate weekly team communication summary
|
||||
""",
|
||||
agent=analytics_agent,
|
||||
expected_output="Comprehensive communication analysis with team insights and recommendations"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[analytics_agent],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Fale com o Suporte
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para obter ajuda na configuração ou solução de problemas da integração com o Slack.
|
||||
</Card>
|
||||
305
docs/pt-BR/enterprise/integrations/stripe.mdx
Normal file
305
docs/pt-BR/enterprise/integrations/stripe.mdx
Normal file
@@ -0,0 +1,305 @@
|
||||
---
|
||||
title: Integração Stripe
|
||||
description: "Processamento de pagamentos e gerenciamento de assinaturas com integração Stripe para CrewAI."
|
||||
icon: "stripe"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem pagamentos, assinaturas e faturamento de clientes através do Stripe. Gerencie dados de clientes, processe assinaturas, gerencie produtos e acompanhe transações financeiras para otimizar seus fluxos de pagamento com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Stripe, certifique-se de que você tem:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com uma assinatura ativa
|
||||
- Uma conta Stripe com permissões apropriadas de API
|
||||
- Sua conta Stripe conectada através da [página de Integrações](https://app.crewai.com/integrations)
|
||||
|
||||
## Ferramentas Disponíveis
|
||||
|
||||
### **Gerenciamento de Clientes**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="STRIPE_CREATE_CUSTOMER">
|
||||
**Descrição:** Crie um novo cliente em sua conta Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `emailCreateCustomer` (string, obrigatório): Endereço de e-mail do cliente
|
||||
- `name` (string, opcional): Nome completo do cliente
|
||||
- `description` (string, opcional): Descrição do cliente para referência interna
|
||||
- `metadataCreateCustomer` (objeto, opcional): Metadados adicionais como pares chave-valor (exemplo: `{"field1": 1, "field2": 2}`)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_CUSTOMER_BY_ID">
|
||||
**Descrição:** Recupera um cliente específico pelo ID do cliente Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `idGetCustomer` (string, obrigatório): O ID do cliente Stripe a ser recuperado
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_CUSTOMERS">
|
||||
**Descrição:** Recupera uma lista de clientes com filtragem opcional.
|
||||
|
||||
**Parâmetros:**
|
||||
- `emailGetCustomers` (string, opcional): Filtra clientes pelo endereço de e-mail
|
||||
- `createdAfter` (string, opcional): Filtra clientes criados após esta data (timestamp Unix)
|
||||
- `createdBefore` (string, opcional): Filtra clientes criados antes desta data (timestamp Unix)
|
||||
- `limitGetCustomers` (string, opcional): Número máximo de clientes a retornar (padrão: 10)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_UPDATE_CUSTOMER">
|
||||
**Descrição:** Atualiza as informações de um cliente existente.
|
||||
|
||||
**Parâmetros:**
|
||||
- `customerId` (string, obrigatório): O ID do cliente a ser atualizado
|
||||
- `emailUpdateCustomer` (string, opcional): Novo endereço de e-mail
|
||||
- `name` (string, opcional): Novo nome do cliente
|
||||
- `description` (string, opcional): Nova descrição do cliente
|
||||
- `metadataUpdateCustomer` (objeto, opcional): Novos metadados como pares chave-valor
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gerenciamento de Assinaturas**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="STRIPE_CREATE_SUBSCRIPTION">
|
||||
**Descrição:** Cria uma nova assinatura para um cliente.
|
||||
|
||||
**Parâmetros:**
|
||||
- `customerIdCreateSubscription` (string, obrigatório): O ID do cliente para o qual a assinatura será criada
|
||||
- `plan` (string, obrigatório): O ID do plano para assinatura - Use as Configurações do Workflow do Portal Connect para permitir que usuários selecionem um plano
|
||||
- `metadataCreateSubscription` (objeto, opcional): Metadados adicionais para a assinatura
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_SUBSCRIPTIONS">
|
||||
**Descrição:** Recupera assinaturas com filtragem opcional.
|
||||
|
||||
**Parâmetros:**
|
||||
- `customerIdGetSubscriptions` (string, opcional): Filtra assinaturas por ID do cliente
|
||||
- `subscriptionStatus` (string, opcional): Filtra por status da assinatura - Opções: incomplete, incomplete_expired, trialing, active, past_due, canceled, unpaid
|
||||
- `limitGetSubscriptions` (string, opcional): Número máximo de assinaturas a retornar (padrão: 10)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gerenciamento de Produtos**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="STRIPE_CREATE_PRODUCT">
|
||||
**Descrição:** Cria um novo produto no seu catálogo Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productName` (string, obrigatório): Nome do produto
|
||||
- `description` (string, opcional): Descrição do produto
|
||||
- `metadataProduct` (objeto, opcional): Metadados adicionais do produto como pares chave-valor
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_PRODUCT_BY_ID">
|
||||
**Descrição:** Recupera um produto específico pelo ID do produto Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `productId` (string, obrigatório): O ID do produto Stripe a ser recuperado
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_PRODUCTS">
|
||||
**Descrição:** Recupera uma lista de produtos com filtragem opcional.
|
||||
|
||||
**Parâmetros:**
|
||||
- `createdAfter` (string, opcional): Filtra produtos criados após esta data (timestamp Unix)
|
||||
- `createdBefore` (string, opcional): Filtra produtos criados antes desta data (timestamp Unix)
|
||||
- `limitGetProducts` (string, opcional): Número máximo de produtos a retornar (padrão: 10)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Operações Financeiras**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="STRIPE_GET_BALANCE_TRANSACTIONS">
|
||||
**Descrição:** Recupera transações de saldo da sua conta Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `balanceTransactionType` (string, opcional): Filtra por tipo de transação - Opções: charge, refund, payment, payment_refund
|
||||
- `paginationParameters` (objeto, opcional): Configurações de paginação
|
||||
- `pageCursor` (string, opcional): Cursor da página para paginação
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="STRIPE_GET_PLANS">
|
||||
**Descrição:** Recupera planos de assinatura da sua conta Stripe.
|
||||
|
||||
**Parâmetros:**
|
||||
- `isPlanActive` (boolean, opcional): Filtra por status do plano - true para planos ativos, false para inativos
|
||||
- `paginationParameters` (objeto, opcional): Configurações de paginação
|
||||
- `pageCursor` (string, opcional): Cursor da página para paginação
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica do Agente Stripe
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Stripe tools will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Create an agent with Stripe capabilities
|
||||
stripe_agent = Agent(
|
||||
role="Payment Manager",
|
||||
goal="Manage customer payments, subscriptions, and billing operations efficiently",
|
||||
backstory="An AI assistant specialized in payment processing and subscription management.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to create a new customer
|
||||
create_customer_task = Task(
|
||||
description="Create a new premium customer John Doe with email john.doe@example.com",
|
||||
agent=stripe_agent,
|
||||
expected_output="Customer created successfully with customer ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[stripe_agent],
|
||||
tasks=[create_customer_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Stripe Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get only specific Stripe tools
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["stripe_create_customer", "stripe_create_subscription", "stripe_get_balance_transactions"]
|
||||
)
|
||||
|
||||
billing_manager = Agent(
|
||||
role="Billing Manager",
|
||||
goal="Handle customer billing, subscriptions, and payment processing",
|
||||
backstory="An experienced billing manager who handles subscription lifecycle and payment operations.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to manage billing operations
|
||||
billing_task = Task(
|
||||
description="Create a new customer and set up their premium subscription plan",
|
||||
agent=billing_manager,
|
||||
expected_output="Customer created and subscription activated successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[billing_manager],
|
||||
tasks=[billing_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento de Assinaturas
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
subscription_manager = Agent(
|
||||
role="Subscription Manager",
|
||||
goal="Manage customer subscriptions and optimize recurring revenue",
|
||||
backstory="An AI assistant that specializes in subscription lifecycle management and customer retention.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Task to manage subscription operations
|
||||
subscription_task = Task(
|
||||
description="""
|
||||
1. Create a new product "Premium Service Plan" with advanced features
|
||||
2. Set up subscription plans with different tiers
|
||||
3. Create customers and assign them to appropriate plans
|
||||
4. Monitor subscription status and handle billing issues
|
||||
""",
|
||||
agent=subscription_manager,
|
||||
expected_output="Subscription management system configured with customers and active plans"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[subscription_manager],
|
||||
tasks=[subscription_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Análises e Relatórios Financeiros
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
financial_analyst = Agent(
|
||||
role="Financial Analyst",
|
||||
goal="Analyze payment data and generate financial insights",
|
||||
backstory="An analytical AI that excels at extracting insights from payment and subscription data.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Complex task involving financial analysis
|
||||
analytics_task = Task(
|
||||
description="""
|
||||
1. Retrieve balance transactions for the current month
|
||||
2. Analyze customer payment patterns and subscription trends
|
||||
3. Identify high-value customers and subscription performance
|
||||
4. Generate monthly financial performance report
|
||||
""",
|
||||
agent=financial_analyst,
|
||||
expected_output="Comprehensive financial analysis with payment insights and recommendations"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[financial_analyst],
|
||||
tasks=[analytics_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## Referência de Status de Assinatura
|
||||
|
||||
Compreendendo os status de assinaturas:
|
||||
|
||||
- **incomplete** - A assinatura requer método de pagamento ou confirmação de pagamento
|
||||
- **incomplete_expired** - A assinatura expirou antes da confirmação do pagamento
|
||||
- **trialing** - A assinatura está em período de avaliação
|
||||
- **active** - A assinatura está ativa e em dia
|
||||
- **past_due** - O pagamento falhou mas a assinatura ainda está ativa
|
||||
- **canceled** - A assinatura foi cancelada
|
||||
- **unpaid** - O pagamento falhou e a assinatura não está mais ativa
|
||||
|
||||
## Uso de Metadados
|
||||
|
||||
Os metadados permitem que você armazene informações adicionais sobre clientes, assinaturas e produtos:
|
||||
|
||||
```json
|
||||
{
|
||||
"customer_segment": "enterprise",
|
||||
"acquisition_source": "google_ads",
|
||||
"lifetime_value": "high",
|
||||
"custom_field_1": "value1"
|
||||
}
|
||||
```
|
||||
|
||||
Esta integração permite uma automação abrangente do gerenciamento de pagamentos e assinaturas, possibilitando que seus agentes de IA administrem operações de faturamento perfeitamente dentro do seu ecossistema Stripe.
|
||||
343
docs/pt-BR/enterprise/integrations/zendesk.mdx
Normal file
343
docs/pt-BR/enterprise/integrations/zendesk.mdx
Normal file
@@ -0,0 +1,343 @@
|
||||
---
|
||||
title: Integração com Zendesk
|
||||
description: "Gestão de suporte ao cliente e helpdesk com integração Zendesk para CrewAI."
|
||||
icon: "headset"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes gerenciem operações de suporte ao cliente através do Zendesk. Crie e atualize tickets, gerencie usuários, monitore métricas de suporte e otimize seus fluxos de atendimento ao cliente com automação impulsionada por IA.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar a integração com o Zendesk, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com) com uma assinatura ativa
|
||||
- Uma conta Zendesk com permissões apropriadas de API
|
||||
- Sua conta Zendesk conectada através da [página de Integrações](https://app.crewai.com/integrations)
|
||||
|
||||
## Ferramentas Disponíveis
|
||||
|
||||
### **Gerenciamento de Tickets**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="ZENDESK_CREATE_TICKET">
|
||||
**Descrição:** Crie um novo ticket de suporte no Zendesk.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketSubject` (string, obrigatório): Assunto do ticket (ex.: "Socorro, minha impressora está pegando fogo!")
|
||||
- `ticketDescription` (string, obrigatório): Primeiro comentário que aparece no ticket (ex.: "A fumaça é muito colorida.")
|
||||
- `requesterName` (string, obrigatório): Nome do usuário solicitando suporte (ex.: "Jane Cliente")
|
||||
- `requesterEmail` (string, obrigatório): E-mail do solicitante do suporte (ex.: "jane@example.com")
|
||||
- `assigneeId` (string, opcional): ID do agente Zendesk atribuído ao ticket - Use as Configurações de Fluxo de Trabalho do Portal Connect para permitir a seleção do responsável
|
||||
- `ticketType` (string, opcional): Tipo de ticket - Opções: problem, incident, question, task
|
||||
- `ticketPriority` (string, opcional): Nível de prioridade - Opções: urgent, high, normal, low
|
||||
- `ticketStatus` (string, opcional): Status do ticket - Opções: new, open, pending, hold, solved, closed
|
||||
- `ticketDueAt` (string, opcional): Data de vencimento para tickets do tipo tarefa (timestamp ISO 8601)
|
||||
- `ticketTags` (string, opcional): Array de tags a aplicar (ex.: `["enterprise", "outra_tag"]`)
|
||||
- `ticketExternalId` (string, opcional): ID externo para vincular tickets a registros locais
|
||||
- `ticketCustomFields` (object, opcional): Valores de campos personalizados em formato JSON
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_UPDATE_TICKET">
|
||||
**Descrição:** Atualize um ticket de suporte existente no Zendesk.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketId` (string, obrigatório): ID do ticket a ser atualizado (ex.: "35436")
|
||||
- `ticketSubject` (string, opcional): Assunto atualizado do ticket
|
||||
- `requesterName` (string, obrigatório): Nome do solicitante deste ticket
|
||||
- `requesterEmail` (string, obrigatório): E-mail do solicitante deste ticket
|
||||
- `assigneeId` (string, opcional): ID atualizado do responsável - Use as Configurações de Fluxo de Trabalho do Portal Connect
|
||||
- `ticketType` (string, opcional): Tipo atualizado - Opções: problem, incident, question, task
|
||||
- `ticketPriority` (string, opcional): Prioridade atualizada - Opções: urgent, high, normal, low
|
||||
- `ticketStatus` (string, opcional): Status atualizado - Opções: new, open, pending, hold, solved, closed
|
||||
- `ticketDueAt` (string, opcional): Nova data de vencimento (timestamp ISO 8601)
|
||||
- `ticketTags` (string, opcional): Array de tags atualizadas
|
||||
- `ticketExternalId` (string, opcional): Novo ID externo
|
||||
- `ticketCustomFields` (object, opcional): Valores atualizados dos campos personalizados
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_GET_TICKET_BY_ID">
|
||||
**Descrição:** Recupere um ticket específico pelo ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketId` (string, obrigatório): ID do ticket a ser recuperado (ex.: "35436")
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_ADD_COMMENT_TO_TICKET">
|
||||
**Descrição:** Adicione um comentário ou nota interna a um ticket existente.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketId` (string, obrigatório): ID do ticket para adicionar o comentário (ex.: "35436")
|
||||
- `commentBody` (string, obrigatório): Mensagem do comentário (aceita texto simples ou HTML, ex.: "Obrigado pela sua ajuda!")
|
||||
- `isInternalNote` (boolean, opcional): Defina como verdadeiro para notas internas ao invés de respostas públicas (padrão é falso)
|
||||
- `isPublic` (boolean, opcional): Verdadeiro para comentários públicos, falso para notas internas
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_SEARCH_TICKETS">
|
||||
**Descrição:** Busque tickets usando diversos filtros e critérios.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketSubject` (string, opcional): Filtrar pelo texto no assunto do ticket
|
||||
- `ticketDescription` (string, opcional): Filtrar por texto na descrição e comentários do ticket
|
||||
- `ticketStatus` (string, opcional): Filtrar por status - Opções: new, open, pending, hold, solved, closed
|
||||
- `ticketType` (string, opcional): Filtrar por tipo - Opções: problem, incident, question, task, no_type
|
||||
- `ticketPriority` (string, opcional): Filtrar por prioridade - Opções: urgent, high, normal, low, no_priority
|
||||
- `requesterId` (string, opcional): Filtrar por ID do solicitante
|
||||
- `assigneeId` (string, opcional): Filtrar pelo ID do agente responsável
|
||||
- `recipientEmail` (string, opcional): Filtrar pelo e-mail do destinatário original
|
||||
- `ticketTags` (string, opcional): Filtrar por tags do ticket
|
||||
- `ticketExternalId` (string, opcional): Filtrar por ID externo
|
||||
- `createdDate` (object, opcional): Filtrar por data de criação com operador (EQUALS, LESS_THAN_EQUALS, GREATER_THAN_EQUALS) e valor
|
||||
- `updatedDate` (object, opcional): Filtrar por data de atualização com operador e valor
|
||||
- `dueDate` (object, opcional): Filtrar por data de vencimento com operador e valor
|
||||
- `sort_by` (string, opcional): Campo de ordenação - Opções: created_at, updated_at, priority, status, ticket_type
|
||||
- `sort_order` (string, opcional): Direção da ordenação - Opções: asc, desc
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Gerenciamento de Usuários**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="ZENDESK_CREATE_USER">
|
||||
**Descrição:** Crie um novo usuário no Zendesk.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, obrigatório): Nome completo do usuário
|
||||
- `email` (string, opcional): E-mail do usuário (ex.: "jane@example.com")
|
||||
- `phone` (string, opcional): Telefone do usuário
|
||||
- `role` (string, opcional): Papel do usuário - Opções: admin, agent, end-user
|
||||
- `externalId` (string, opcional): Identificador único de outro sistema
|
||||
- `details` (string, opcional): Detalhes adicionais do usuário
|
||||
- `notes` (string, opcional): Notas internas sobre o usuário
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_UPDATE_USER">
|
||||
**Descrição:** Atualize informações de um usuário existente.
|
||||
|
||||
**Parâmetros:**
|
||||
- `userId` (string, obrigatório): ID do usuário a ser atualizado
|
||||
- `name` (string, opcional): Nome atualizado do usuário
|
||||
- `email` (string, opcional): Novo e-mail (adicionado como e-mail secundário na atualização)
|
||||
- `phone` (string, opcional): Novo telefone
|
||||
- `role` (string, opcional): Novo papel - Opções: admin, agent, end-user
|
||||
- `externalId` (string, opcional): Novo ID externo
|
||||
- `details` (string, opcional): Novos detalhes do usuário
|
||||
- `notes` (string, opcional): Novas notas internas
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_GET_USER_BY_ID">
|
||||
**Descrição:** Recupere um usuário específico pelo ID.
|
||||
|
||||
**Parâmetros:**
|
||||
- `userId` (string, obrigatório): ID do usuário a ser recuperado
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_SEARCH_USERS">
|
||||
**Descrição:** Busque usuários utilizando vários critérios.
|
||||
|
||||
**Parâmetros:**
|
||||
- `name` (string, opcional): Filtrar por nome do usuário
|
||||
- `email` (string, opcional): Filtrar por e-mail do usuário (ex.: "jane@example.com")
|
||||
- `role` (string, opcional): Filtrar por papel - Opções: admin, agent, end-user
|
||||
- `externalId` (string, opcional): Filtrar por ID externo
|
||||
- `sort_by` (string, opcional): Campo de ordenação - Opções: created_at, updated_at
|
||||
- `sort_order` (string, opcional): Direção de ordenação - Opções: asc, desc
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **Ferramentas Administrativas**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="ZENDESK_GET_TICKET_FIELDS">
|
||||
**Descrição:** Recupere todos os campos padrão e personalizados disponíveis para tickets.
|
||||
|
||||
**Parâmetros:**
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação
|
||||
- `pageCursor` (string, opcional): Cursor de página para paginação
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="ZENDESK_GET_TICKET_AUDITS">
|
||||
**Descrição:** Obtenha registros de auditoria (histórico somente leitura) dos tickets.
|
||||
|
||||
**Parâmetros:**
|
||||
- `ticketId` (string, opcional): Obtenha auditorias para um ticket específico (se vazio, recupera auditorias de todos os tickets não arquivados, ex.: "1234")
|
||||
- `paginationParameters` (object, opcional): Configurações de paginação
|
||||
- `pageCursor` (string, opcional): Cursor de página para paginação
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Campos Personalizados
|
||||
|
||||
Campos personalizados permitem armazenar informações adicionais específicas para sua organização:
|
||||
|
||||
```json
|
||||
[
|
||||
{ "id": 27642, "value": "745" },
|
||||
{ "id": 27648, "value": "yes" }
|
||||
]
|
||||
```
|
||||
|
||||
## Níveis de Prioridade dos Tickets
|
||||
|
||||
Compreendendo os níveis de prioridade:
|
||||
|
||||
- **urgent** - Questões críticas que exigem atenção imediata
|
||||
- **high** - Questões importantes que devem ser tratadas rapidamente
|
||||
- **normal** - Prioridade padrão para a maioria dos tickets
|
||||
- **low** - Questões menores que podem ser tratadas quando conveniente
|
||||
|
||||
## Fluxo de Status dos Tickets
|
||||
|
||||
Progresso padrão de status dos tickets:
|
||||
|
||||
- **new** - Recém-criado, ainda não atribuído
|
||||
- **open** - Em andamento
|
||||
- **pending** - Aguardando resposta do cliente ou ação externa
|
||||
- **hold** - Pausa temporária
|
||||
- **solved** - Problema resolvido, aguardando confirmação do cliente
|
||||
- **closed** - Ticket finalizado e fechado
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Configuração Básica de Agente Zendesk
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha as ferramentas enterprise (as ferramentas Zendesk serão incluídas)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
# Crie um agente com capacidades Zendesk
|
||||
zendesk_agent = Agent(
|
||||
role="Gerente de Suporte",
|
||||
goal="Gerenciar tickets de suporte ao cliente e oferecer excelente atendimento",
|
||||
backstory="Um assistente de IA especializado em operações de suporte ao cliente e gerenciamento de tickets.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para criar um novo ticket de suporte
|
||||
create_ticket_task = Task(
|
||||
description="Crie um ticket de suporte de alta prioridade para John Smith que não consegue acessar sua conta após redefinir a senha",
|
||||
agent=zendesk_agent,
|
||||
expected_output="Ticket de suporte criado com sucesso com o ID do ticket"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[zendesk_agent],
|
||||
tasks=[create_ticket_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas Zendesk Específicas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha apenas ferramentas Zendesk específicas
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token",
|
||||
actions_list=["zendesk_create_ticket", "zendesk_update_ticket", "zendesk_add_comment_to_ticket"]
|
||||
)
|
||||
|
||||
support_agent = Agent(
|
||||
role="Agente de Suporte ao Cliente",
|
||||
goal="Atender consultas de clientes e resolver issues de suporte de forma eficiente",
|
||||
backstory="Um agente de suporte experiente que se especializa em resolução de tickets e comunicação com clientes.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para gerenciar o fluxo de suporte
|
||||
support_task = Task(
|
||||
description="Crie um ticket para problemas de login, adicione comentários de troubleshooting e atualize o status para resolvido",
|
||||
agent=support_agent,
|
||||
expected_output="Ticket de suporte gerenciado através de todo o fluxo de resolução"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[support_agent],
|
||||
tasks=[support_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Gerenciamento Avançado de Tickets
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
ticket_manager = Agent(
|
||||
role="Gerente de Tickets",
|
||||
goal="Gerenciar fluxos de tickets de suporte e garantir resolução tempestiva",
|
||||
backstory="Um assistente de IA que se especializa em triagem de tickets de suporte e otimização de fluxos de trabalho.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa para gerenciar o ciclo de vida do ticket
|
||||
ticket_workflow = Task(
|
||||
description="""
|
||||
1. Crie um novo ticket de suporte para problemas de acesso à conta
|
||||
2. Adicione notas internas com as etapas de troubleshooting
|
||||
3. Atualize a prioridade do ticket de acordo com o nível do cliente
|
||||
4. Adicione comentários de resolução e feche o ticket
|
||||
""",
|
||||
agent=ticket_manager,
|
||||
expected_output="Ciclo de vida completo do ticket gerenciado da criação à resolução"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[ticket_manager],
|
||||
tasks=[ticket_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Análise e Relatórios de Suporte
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
|
||||
support_analyst = Agent(
|
||||
role="Analista de Suporte",
|
||||
goal="Analisar métricas de suporte e gerar insights para desempenho da equipe",
|
||||
backstory="Um IA analítico que se destaca na extração de insights a partir de dados de suporte e padrões de tickets.",
|
||||
tools=[enterprise_tools]
|
||||
)
|
||||
|
||||
# Tarefa complexa envolvendo análise e geração de relatórios
|
||||
analytics_task = Task(
|
||||
description="""
|
||||
1. Busque todos os tickets abertos nos últimos 30 dias
|
||||
2. Analise tempos de resolução dos tickets e satisfação do cliente
|
||||
3. Identifique problemas comuns e padrões de suporte
|
||||
4. Gere relatório semanal de desempenho do suporte
|
||||
""",
|
||||
agent=support_analyst,
|
||||
expected_output="Relatório analítico abrangente de suporte com insights de desempenho e recomendações"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[support_analyst],
|
||||
tasks=[analytics_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
Reference in New Issue
Block a user