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:
250
docs/pt-BR/enterprise/features/hallucination-guardrail.mdx
Normal file
250
docs/pt-BR/enterprise/features/hallucination-guardrail.mdx
Normal file
@@ -0,0 +1,250 @@
|
||||
---
|
||||
title: Proteção contra Alucinações
|
||||
description: "Previna e detecte alucinações de IA nas suas tarefas do CrewAI"
|
||||
icon: "shield-check"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
A Proteção contra Alucinações é um recurso empresarial que valida o conteúdo gerado por IA para garantir que esteja fundamentado em fatos e não contenha alucinações. Ela analisa as saídas das tarefas em relação ao contexto de referência e fornece feedback detalhado quando é detectado conteúdo potencialmente alucinado.
|
||||
|
||||
## O que são Alucinações?
|
||||
|
||||
Alucinações em IA ocorrem quando modelos de linguagem geram conteúdos que parecem plausíveis, mas estão factualmente incorretos ou não são suportados pelo contexto fornecido. A Proteção contra Alucinações ajuda a prevenir esses problemas por meio de:
|
||||
|
||||
- Comparação das saídas com o contexto de referência
|
||||
- Avaliação da fidelidade ao material de origem
|
||||
- Fornecimento de feedback detalhado sobre conteúdo problemático
|
||||
- Suporte a limiares personalizados para rigor da validação
|
||||
|
||||
## Uso Básico
|
||||
|
||||
### Configurando a Proteção
|
||||
|
||||
```python
|
||||
from crewai.tasks.hallucination_guardrail import HallucinationGuardrail
|
||||
from crewai import LLM
|
||||
|
||||
# Uso básico - utiliza o expected_output da tarefa como contexto
|
||||
guardrail = HallucinationGuardrail(
|
||||
llm=LLM(model="gpt-4o-mini")
|
||||
)
|
||||
|
||||
# Com contexto de referência explícito
|
||||
context_guardrail = HallucinationGuardrail(
|
||||
context="AI helps with various tasks including analysis and generation.",
|
||||
llm=LLM(model="gpt-4o-mini")
|
||||
)
|
||||
```
|
||||
|
||||
### Adicionando às Tarefas
|
||||
|
||||
```python
|
||||
from crewai import Task
|
||||
|
||||
# Crie sua tarefa com a proteção
|
||||
task = Task(
|
||||
description="Write a summary about AI capabilities",
|
||||
expected_output="A factual summary based on the provided context",
|
||||
agent=my_agent,
|
||||
guardrail=guardrail # Adiciona a proteção para validar a saída
|
||||
)
|
||||
```
|
||||
|
||||
## Configuração Avançada
|
||||
|
||||
### Validação com Limiar Personalizado
|
||||
|
||||
Para validação mais rigorosa, é possível definir um limiar de fidelidade personalizado (escala de 0-10):
|
||||
|
||||
```python
|
||||
# Proteção rigorosa exigindo alta pontuação de fidelidade
|
||||
strict_guardrail = HallucinationGuardrail(
|
||||
context="Quantum computing uses qubits that exist in superposition states.",
|
||||
llm=LLM(model="gpt-4o-mini"),
|
||||
threshold=8.0 # Requer pontuação >= 8 para validar
|
||||
)
|
||||
```
|
||||
|
||||
### Incluindo Contexto da Resposta de Ferramentas
|
||||
|
||||
Se sua tarefa utiliza ferramentas, você pode incluir as respostas das ferramentas para validação mais precisa:
|
||||
|
||||
```python
|
||||
# Proteção com contexto de resposta da ferramenta
|
||||
weather_guardrail = HallucinationGuardrail(
|
||||
context="Current weather information for the requested location",
|
||||
llm=LLM(model="gpt-4o-mini"),
|
||||
tool_response="Weather API returned: Temperature 22°C, Humidity 65%, Clear skies"
|
||||
)
|
||||
```
|
||||
|
||||
## Como Funciona
|
||||
|
||||
### Processo de Validação
|
||||
|
||||
1. **Análise de Contexto**: A proteção compara a saída da tarefa com o contexto de referência fornecido
|
||||
2. **Pontuação de Fidelidade**: Usa um avaliador interno para atribuir uma pontuação de fidelidade (0-10)
|
||||
3. **Determinação do Veredito**: Determina se o conteúdo é fiel ou contém alucinações
|
||||
4. **Verificação de Limiar**: Se um limiar personalizado for definido, valida contra essa pontuação
|
||||
5. **Geração de Feedback**: Fornece motivos detalhados caso a validação falhe
|
||||
|
||||
### Lógica de Validação
|
||||
|
||||
- **Modo Padrão**: Utiliza validação baseada em veredito (FIÉL vs ALUCINADO)
|
||||
- **Modo com Limiar**: Requer que a pontuação de fidelidade atinja ou supere o limiar especificado
|
||||
- **Tratamento de Erros**: Lida com erros de avaliação de forma elegante e fornece feedback informativo
|
||||
|
||||
## Resultados da Proteção
|
||||
|
||||
A proteção retorna resultados estruturados indicando o status da validação:
|
||||
|
||||
```python
|
||||
# Exemplo de estrutura de resultado da proteção
|
||||
{
|
||||
"valid": False,
|
||||
"feedback": "Content appears to be hallucinated (score: 4.2/10, verdict: HALLUCINATED). The output contains information not supported by the provided context."
|
||||
}
|
||||
```
|
||||
|
||||
### Propriedades do Resultado
|
||||
|
||||
- **valid**: Booleano indicando se a saída passou na validação
|
||||
- **feedback**: Explicação detalhada quando a validação falha, incluindo:
|
||||
- Pontuação de fidelidade
|
||||
- Classificação do veredito
|
||||
- Motivos específicos para a falha
|
||||
|
||||
## Integração com o Sistema de Tarefas
|
||||
|
||||
### Validação Automática
|
||||
|
||||
Quando uma proteção é adicionada à tarefa, ela valida automaticamente a saída antes da tarefa ser marcada como concluída:
|
||||
|
||||
```python
|
||||
# Fluxo de validação de saída da tarefa
|
||||
task_output = agent.execute_task(task)
|
||||
validation_result = guardrail(task_output)
|
||||
|
||||
if validation_result.valid:
|
||||
# Tarefa concluída com sucesso
|
||||
return task_output
|
||||
else:
|
||||
# Tarefa falha com feedback de validação
|
||||
raise ValidationError(validation_result.feedback)
|
||||
```
|
||||
|
||||
### Rastreamento de Eventos
|
||||
|
||||
A proteção se integra ao sistema de eventos do CrewAI para fornecer observabilidade:
|
||||
|
||||
- **Validação Iniciada**: Quando a avaliação da proteção começa
|
||||
- **Validação Concluída**: Quando a avaliação termina com resultados
|
||||
- **Falha na Validação**: Quando ocorrem erros técnicos durante a avaliação
|
||||
|
||||
## Melhores Práticas
|
||||
|
||||
### Diretrizes para o Contexto
|
||||
|
||||
<Steps>
|
||||
<Step title="Forneça Contexto Abrangente">
|
||||
Inclua todas as informações factuais relevantes nas quais a IA deve basear sua saída:
|
||||
|
||||
```python
|
||||
context = """
|
||||
Company XYZ was founded in 2020 and specializes in renewable energy solutions.
|
||||
They have 150 employees and generated $50M revenue in 2023.
|
||||
Their main products include solar panels and wind turbines.
|
||||
"""
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Mantenha o Contexto Relevante">
|
||||
Inclua apenas informações diretamente relacionadas à tarefa para evitar confusão:
|
||||
|
||||
```python
|
||||
# Bom: Contexto focado
|
||||
context = "The current weather in New York is 18°C with light rain."
|
||||
|
||||
# Evite: Informações irrelevantes
|
||||
context = "The weather is 18°C. The city has 8 million people. Traffic is heavy."
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Atualize o Contexto Regularmente">
|
||||
Certifique-se de que seu contexto de referência reflita informações atuais e precisas.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Seleção de Limiar
|
||||
|
||||
<Steps>
|
||||
<Step title="Comece com a Validação Padrão">
|
||||
Inicie sem limiares personalizados para entender a performance inicial.
|
||||
</Step>
|
||||
|
||||
<Step title="Ajuste Conforme as Necessidades">
|
||||
- **Conteúdo crítico**: Use limiar 8-10 para máxima precisão
|
||||
- **Conteúdo geral**: Use limiar 6-7 para validação equilibrada
|
||||
- **Conteúdo criativo**: Use limiar 4-5 ou validação padrão baseada em veredito
|
||||
</Step>
|
||||
|
||||
<Step title="Monitore e Itere">
|
||||
Acompanhe os resultados da validação e ajuste os limiares conforme falsos positivos/negativos.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Considerações de Performance
|
||||
|
||||
### Impacto no Tempo de Execução
|
||||
|
||||
- **Sobrecarga de Validação**: Cada proteção adiciona ~1-3 segundos por tarefa
|
||||
- **Eficiência do LLM**: Escolha modelos eficientes para avaliação (ex: gpt-4o-mini)
|
||||
|
||||
### Otimização de Custos
|
||||
|
||||
- **Seleção de Modelo**: Utilize modelos menores e eficientes para avaliação da proteção
|
||||
- **Tamanho do Contexto**: Mantenha o contexto de referência conciso, mas abrangente
|
||||
- **Cache**: Considere armazenar resultados de validação para conteúdos repetidos
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
<Accordion title="Validação Sempre Falha">
|
||||
**Possíveis Causas:**
|
||||
- Contexto muito restrito ou não relacionado à saída da tarefa
|
||||
- Limiar configurado alto demais para o tipo de conteúdo
|
||||
- Contexto de referência desatualizado
|
||||
|
||||
**Soluções:**
|
||||
- Revise e atualize o contexto para corresponder aos requisitos da tarefa
|
||||
- Reduza o limiar ou utilize validação padrão baseada em veredito
|
||||
- Certifique-se de que o contexto esteja atual e correto
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Falsos Positivos (Conteúdo Válido Marcado como Inválido)">
|
||||
**Possíveis Causas:**
|
||||
- Limiar alto demais para tarefas criativas ou interpretativas
|
||||
- Contexto não cobre todos os aspectos válidos da saída
|
||||
- Modelo de avaliação excessivamente conservador
|
||||
|
||||
**Soluções:**
|
||||
- Reduza o limiar ou utilize validação padrão
|
||||
- Expanda o contexto para incluir um espectro maior do conteúdo aceitável
|
||||
- Teste com diferentes modelos de avaliação
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Erros de Avaliação">
|
||||
**Possíveis Causas:**
|
||||
- Problemas de conexão de rede
|
||||
- Modelo LLM indisponível ou com limite de uso
|
||||
- Saída ou contexto da tarefa em formato inadequado
|
||||
|
||||
**Soluções:**
|
||||
- Verifique a conectividade de rede e o status do serviço LLM
|
||||
- Implemente lógica de retentativas para falhas transitórias
|
||||
- Valide o formato da saída da tarefa antes da avaliação da proteção
|
||||
</Accordion>
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso suporte para assistência na configuração ou solução de problemas da proteção contra alucinações.
|
||||
</Card>
|
||||
179
docs/pt-BR/enterprise/features/integrations.mdx
Normal file
179
docs/pt-BR/enterprise/features/integrations.mdx
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
title: Integrações
|
||||
description: "Aplicativos conectados para que seus agentes possam tomar ações."
|
||||
icon: "plug"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Permita que seus agentes autentiquem com qualquer provedor habilitado para OAuth e tomem ações. Do Salesforce e HubSpot ao Google e GitHub, você conta com mais de 16 serviços integrados.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## Integrações Suportadas
|
||||
|
||||
### **Comunicação & Colaboração**
|
||||
- **Gmail** - Gerencie e-mails e rascunhos
|
||||
- **Slack** - Notificações e alertas do workspace
|
||||
- **Microsoft** - Integração com Office 365 e Teams
|
||||
|
||||
### **Gerenciamento de Projetos**
|
||||
- **Jira** - Rastreamento de issues e gerenciamento de projetos
|
||||
- **ClickUp** - Gerenciamento de tarefas e produtividade
|
||||
- **Asana** - Coordenação de tarefas e projetos de equipe
|
||||
- **Notion** - Gerenciamento de páginas e bases de dados
|
||||
- **Linear** - Gerenciamento de projetos de software e bugs
|
||||
- **GitHub** - Gerenciamento de repositórios e issues
|
||||
|
||||
### **Gestão de Relacionamento com o Cliente**
|
||||
- **Salesforce** - Gerenciamento de contas e oportunidades de CRM
|
||||
- **HubSpot** - Gestão de pipeline de vendas e contatos
|
||||
- **Zendesk** - Administração de chamados de suporte ao cliente
|
||||
|
||||
### **Negócios & Finanças**
|
||||
- **Stripe** - Processamento de pagamentos e gerenciamento de clientes
|
||||
- **Shopify** - Gestão de loja de e-commerce e produtos
|
||||
|
||||
### **Produtividade & Armazenamento**
|
||||
- **Google Sheets** - Sincronização de dados de planilhas
|
||||
- **Google Calendar** - Gerenciamento de eventos e agendas
|
||||
- **Box** - Armazenamento de arquivos e gerenciamento de documentos
|
||||
|
||||
e mais estão por vir!
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar as Integrações de Autenticação, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com). Você pode começar com uma avaliação gratuita.
|
||||
|
||||
## Configurando Integrações
|
||||
|
||||
### 1. Conecte sua Conta
|
||||
|
||||
1. Acesse o [CrewAI Enterprise](https://app.crewai.com)
|
||||
2. Vá até a aba **Integrações** - https://app.crewai.com/crewai_plus/connectors
|
||||
3. Clique em **Conectar** no serviço desejado na seção Integrações de Autenticação
|
||||
4. Complete o fluxo de autenticação OAuth
|
||||
5. Conceda as permissões necessárias para seu caso de uso
|
||||
6. Obtenha seu Token Enterprise na sua página de conta do [CrewAI Enterprise](https://app.crewai.com) - https://app.crewai.com/crewai_plus/settings/account
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 2. Instale as Ferramentas de Integração
|
||||
|
||||
Tudo o que você precisa é da versão mais recente do pacote `crewai-tools`.
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## Exemplos de Uso
|
||||
|
||||
### Uso Básico
|
||||
<Tip>
|
||||
Todos os serviços nos quais você estiver autenticado estarão disponíveis como ferramentas. Portanto, tudo que você precisa fazer é adicionar o `CrewaiEnterpriseTools` ao seu agente e pronto.
|
||||
</Tip>
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Obtenha ferramentas enterprise (a ferramenta Gmail será incluída)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
# imprima as ferramentas
|
||||
print(enterprise_tools)
|
||||
|
||||
# Crie um agente com capacidades do Gmail
|
||||
email_agent = Agent(
|
||||
role="Email Manager",
|
||||
goal="Manage and organize email communications",
|
||||
backstory="An AI assistant specialized in email management and communication.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Tarefa para enviar um e-mail
|
||||
email_task = Task(
|
||||
description="Draft and send a follow-up email to john@example.com about the project update",
|
||||
agent=email_agent,
|
||||
expected_output="Confirmation that email was sent successfully"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[email_agent],
|
||||
tasks=[email_task]
|
||||
)
|
||||
|
||||
# Execute o crew
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### Filtrando Ferramentas
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
actions_list=["gmail_find_email"] # apenas a ferramenta gmail_find_email estará disponível
|
||||
)
|
||||
gmail_tool = enterprise_tools["gmail_find_email"]
|
||||
|
||||
gmail_agent = Agent(
|
||||
role="Gmail Manager",
|
||||
goal="Manage gmail communications and notifications",
|
||||
backstory="An AI assistant that helps coordinate gmail communications.",
|
||||
tools=[gmail_tool]
|
||||
)
|
||||
|
||||
notification_task = Task(
|
||||
description="Find the email from john@example.com",
|
||||
agent=gmail_agent,
|
||||
expected_output="Email found from john@example.com"
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(
|
||||
agents=[slack_agent],
|
||||
tasks=[notification_task]
|
||||
)
|
||||
```
|
||||
|
||||
## Melhores Práticas
|
||||
|
||||
### Segurança
|
||||
- **Princípio do Menor Privilégio**: Conceda apenas as permissões mínimas exigidas para as tarefas dos seus agentes
|
||||
- **Auditorias Regulares**: Revise periodicamente as integrações conectadas e suas permissões
|
||||
- **Credenciais Seguras**: Nunca insira credenciais diretamente no código; utilize o fluxo seguro de autenticação do CrewAI
|
||||
|
||||
### Filtrando Ferramentas
|
||||
Em um crew implantado, você pode especificar quais ações estão disponíveis para cada integração a partir da página de configurações do serviço ao qual você se conectou.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### Implantações com Escopo para organizações multiusuário
|
||||
Você pode implantar seu crew e associar cada integração a um usuário específico. Por exemplo, um crew que se conecta ao Google pode usar a conta do Gmail de um usuário específico.
|
||||
|
||||
<Tip>
|
||||
Isso é útil para organizações multiusuário, onde você deseja direcionar a integração para um usuário específico.
|
||||
</Tip>
|
||||
|
||||
Use o `user_bearer_token` para direcionar a integração a um usuário específico; assim, quando o crew for iniciado, ele usará o bearer token desse usuário para autenticar com a integração. Se o usuário não estiver logado, o crew não utilizará nenhuma integração conectada. Use o bearer token padrão para autenticar com as integrações que estão sendo implantadas com o crew.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### Precisa de Ajuda?
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nosso time de suporte para assistência com a configuração de integrações ou solução de problemas.
|
||||
</Card>
|
||||
107
docs/pt-BR/enterprise/features/tool-repository.mdx
Normal file
107
docs/pt-BR/enterprise/features/tool-repository.mdx
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
title: Repositório de Ferramentas
|
||||
description: "Usando o Repositório de Ferramentas para gerenciar suas ferramentas"
|
||||
icon: "toolbox"
|
||||
---
|
||||
|
||||
## Visão geral
|
||||
|
||||
O Repositório de Ferramentas é um gerenciador de pacotes para ferramentas da CrewAI. Ele permite que usuários publiquem, instalem e gerenciem ferramentas que se integram com crews e flows da CrewAI.
|
||||
|
||||
As ferramentas podem ser:
|
||||
|
||||
- **Privadas**: acessíveis apenas dentro da sua organização (padrão)
|
||||
- **Públicas**: acessíveis a todos os usuários CrewAI se publicadas com a flag `--public`
|
||||
|
||||
O repositório não é um sistema de controle de versões. Use o Git para rastrear mudanças no código e permitir colaboração.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
Antes de usar o Repositório de Ferramentas, certifique-se de que você possui:
|
||||
|
||||
- Uma conta [CrewAI Enterprise](https://app.crewai.com)
|
||||
- [CrewAI CLI](https://docs.crewai.com/concepts/cli#cli) instalada
|
||||
- uv>=0.5.0 instalado. Veja [como atualizar](https://docs.astral.sh/uv/getting-started/installation/#upgrading-uv)
|
||||
- [Git](https://git-scm.com) instalado e configurado
|
||||
- Permissões de acesso para publicar ou instalar ferramentas em sua organização CrewAI Enterprise
|
||||
|
||||
## Instalando ferramentas
|
||||
|
||||
Para instalar uma ferramenta:
|
||||
|
||||
```bash
|
||||
crewai tool install <tool-name>
|
||||
```
|
||||
|
||||
Isso instala a ferramenta e a adiciona ao `pyproject.toml`.
|
||||
|
||||
## Criando e publicando ferramentas
|
||||
|
||||
Para criar um novo projeto de ferramenta:
|
||||
|
||||
```bash
|
||||
crewai tool create <tool-name>
|
||||
```
|
||||
|
||||
Isso gera um projeto de ferramenta estruturado localmente.
|
||||
|
||||
Após fazer alterações, inicialize um repositório Git e faça o commit do código:
|
||||
|
||||
```bash
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Initial version"
|
||||
```
|
||||
|
||||
Para publicar a ferramenta:
|
||||
|
||||
```bash
|
||||
crewai tool publish
|
||||
```
|
||||
|
||||
Por padrão, as ferramentas são publicadas como privadas. Para tornar uma ferramenta pública:
|
||||
|
||||
```bash
|
||||
crewai tool publish --public
|
||||
```
|
||||
|
||||
Para mais detalhes sobre como construir ferramentas, acesse [Criando suas próprias ferramentas](https://docs.crewai.com/concepts/tools#creating-your-own-tools).
|
||||
|
||||
## Atualizando ferramentas
|
||||
|
||||
Para atualizar uma ferramenta publicada:
|
||||
|
||||
1. Modifique a ferramenta localmente
|
||||
2. Atualize a versão no `pyproject.toml` (por exemplo, de `0.1.0` para `0.1.1`)
|
||||
3. Faça o commit das alterações e publique
|
||||
|
||||
```bash
|
||||
git commit -m "Update version to 0.1.1"
|
||||
crewai tool publish
|
||||
```
|
||||
|
||||
## Excluindo ferramentas
|
||||
|
||||
Para excluir uma ferramenta:
|
||||
|
||||
1. Acesse o [CrewAI Enterprise](https://app.crewai.com)
|
||||
2. Navegue até **Ferramentas**
|
||||
3. Selecione a ferramenta
|
||||
4. Clique em **Excluir**
|
||||
|
||||
<Warning>
|
||||
A exclusão é permanente. Ferramentas excluídas não podem ser restauradas ou reinstaladas.
|
||||
</Warning>
|
||||
|
||||
## Verificações de segurança
|
||||
|
||||
Cada versão publicada passa por verificações automáticas de segurança e só fica disponível para instalação após aprovação.
|
||||
|
||||
Você pode verificar o status das verificações de segurança de uma ferramenta em:
|
||||
|
||||
`CrewAI Enterprise > Tools > Your Tool > Versions`
|
||||
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência com integração de API ou resolução de problemas.
|
||||
</Card>
|
||||
146
docs/pt-BR/enterprise/features/traces.mdx
Normal file
146
docs/pt-BR/enterprise/features/traces.mdx
Normal file
@@ -0,0 +1,146 @@
|
||||
---
|
||||
title: Traces
|
||||
description: "Usando Traces para monitorar seus Crews"
|
||||
icon: "timeline"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Traces fornecem visibilidade abrangente sobre as execuções dos seus crews, ajudando você a monitorar o desempenho, depurar problemas e otimizar os fluxos de trabalho dos seus agentes de IA.
|
||||
|
||||
## O que são Traces?
|
||||
|
||||
Traces no CrewAI Enterprise são registros detalhados de execução que capturam todos os aspectos da operação do seu crew, desde as entradas iniciais até as saídas finais. Eles registram:
|
||||
|
||||
- Pensamentos e raciocínio do agente
|
||||
- Detalhes da execução das tarefas
|
||||
- Uso de ferramentas e resultados
|
||||
- Métricas de consumo de tokens
|
||||
- Tempos de execução
|
||||
- Estimativas de custo
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## Acessando os Traces
|
||||
|
||||
<Steps>
|
||||
<Step title="Navegue até a aba Traces">
|
||||
No seu painel do CrewAI Enterprise, clique em **Traces** para ver todos os registros de execução.
|
||||
</Step>
|
||||
|
||||
<Step title="Selecione uma Execução">
|
||||
Você verá uma lista de todas as execuções do crew, ordenadas por data. Clique em qualquer execução para visualizar seu trace detalhado.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Entendendo a Interface do Trace
|
||||
|
||||
A interface do trace é dividida em várias seções, cada uma fornecendo diferentes insights sobre a execução do seu crew:
|
||||
|
||||
### 1. Resumo da Execução
|
||||
|
||||
A seção superior exibe métricas de alto nível sobre a execução:
|
||||
|
||||
- **Total de Tokens**: Número de tokens consumidos em todas as tarefas
|
||||
- **Prompt Tokens**: Tokens usados em prompts para o LLM
|
||||
- **Completion Tokens**: Tokens gerados nas respostas do LLM
|
||||
- **Requisições**: Número de chamadas de API feitas
|
||||
- **Tempo de Execução**: Duração total da execução do crew
|
||||
- **Custo Estimado**: Custo aproximado com base no uso de tokens
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 2. Tarefas & Agentes
|
||||
|
||||
Esta seção mostra todas as tarefas e agentes que fizeram parte da execução do crew:
|
||||
|
||||
- Nome da tarefa e atribuição do agente
|
||||
- Agentes e LLMs usados em cada tarefa
|
||||
- Status (concluído/falhou)
|
||||
- Tempo de execução individual da tarefa
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 3. Saída Final
|
||||
|
||||
Exibe o resultado final produzido pelo crew após a conclusão de todas as tarefas.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 4. Linha do Tempo da Execução
|
||||
|
||||
Uma representação visual de quando cada tarefa começou e terminou, ajudando a identificar gargalos ou padrões de execução paralela.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 5. Visão Detalhada da Tarefa
|
||||
|
||||
Ao clicar em uma tarefa específica na linha do tempo ou na lista de tarefas, você verá:
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
- **Task Key**: Identificador único da tarefa
|
||||
- **Task ID**: Identificador técnico no sistema
|
||||
- **Status**: Estado atual (concluída/em execução/falhou)
|
||||
- **Agente**: Qual agente executou a tarefa
|
||||
- **LLM**: Modelo de linguagem usado nesta tarefa
|
||||
- **Início/Fim**: Quando a tarefa foi iniciada e concluída
|
||||
- **Tempo de Execução**: Duração desta tarefa específica
|
||||
- **Descrição da Tarefa**: O que o agente foi instruído a fazer
|
||||
- **Expected Output**: Qual formato de saída foi solicitado
|
||||
- **Input**: Qualquer entrada fornecida a essa tarefa vinda de tarefas anteriores
|
||||
- **Output**: O resultado real produzido pelo agente
|
||||
|
||||
|
||||
## Usando Traces para Depuração
|
||||
|
||||
Traces são indispensáveis para solucionar problemas nos seus crews:
|
||||
|
||||
<Steps>
|
||||
<Step title="Identifique Pontos de Falha">
|
||||
Quando uma execução de crew não produzir os resultados esperados, examine o trace para encontrar onde ocorreu o problema. Procure por:
|
||||
|
||||
- Tarefas que falharam
|
||||
- Decisões inesperadas dos agentes
|
||||
- Erros no uso de ferramentas
|
||||
- Instruções mal interpretadas
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Otimizar Desempenho">
|
||||
Use métricas de execução para identificar gargalos de desempenho:
|
||||
|
||||
- Tarefas que demoraram mais do que o esperado
|
||||
- Uso excessivo de tokens
|
||||
- Operações redundantes de ferramentas
|
||||
- Chamadas de API desnecessárias
|
||||
</Step>
|
||||
|
||||
<Step title="Melhore a Eficiência de Custos">
|
||||
Analise o uso de tokens e as estimativas de custo para otimizar a eficiência do seu crew:
|
||||
|
||||
- Considere usar modelos menores para tarefas mais simples
|
||||
- Refine prompts para serem mais concisos
|
||||
- Faça cache de informações acessadas frequentemente
|
||||
- Estruture tarefas para minimizar operações redundantes
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência com análise de traces ou outros recursos do CrewAI Enterprise.
|
||||
</Card>
|
||||
81
docs/pt-BR/enterprise/features/webhook-streaming.mdx
Normal file
81
docs/pt-BR/enterprise/features/webhook-streaming.mdx
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: Webhook Streaming
|
||||
description: "Usando Webhook Streaming para transmitir eventos para o seu webhook"
|
||||
icon: "webhook"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
O Enterprise Event Streaming permite que você receba atualizações em tempo real via webhook sobre suas crews e flows implantados no CrewAI Enterprise, como chamadas de modelo, uso de ferramentas e etapas do flow.
|
||||
|
||||
## Uso
|
||||
|
||||
Ao utilizar a API Kickoff, inclua um objeto `webhooks` em sua requisição, por exemplo:
|
||||
|
||||
```json
|
||||
{
|
||||
"inputs": {"foo": "bar"},
|
||||
"webhooks": {
|
||||
"events": ["crew_kickoff_started", "llm_call_started"],
|
||||
"url": "https://your.endpoint/webhook",
|
||||
"realtime": false,
|
||||
"authentication": {
|
||||
"strategy": "bearer",
|
||||
"token": "my-secret-token"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Se `realtime` estiver definido como `true`, cada evento será entregue individualmente e imediatamente, com impacto no desempenho da crew/flow.
|
||||
|
||||
## Formato do Webhook
|
||||
|
||||
Cada webhook envia uma lista de eventos:
|
||||
|
||||
```json
|
||||
{
|
||||
"events": [
|
||||
{
|
||||
"id": "event-id",
|
||||
"execution_id": "crew-run-id",
|
||||
"timestamp": "2025-02-16T10:58:44.965Z",
|
||||
"type": "llm_call_started",
|
||||
"data": {
|
||||
"model": "gpt-4",
|
||||
"messages": [
|
||||
{"role": "system", "content": "You are an assistant."},
|
||||
{"role": "user", "content": "Summarize this article."}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
A estrutura do objeto `data` varia conforme o tipo de evento. Consulte a [lista de eventos](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) no GitHub.
|
||||
|
||||
Como as requisições são enviadas via HTTP, a ordem dos eventos não pode ser garantida. Caso precise de ordenação, utilize o campo `timestamp`.
|
||||
|
||||
## Eventos Suportados
|
||||
|
||||
O CrewAI oferece suporte a eventos do sistema e eventos personalizados no Enterprise Event Streaming. Esses eventos são enviados para o endpoint do seu webhook configurado durante a execução das crews e flows.
|
||||
|
||||
- `crew_kickoff_started`
|
||||
- `crew_step_started`
|
||||
- `crew_step_completed`
|
||||
- `crew_execution_completed`
|
||||
- `llm_call_started`
|
||||
- `llm_call_completed`
|
||||
- `tool_usage_started`
|
||||
- `tool_usage_completed`
|
||||
- `crew_test_failed`
|
||||
- *...e outros*
|
||||
|
||||
Os nomes dos eventos correspondem ao event bus interno. Veja o [código fonte no GitHub](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) para a lista completa.
|
||||
|
||||
Você pode emitir seus próprios eventos personalizados, e eles serão entregues através do webhook stream juntamente com os eventos do sistema.
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para assistência com integração de webhook ou solução de problemas.
|
||||
</Card>
|
||||
51
docs/pt-BR/enterprise/guides/azure-openai-setup.mdx
Normal file
51
docs/pt-BR/enterprise/guides/azure-openai-setup.mdx
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: "Configuração do Azure OpenAI"
|
||||
description: "Configure o Azure OpenAI com o Crew Studio para conexões empresariais de LLM"
|
||||
icon: "microsoft"
|
||||
---
|
||||
|
||||
Este guia orienta você na conexão do Azure OpenAI com o Crew Studio para operações de IA empresarial sem interrupções.
|
||||
|
||||
## Processo de Configuração
|
||||
|
||||
<Steps>
|
||||
<Step title="Acesse o Azure OpenAI Studio">
|
||||
1. No Azure, vá para `Serviços de IA do Azure > selecione sua implantação > abra o Azure OpenAI Studio`.
|
||||
2. No menu à esquerda, clique em `Implantações`. Se não houver nenhuma, crie uma implantação com o modelo desejado.
|
||||
3. Uma vez criada, selecione sua implantação e localize o `Target URI` e a `Key` no lado direito da página. Mantenha esta página aberta, pois você precisará dessas informações.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/azure-openai-studio.png" alt="Azure OpenAI Studio" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Configure a Conexão Enterprise do CrewAI">
|
||||
4. Em outra aba, abra `CrewAI Enterprise > LLM Connections`. Dê um nome à sua LLM Connection, selecione Azure como provedor e escolha o mesmo modelo que você selecionou no Azure.
|
||||
5. Na mesma página, adicione as variáveis de ambiente do passo 3:
|
||||
- Uma chamada `AZURE_DEPLOYMENT_TARGET_URL` (usando o Target URI). A URL deve ser parecida com: https://your-deployment.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-08-01-preview
|
||||
- Outra chamada `AZURE_API_KEY` (usando a Key).
|
||||
6. Clique em `Add Connection` para salvar sua LLM Connection.
|
||||
</Step>
|
||||
|
||||
<Step title="Defina Configurações Padrão">
|
||||
7. Em `CrewAI Enterprise > Settings > Defaults > Crew Studio LLM Settings`, defina a nova LLM Connection e o modelo como padrão.
|
||||
</Step>
|
||||
|
||||
<Step title="Configure o Acesso à Rede">
|
||||
8. Certifique-se das configurações de acesso à rede:
|
||||
- No Azure, vá para `Azure OpenAI > selecione sua implantação`.
|
||||
- Navegue até `Resource Management > Networking`.
|
||||
- Certifique-se de que a opção `Allow access from all networks` está habilitada. Se essa configuração estiver restrita, o CrewAI pode ser impedido de acessar seu endpoint do Azure OpenAI.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Verificação
|
||||
|
||||
Tudo pronto! O Crew Studio agora utilizará sua conexão Azure OpenAI. Teste a conexão criando um crew ou task simples para garantir que tudo está funcionando corretamente.
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
Se você encontrar problemas:
|
||||
- Verifique se o formato do Target URI corresponde ao padrão esperado
|
||||
- Confira se a API key está correta e com as permissões adequadas
|
||||
- Certifique-se de que o acesso à rede está configurado para permitir conexões do CrewAI
|
||||
- Confirme se o modelo da implantação corresponde ao que você configurou no CrewAI
|
||||
43
docs/pt-BR/enterprise/guides/build-crew.mdx
Normal file
43
docs/pt-BR/enterprise/guides/build-crew.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: "Build Crew"
|
||||
description: "Uma Crew é um grupo de agentes que trabalham juntos para completar uma tarefa."
|
||||
icon: "people-arrows"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
[CrewAI Enterprise](https://app.crewai.com) simplifica o processo de **criação**, **implantação** e **gerenciamento** dos seus agentes de IA em ambientes de produção.
|
||||
|
||||
## Primeiros Passos
|
||||
|
||||
<iframe
|
||||
width="100%"
|
||||
height="400"
|
||||
src="https://www.youtube.com/embed/-kSOTtYzgEw"
|
||||
title="Building Crews with CrewAI CLI"
|
||||
frameborder="0"
|
||||
style={{ borderRadius: '10px' }}
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
### Instalação e Configuração
|
||||
|
||||
<Card title="Siga a Instalação Padrão" icon="wrench" href="/pt-BR/installation">
|
||||
Siga nosso guia de instalação padrão para configurar o CrewAI CLI e criar seu primeiro projeto.
|
||||
</Card>
|
||||
|
||||
### Construindo Sua Crew
|
||||
|
||||
<Card title="Tutorial Rápido" icon="rocket" href="/pt-BR/quickstart">
|
||||
Siga nosso tutorial rápido para criar sua primeira crew de agentes usando a configuração YAML.
|
||||
</Card>
|
||||
|
||||
## Suporte e Recursos
|
||||
|
||||
Para suporte ou dúvidas específicas da versão Enterprise, entre em contato com nossa equipe dedicada através do [support@crewai.com](mailto:support@crewai.com).
|
||||
|
||||
|
||||
<Card title="Agende uma Demonstração" icon="calendar" href="mailto:support@crewai.com">
|
||||
Reserve um horário com nossa equipe para saber mais sobre os recursos Enterprise e como eles podem beneficiar sua organização.
|
||||
</Card>
|
||||
293
docs/pt-BR/enterprise/guides/deploy-crew.mdx
Normal file
293
docs/pt-BR/enterprise/guides/deploy-crew.mdx
Normal file
@@ -0,0 +1,293 @@
|
||||
---
|
||||
title: "Deploy Crew"
|
||||
description: "Implantando um Crew na CrewAI Enterprise"
|
||||
icon: "rocket"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Depois de criar um crew localmente ou pelo Crew Studio, o próximo passo é implantá-lo na plataforma CrewAI Enterprise. Este guia cobre múltiplos métodos de implantação para ajudá-lo a escolher a melhor abordagem para o seu fluxo de trabalho.
|
||||
</Note>
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Crew Pronto para Implantação" icon="users">
|
||||
Você deve ter um crew funcional, criado localmente ou pelo Crew Studio
|
||||
</Card>
|
||||
<Card title="Repositório GitHub" icon="github">
|
||||
O código do seu crew deve estar em um repositório do GitHub (para o método de integração com GitHub)
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Opção 1: Implantar Usando o CrewAI CLI
|
||||
|
||||
A CLI fornece a maneira mais rápida de implantar crews desenvolvidos localmente na plataforma Enterprise.
|
||||
|
||||
<Steps>
|
||||
<Step title="Instale o CrewAI CLI">
|
||||
Se ainda não tiver, instale o CrewAI CLI:
|
||||
|
||||
```bash
|
||||
pip install crewai[tools]
|
||||
```
|
||||
|
||||
<Tip>
|
||||
A CLI vem com o pacote principal CrewAI, mas o extra `[tools]` garante todas as dependências de implantação.
|
||||
</Tip>
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Autentique-se na Plataforma Enterprise">
|
||||
Primeiro, você precisa autenticar sua CLI com a plataforma CrewAI Enterprise:
|
||||
|
||||
```bash
|
||||
# Se já possui uma conta CrewAI Enterprise
|
||||
crewai login
|
||||
|
||||
# Se vai criar uma nova conta
|
||||
crewai signup
|
||||
```
|
||||
|
||||
Ao executar qualquer um dos comandos, a CLI irá:
|
||||
1. Exibir uma URL e um código de dispositivo único
|
||||
2. Abrir seu navegador para a página de autenticação
|
||||
3. Solicitar a confirmação do dispositivo
|
||||
4. Completar o processo de autenticação
|
||||
|
||||
Após a autenticação bem-sucedida, você verá uma mensagem de confirmação no terminal!
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Criar uma Implantação">
|
||||
|
||||
No diretório do seu projeto, execute:
|
||||
|
||||
```bash
|
||||
crewai deploy create
|
||||
```
|
||||
|
||||
Este comando irá:
|
||||
1. Detectar informações do seu repositório GitHub
|
||||
2. Identificar variáveis de ambiente no seu arquivo `.env` local
|
||||
3. Transferir essas variáveis com segurança para a plataforma Enterprise
|
||||
4. Criar uma nova implantação com um identificador único
|
||||
|
||||
Com a criação bem-sucedida, você verá uma mensagem como:
|
||||
```shell
|
||||
Deployment created successfully!
|
||||
Name: your_project_name
|
||||
Deployment ID: 01234567-89ab-cdef-0123-456789abcdef
|
||||
Current Status: Deploy Enqueued
|
||||
```
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Acompanhe o Progresso da Implantação">
|
||||
|
||||
Acompanhe o status da implantação com:
|
||||
|
||||
```bash
|
||||
crewai deploy status
|
||||
```
|
||||
|
||||
Para ver logs detalhados do processo de build:
|
||||
|
||||
```bash
|
||||
crewai deploy logs
|
||||
```
|
||||
|
||||
<Tip>
|
||||
A primeira implantação normalmente leva de 10 a 15 minutos, pois as imagens dos containers são construídas. As próximas implantações são bem mais rápidas.
|
||||
</Tip>
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Comandos Adicionais da CLI
|
||||
|
||||
O CrewAI CLI oferece vários comandos para gerenciar suas implantações:
|
||||
|
||||
```bash
|
||||
# Liste todas as suas implantações
|
||||
crewai deploy list
|
||||
|
||||
# Consulte o status de uma implantação
|
||||
crewai deploy status
|
||||
|
||||
# Veja os logs da implantação
|
||||
crewai deploy logs
|
||||
|
||||
# Envie atualizações após alterações no código
|
||||
crewai deploy push
|
||||
|
||||
# Remova uma implantação
|
||||
crewai deploy remove <deployment_id>
|
||||
```
|
||||
|
||||
## Opção 2: Implantar Diretamente pela Interface Web
|
||||
|
||||
Você também pode implantar seus crews diretamente pela interface web da CrewAI Enterprise conectando sua conta do GitHub. Esta abordagem não requer utilizar a CLI na sua máquina local.
|
||||
|
||||
<Steps>
|
||||
|
||||
<Step title="Enviar no GitHub">
|
||||
|
||||
Você precisa subir seu crew para um repositório do GitHub. Caso ainda não tenha criado um crew, você pode [seguir este tutorial](/pt-BR/quickstart).
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Conectando o GitHub ao CrewAI Enterprise">
|
||||
|
||||
1. Faça login em [CrewAI Enterprise](https://app.crewai.com)
|
||||
2. Clique no botão "Connect GitHub"
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Selecionar o Repositório">
|
||||
|
||||
Após conectar sua conta GitHub, você poderá selecionar qual repositório deseja implantar:
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Definir as Variáveis de Ambiente">
|
||||
|
||||
Antes de implantar, você precisará configurar as variáveis de ambiente para conectar ao seu provedor de LLM ou outros serviços:
|
||||
|
||||
1. Você pode adicionar variáveis individualmente ou em lote
|
||||
2. Digite suas variáveis no formato `KEY=VALUE` (uma por linha)
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Implante Seu Crew">
|
||||
|
||||
1. Clique no botão "Deploy" para iniciar o processo de implantação
|
||||
2. Você pode monitorar o progresso pela barra de progresso
|
||||
3. A primeira implantação geralmente demora de 10 a 15 minutos; as próximas serão mais rápidas
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
Após a conclusão, você verá:
|
||||
- A URL exclusiva do seu crew
|
||||
- Um Bearer token para proteger sua API crew
|
||||
- Um botão "Delete" caso precise remover a implantação
|
||||
|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
## ⚠️ Requisitos de Segurança para Variáveis de Ambiente
|
||||
|
||||
<Warning>
|
||||
**Importante**: A CrewAI Enterprise possui restrições de segurança sobre os nomes de variáveis de ambiente que podem causar falha na implantação caso não sejam seguidas.
|
||||
</Warning>
|
||||
|
||||
### Padrões de Variáveis de Ambiente Bloqueados
|
||||
|
||||
Por motivos de segurança, os seguintes padrões de nome de variável de ambiente são **automaticamente filtrados** e causarão problemas de implantação:
|
||||
|
||||
**Padrões Bloqueados:**
|
||||
- Variáveis terminando em `_TOKEN` (ex: `MY_API_TOKEN`)
|
||||
- Variáveis terminando em `_PASSWORD` (ex: `DB_PASSWORD`)
|
||||
- Variáveis terminando em `_SECRET` (ex: `API_SECRET`)
|
||||
- Variáveis terminando em `_KEY` em certos contextos
|
||||
|
||||
**Variáveis Bloqueadas Específicas:**
|
||||
- `GITHUB_USER`, `GITHUB_TOKEN`
|
||||
- `AWS_REGION`, `AWS_DEFAULT_REGION`
|
||||
- Diversas variáveis internas do sistema CrewAI
|
||||
|
||||
### Exceções Permitidas
|
||||
|
||||
Algumas variáveis são explicitamente permitidas mesmo coincidindo com os padrões bloqueados:
|
||||
- `AZURE_AD_TOKEN`
|
||||
- `AZURE_OPENAI_AD_TOKEN`
|
||||
- `ENTERPRISE_ACTION_TOKEN`
|
||||
- `CREWAI_ENTEPRISE_TOOLS_TOKEN`
|
||||
|
||||
### Como Corrigir Problemas de Nomeação
|
||||
|
||||
Se sua implantação falhar devido a restrições de variáveis de ambiente:
|
||||
|
||||
```bash
|
||||
# ❌ Estas irão causar falhas na implantação
|
||||
OPENAI_TOKEN=sk-...
|
||||
DATABASE_PASSWORD=mysenha
|
||||
API_SECRET=segredo123
|
||||
|
||||
# ✅ Utilize estes padrões de nomeação
|
||||
OPENAI_API_KEY=sk-...
|
||||
DATABASE_CREDENTIALS=mysenha
|
||||
API_CONFIG=segredo123
|
||||
```
|
||||
|
||||
### Melhores Práticas
|
||||
|
||||
1. **Use convenções padrão de nomenclatura**: `PROVIDER_API_KEY` em vez de `PROVIDER_TOKEN`
|
||||
2. **Teste localmente primeiro**: Certifique-se de que seu crew funciona com as variáveis renomeadas
|
||||
3. **Atualize seu código**: Altere todas as referências aos nomes antigos das variáveis
|
||||
4. **Documente as mudanças**: Mantenha registro das variáveis renomeadas para seu time
|
||||
|
||||
<Tip>
|
||||
Se você se deparar com falhas de implantação com erros enigmáticos de variáveis de ambiente, confira primeiro os nomes das variáveis em relação a esses padrões.
|
||||
</Tip>
|
||||
|
||||
### Interaja com Seu Crew Implantado
|
||||
|
||||
Após a implantação, você pode acessar seu crew por meio de:
|
||||
|
||||
1. **REST API**: A plataforma gera um endpoint HTTPS exclusivo com estas rotas principais:
|
||||
- `/inputs`: Lista os parâmetros de entrada requeridos
|
||||
- `/kickoff`: Inicia uma execução com os inputs fornecidos
|
||||
- `/status/{kickoff_id}`: Consulta o status da execução
|
||||
|
||||
2. **Interface Web**: Acesse [app.crewai.com](https://app.crewai.com) para visualizar:
|
||||
- **Aba Status**: Informações da implantação, detalhes do endpoint da API e token de autenticação
|
||||
- **Aba Run**: Visualização da estrutura do seu crew
|
||||
- **Aba Executions**: Histórico de todas as execuções
|
||||
- **Aba Metrics**: Análises de desempenho
|
||||
- **Aba Traces**: Insights detalhados das execuções
|
||||
|
||||
### Dispare uma Execução
|
||||
|
||||
No dashboard Enterprise, você pode:
|
||||
|
||||
1. Clicar no nome do seu crew para abrir seus detalhes
|
||||
2. Selecionar "Trigger Crew" na interface de gerenciamento
|
||||
3. Inserir os inputs necessários no modal exibido
|
||||
4. Monitorar o progresso à medida que a execução avança pelo pipeline
|
||||
|
||||
### Monitoramento e Análises
|
||||
|
||||
A plataforma Enterprise oferece recursos abrangentes de observabilidade:
|
||||
|
||||
- **Gestão das Execuções**: Acompanhe execuções ativas e concluídas
|
||||
- **Traces**: Quebra detalhada de cada execução
|
||||
- **Métricas**: Uso de tokens, tempos de execução e custos
|
||||
- **Visualização em Linha do Tempo**: Representação visual das sequências de tarefas
|
||||
|
||||
### Funcionalidades Avançadas
|
||||
|
||||
A plataforma Enterprise também oferece:
|
||||
|
||||
- **Gerenciamento de Variáveis de Ambiente**: Armazene e gerencie com segurança as chaves de API
|
||||
- **Conexões com LLM**: Configure integrações com diversos provedores de LLM
|
||||
- **Repositório Custom Tools**: Crie, compartilhe e instale ferramentas
|
||||
- **Crew Studio**: Monte crews via interface de chat sem escrever código
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para ajuda com questões de implantação ou dúvidas sobre a plataforma Enterprise.
|
||||
</Card>
|
||||
165
docs/pt-BR/enterprise/guides/enable-crew-studio.mdx
Normal file
165
docs/pt-BR/enterprise/guides/enable-crew-studio.mdx
Normal file
@@ -0,0 +1,165 @@
|
||||
---
|
||||
title: "Ativar Crew Studio"
|
||||
description: "Ativando o Crew Studio no CrewAI Enterprise"
|
||||
icon: "comments"
|
||||
---
|
||||
|
||||
<Tip>
|
||||
Crew Studio é uma poderosa ferramenta **no-code/low-code** que permite criar ou estruturar Crews rapidamente por meio de uma interface conversacional.
|
||||
</Tip>
|
||||
|
||||
## O que é o Crew Studio?
|
||||
|
||||
O Crew Studio é uma forma inovadora de criar equipes de agentes de IA sem escrever código.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
Com o Crew Studio, você pode:
|
||||
|
||||
- Conversar com o Crew Assistant para descrever seu problema
|
||||
- Gerar automaticamente agentes e tarefas
|
||||
- Selecionar as ferramentas apropriadas
|
||||
- Configurar os inputs necessários
|
||||
- Gerar código para download e personalização
|
||||
- Fazer deploy diretamente na plataforma CrewAI Enterprise
|
||||
|
||||
## Etapas de Configuração
|
||||
|
||||
Antes de começar a usar o Crew Studio, você precisa configurar suas conexões LLM:
|
||||
|
||||
<Steps>
|
||||
<Step title="Configurar a Conexão LLM">
|
||||
Acesse a aba **LLM Connections** no painel do CrewAI Enterprise e crie uma nova conexão LLM.
|
||||
|
||||
<Note>
|
||||
Sinta-se à vontade para utilizar qualquer provedor LLM suportado pelo CrewAI.
|
||||
</Note>
|
||||
|
||||
Configure sua conexão LLM:
|
||||
|
||||
- Insira um `Connection Name` (por exemplo, `OpenAI`)
|
||||
- Selecione o provedor do modelo: `openai` ou `azure`
|
||||
- Selecione os modelos que deseja usar em suas Crews geradas pelo Studio
|
||||
- Recomendamos pelo menos `gpt-4o`, `o1-mini` e `gpt-4o-mini`
|
||||
- Adicione sua chave de API como uma variável de ambiente:
|
||||
- Para OpenAI: adicione `OPENAI_API_KEY` com sua chave de API
|
||||
- Para Azure OpenAI: consulte [este artigo](https://blog.crewai.com/configuring-azure-openai-with-crewai-a-comprehensive-guide/) para detalhes de configuração
|
||||
- Clique em `Add Connection` para salvar sua configuração
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Verificar Conexão Adicionada">
|
||||
Assim que concluir a configuração, você verá sua nova conexão adicionada à lista de conexões disponíveis.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Configurar Padrões do LLM">
|
||||
No menu principal, vá em **Settings → Defaults** e configure as opções padrão do LLM:
|
||||
|
||||
- Selecione os modelos padrão para agentes e outros componentes
|
||||
- Defina as configurações padrão para o Crew Studio
|
||||
|
||||
Clique em `Save Settings` para aplicar as alterações.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Usando o Crew Studio
|
||||
|
||||
Agora que você configurou sua conexão LLM e os padrões, está pronto para começar a usar o Crew Studio!
|
||||
|
||||
<Steps>
|
||||
<Step title="Acessar o Studio">
|
||||
Navegue até a seção **Studio** no painel do CrewAI Enterprise.
|
||||
</Step>
|
||||
|
||||
<Step title="Iniciar uma Conversa">
|
||||
Inicie uma conversa com o Crew Assistant descrevendo o problema que deseja resolver:
|
||||
|
||||
```md
|
||||
I need a crew that can research the latest AI developments and create a summary report.
|
||||
```
|
||||
|
||||
O Crew Assistant fará perguntas de esclarecimento para entender melhor suas necessidades.
|
||||
</Step>
|
||||
|
||||
<Step title="Revisar o Crew Gerado">
|
||||
Revise a configuração do crew gerado, incluindo:
|
||||
|
||||
- Agentes e seus papéis
|
||||
- Tarefas a serem realizadas
|
||||
- Inputs necessários
|
||||
- Ferramentas a serem utilizadas
|
||||
|
||||
Esta é sua oportunidade para refinar a configuração antes de prosseguir.
|
||||
</Step>
|
||||
|
||||
<Step title="Fazer Deploy ou Baixar">
|
||||
Quando estiver satisfeito com a configuração, você pode:
|
||||
|
||||
- Baixar o código gerado para personalização local
|
||||
- Fazer deploy do crew diretamente na plataforma CrewAI Enterprise
|
||||
- Modificar a configuração e gerar o crew novamente
|
||||
</Step>
|
||||
|
||||
<Step title="Testar seu Crew">
|
||||
Após o deploy, teste seu crew com inputs de exemplo para garantir que ele funcione conforme esperado.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Tip>
|
||||
Para melhores resultados, forneça descrições claras e detalhadas do que deseja que seu crew realize. Inclua inputs específicos e outputs esperados em sua descrição.
|
||||
</Tip>
|
||||
|
||||
## Exemplo de Fluxo de Trabalho
|
||||
|
||||
Veja um fluxo de trabalho típico para criação de um crew com o Crew Studio:
|
||||
|
||||
<Steps>
|
||||
<Step title="Descreva seu Problema">
|
||||
Comece descrevendo seu problema:
|
||||
|
||||
```md
|
||||
I need a crew that can analyze financial news and provide investment recommendations
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Responder Perguntas">
|
||||
Responda às perguntas de esclarecimento do Crew Assistant para refinar seus requisitos.
|
||||
</Step>
|
||||
|
||||
<Step title="Revisar o Plano">
|
||||
Revise o plano do crew gerado, que pode incluir:
|
||||
|
||||
- Um Research Agent para coletar notícias financeiras
|
||||
- Um Analysis Agent para interpretar os dados
|
||||
- Um Recommendations Agent para fornecer conselhos de investimento
|
||||
</Step>
|
||||
|
||||
<Step title="Aprovar ou Modificar">
|
||||
Aprove o plano ou solicite alterações, se necessário.
|
||||
</Step>
|
||||
|
||||
<Step title="Baixar ou Fazer Deploy">
|
||||
Baixe o código para personalização ou faça o deploy diretamente na plataforma.
|
||||
</Step>
|
||||
|
||||
<Step title="Testar e Refinar">
|
||||
Teste seu crew com inputs de exemplo e faça ajustes conforme necessário.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Card title="Precisa de ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para obter assistência com o Crew Studio ou qualquer outro recurso do CrewAI Enterprise.
|
||||
</Card>
|
||||
53
docs/pt-BR/enterprise/guides/hubspot-trigger.mdx
Normal file
53
docs/pt-BR/enterprise/guides/hubspot-trigger.mdx
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: "Gatilho HubSpot"
|
||||
description: "Acione crews do CrewAI diretamente a partir de Workflows do HubSpot"
|
||||
icon: "hubspot"
|
||||
---
|
||||
|
||||
Este guia fornece um processo passo a passo para configurar gatilhos do HubSpot para o CrewAI Enterprise, permitindo iniciar crews diretamente a partir de Workflows do HubSpot.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
- Uma conta CrewAI Enterprise
|
||||
- Uma conta HubSpot com o recurso de [Workflows do HubSpot](https://knowledge.hubspot.com/workflows/create-workflows)
|
||||
|
||||
## Etapas de Configuração
|
||||
|
||||
<Steps>
|
||||
<Step title="Conecte sua conta HubSpot com o CrewAI Enterprise">
|
||||
- Faça login na sua `Conta CrewAI Enterprise > Triggers`
|
||||
- Selecione `HubSpot` na lista de gatilhos disponíveis
|
||||
- Escolha a conta HubSpot que deseja conectar ao CrewAI Enterprise
|
||||
- Siga as instruções na tela para autorizar o acesso do CrewAI Enterprise à sua conta HubSpot
|
||||
- Uma mensagem de confirmação aparecerá assim que o HubSpot estiver conectado com sucesso ao CrewAI Enterprise
|
||||
</Step>
|
||||
<Step title="Crie um Workflow no HubSpot">
|
||||
- Faça login na sua `Conta HubSpot > Automations > Workflows > New workflow`
|
||||
- Selecione o tipo de workflow que atende às suas necessidades (por exemplo, Começar do zero)
|
||||
- No construtor de workflow, clique no ícone de mais (+) para adicionar uma nova ação.
|
||||
- Escolha `Integrated apps > CrewAI > Kickoff a Crew`.
|
||||
- Selecione a Crew que deseja iniciar.
|
||||
- Clique em `Save` para adicionar a ação ao seu workflow
|
||||
<Frame>
|
||||
<img src="/images/enterprise/hubspot-workflow-1.png" alt="HubSpot Workflow 1" />
|
||||
</Frame>
|
||||
</Step>
|
||||
<Step title="Use os resultados da Crew com outras ações">
|
||||
- Após a etapa Kickoff a Crew, clique no ícone de mais (+) para adicionar uma nova ação.
|
||||
- Por exemplo, para enviar uma notificação de e-mail interna, escolha `Communications > Send internal email notification`
|
||||
- No campo Body, clique em `Insert data`, selecione `View properties or action outputs from > Action outputs > Crew Result` para incluir dados da Crew no e-mail
|
||||
<Frame>
|
||||
<img src="/images/enterprise/hubspot-workflow-2.png" alt="HubSpot Workflow 2" />
|
||||
</Frame>
|
||||
- Configure quaisquer ações adicionais necessárias
|
||||
- Revise as etapas do seu workflow para garantir que tudo está configurado corretamente
|
||||
- Ative o workflow
|
||||
<Frame>
|
||||
<img src="/images/enterprise/hubspot-workflow-3.png" alt="HubSpot Workflow 3" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Recursos Adicionais
|
||||
|
||||
Para informações mais detalhadas sobre as ações disponíveis e opções de personalização, consulte a [Documentação de Workflows do HubSpot](https://knowledge.hubspot.com/workflows/create-workflows).
|
||||
78
docs/pt-BR/enterprise/guides/human-in-the-loop.mdx
Normal file
78
docs/pt-BR/enterprise/guides/human-in-the-loop.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: "Workflows HITL"
|
||||
description: "Aprenda como implementar workflows Human-In-The-Loop no CrewAI para decisões aprimoradas"
|
||||
icon: "user-check"
|
||||
---
|
||||
|
||||
Human-In-The-Loop (HITL) é uma abordagem poderosa que combina inteligência artificial com expertise humana para aprimorar a tomada de decisão e melhorar os resultados das tarefas. Este guia mostra como implementar HITL dentro do CrewAI.
|
||||
|
||||
## Configurando Workflows HITL
|
||||
|
||||
<Steps>
|
||||
<Step title="Configure Sua Tarefa">
|
||||
Configure sua tarefa com a entrada humana habilitada:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/crew-human-input.png" alt="Crew Human Input" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Forneça o URL do Webhook">
|
||||
Ao iniciar seu crew, inclua um URL de webhook para entrada humana:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/crew-webhook-url.png" alt="Crew Webhook URL" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Receba a Notificação do Webhook">
|
||||
Assim que o crew concluir a tarefa que requer entrada humana, você receberá uma notificação do webhook contendo:
|
||||
- **ID de Execução**
|
||||
- **ID da Tarefa**
|
||||
- **Saída da Tarefa**
|
||||
</Step>
|
||||
|
||||
<Step title="Revise a Saída da Tarefa">
|
||||
O sistema irá pausar no estado `Pending Human Input`. Revise cuidadosamente a saída da tarefa.
|
||||
</Step>
|
||||
|
||||
<Step title="Envie o Feedback Humano">
|
||||
Chame o endpoint de retomada do seu crew com as seguintes informações:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||
</Frame>
|
||||
<Warning>
|
||||
**Impacto do Feedback na Execução da Tarefa**:
|
||||
É crucial ter cuidado ao fornecer o feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para as próximas execuções da tarefa.
|
||||
</Warning>
|
||||
Isso significa:
|
||||
- Todas as informações do seu feedback passam a fazer parte do contexto da tarefa.
|
||||
- Detalhes irrelevantes podem prejudicar a execução.
|
||||
- Feedbacks concisos e relevantes ajudam a manter o foco e a eficiência da tarefa.
|
||||
- Sempre revise atentamente seu feedback antes de enviá-lo para garantir que ele contém apenas informações pertinentes que irão guiar positivamente a execução da tarefa.
|
||||
</Step>
|
||||
<Step title="Lide com Feedback Negativo">
|
||||
Se você fornecer um feedback negativo:
|
||||
- O crew irá tentar executar novamente a tarefa com o contexto adicional do seu feedback.
|
||||
- Você receberá uma nova notificação de webhook para nova revisão.
|
||||
- Repita os passos 4-6 até estar satisfeito.
|
||||
</Step>
|
||||
|
||||
<Step title="Continuação da Execução">
|
||||
Quando você enviar um feedback positivo, a execução prosseguirá para as próximas etapas.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Melhores Práticas
|
||||
|
||||
- **Seja Específico**: Forneça feedback claro e acionável que trate diretamente da tarefa em questão
|
||||
- **Mantenha a Relevância**: Inclua apenas informações que possam ajudar a melhorar a execução da tarefa
|
||||
- **Seja Ágil**: Responda rapidamente aos prompts HITL para evitar atrasos no workflow
|
||||
- **Revise Cuidadosamente**: Verifique duas vezes o seu feedback antes de enviá-lo para garantir precisão
|
||||
|
||||
## Casos de Uso Comuns
|
||||
|
||||
Workflows HITL são particularmente valiosos para:
|
||||
- Garantia de qualidade e validação
|
||||
- Cenários de tomada de decisão complexa
|
||||
- Operações sensíveis ou de alto risco
|
||||
- Tarefas criativas que exigem julgamento humano
|
||||
- Revisões de conformidade e regulatórias
|
||||
185
docs/pt-BR/enterprise/guides/kickoff-crew.mdx
Normal file
185
docs/pt-BR/enterprise/guides/kickoff-crew.mdx
Normal file
@@ -0,0 +1,185 @@
|
||||
---
|
||||
title: "Kickoff Crew"
|
||||
description: "Inicie um Crew no CrewAI Enterprise"
|
||||
icon: "flag-checkered"
|
||||
---
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Uma vez que você tenha implantado seu crew na plataforma CrewAI Enterprise, é possível iniciar execuções pela interface web ou pela API. Este guia aborda ambos os métodos.
|
||||
|
||||
## Método 1: Usando a Interface Web
|
||||
|
||||
### Passo 1: Navegue até seu Crew Implantado
|
||||
|
||||
1. Faça login no [CrewAI Enterprise](https://app.crewai.com)
|
||||
2. Clique no nome do crew na sua lista de projetos
|
||||
3. Você será direcionado para a página de detalhes do crew
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### Passo 2: Iniciar Execução
|
||||
|
||||
Na página de detalhes do seu crew, você tem duas opções para iniciar uma execução:
|
||||
|
||||
#### Opção A: Kickoff Rápido
|
||||
|
||||
1. Clique no link `Kickoff` na seção Test Endpoints
|
||||
2. Insira os parâmetros de entrada necessários para seu crew no editor JSON
|
||||
3. Clique no botão `Send Request`
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
#### Opção B: Usando a Interface Visual
|
||||
|
||||
1. Clique na aba `Run` na página de detalhes do crew
|
||||
2. Insira os inputs necessários nos campos do formulário
|
||||
3. Clique no botão `Run Crew`
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### Passo 3: Monitorar o Progresso da Execução
|
||||
|
||||
Após iniciar a execução:
|
||||
|
||||
1. Você receberá uma resposta contendo um `kickoff_id` - **copie este ID**
|
||||
2. Esse ID é fundamental para o acompanhamento da sua execução
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### Passo 4: Verificar o Status da Execução
|
||||
|
||||
Para monitorar o andamento da sua execução:
|
||||
|
||||
1. Clique no endpoint "Status" na seção Test Endpoints
|
||||
2. Cole o `kickoff_id` no campo indicado
|
||||
3. Clique no botão "Get Status"
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
A resposta de status mostrará:
|
||||
- Estado atual da execução (`running`, `completed`, etc.)
|
||||
- Detalhes sobre quais tarefas estão em andamento
|
||||
- Quaisquer outputs gerados até o momento
|
||||
|
||||
### Passo 5: Visualizar Resultados Finais
|
||||
|
||||
Quando a execução for concluída:
|
||||
|
||||
1. O status mudará para `completed`
|
||||
2. Você poderá visualizar todos os resultados e outputs da execução
|
||||
3. Para uma visão mais detalhada, acesse a aba `Executions` na página de detalhes do crew
|
||||
|
||||
## Método 2: Usando a API
|
||||
|
||||
Você também pode iniciar crews programaticamente usando a REST API do CrewAI Enterprise.
|
||||
|
||||
### Autenticação
|
||||
|
||||
Todas as requisições à API exigem um bearer token para autenticação:
|
||||
|
||||
```bash
|
||||
curl -H "Authorization: Bearer YOUR_CREW_TOKEN" https://your-crew-url.crewai.com
|
||||
```
|
||||
|
||||
Seu bearer token está disponível na aba Status na página de detalhes do seu crew.
|
||||
|
||||
### Verificando o Status do Crew
|
||||
|
||||
Antes de executar operações, você pode verificar se seu crew está funcionando corretamente:
|
||||
|
||||
```bash
|
||||
curl -H "Authorization: Bearer YOUR_CREW_TOKEN" https://your-crew-url.crewai.com
|
||||
```
|
||||
|
||||
Uma resposta de sucesso trará uma mensagem indicando que o crew está operacional:
|
||||
|
||||
```
|
||||
Healthy%
|
||||
```
|
||||
|
||||
### Passo 1: Recuperar Entradas Necessárias
|
||||
|
||||
Primeiro, descubra quais entradas seu crew exige:
|
||||
|
||||
```bash
|
||||
curl -X GET \
|
||||
-H "Authorization: Bearer YOUR_CREW_TOKEN" \
|
||||
https://your-crew-url.crewai.com/inputs
|
||||
```
|
||||
|
||||
A resposta será um objeto JSON contendo um array de parâmetros de entrada obrigatórios, por exemplo:
|
||||
|
||||
```json
|
||||
{"inputs":["topic","current_year"]}
|
||||
```
|
||||
|
||||
Este exemplo mostra que este crew em particular requer dois inputs: `topic` e `current_year`.
|
||||
|
||||
### Passo 2: Iniciar Execução
|
||||
|
||||
Inicie a execução fornecendo os inputs obrigatórios:
|
||||
|
||||
```bash
|
||||
curl -X POST \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer YOUR_CREW_TOKEN" \
|
||||
-d '{"inputs": {"topic": "AI Agent Frameworks", "current_year": "2025"}}' \
|
||||
https://your-crew-url.crewai.com/kickoff
|
||||
```
|
||||
|
||||
A resposta incluirá um `kickoff_id` que você precisará para o acompanhamento:
|
||||
|
||||
```json
|
||||
{"kickoff_id":"abcd1234-5678-90ef-ghij-klmnopqrstuv"}
|
||||
```
|
||||
|
||||
### Passo 3: Verificar Status da Execução
|
||||
|
||||
Acompanhe o progresso da execução usando o kickoff_id:
|
||||
|
||||
```bash
|
||||
curl -X GET \
|
||||
-H "Authorization: Bearer YOUR_CREW_TOKEN" \
|
||||
https://your-crew-url.crewai.com/status/abcd1234-5678-90ef-ghij-klmnopqrstuv
|
||||
```
|
||||
|
||||
## Gerenciando Execuções
|
||||
|
||||
### Execuções de Longa Duração
|
||||
|
||||
Para execuções que possam demandar mais tempo:
|
||||
|
||||
1. Considere implementar um mecanismo de polling para verificar status periodicamente
|
||||
2. Utilize webhooks (se disponíveis) para notificação quando a execução for concluída
|
||||
3. Implemente tratamento de erros para possíveis timeouts
|
||||
|
||||
### Contexto da Execução
|
||||
|
||||
O contexto da execução inclui:
|
||||
|
||||
- Inputs fornecidos no momento do kickoff
|
||||
- Variáveis de ambiente configuradas durante o deploy
|
||||
- Qualquer estado mantido entre as tarefas
|
||||
|
||||
### Depuração de Execuções com Falha
|
||||
|
||||
Se uma execução falhar:
|
||||
|
||||
1. Verifique a aba "Executions" para logs detalhados
|
||||
2. Avalie a aba "Traces" para detalhes passo a passo da execução
|
||||
3. Procure por respostas LLM e uso de ferramentas nos detalhes do trace
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para obter ajuda com problemas de execução ou dúvidas sobre a plataforma Enterprise.
|
||||
</Card>
|
||||
103
docs/pt-BR/enterprise/guides/react-component-export.mdx
Normal file
103
docs/pt-BR/enterprise/guides/react-component-export.mdx
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Exportação de Componentes React"
|
||||
description: "Aprenda como exportar e integrar componentes React do CrewAI Enterprise em suas aplicações"
|
||||
icon: "react"
|
||||
---
|
||||
|
||||
Este guia explica como exportar crews do CrewAI Enterprise como componentes React e integrá-los às suas próprias aplicações.
|
||||
|
||||
## Exportando um Componente React
|
||||
|
||||
<Steps>
|
||||
<Step title="Exporte o Componente">
|
||||
Clique no menu de opções (três pontos à direita do seu crew implantado), selecione a opção de exportação e salve o arquivo localmente. Usaremos o arquivo `CrewLead.jsx` como exemplo.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/export-react-component.png" alt="Exportar Componente React" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Configurando seu Ambiente React
|
||||
|
||||
Para executar este componente React localmente, você precisará configurar um ambiente de desenvolvimento React e integrar este componente em um projeto React.
|
||||
|
||||
<Steps>
|
||||
<Step title="Instale o Node.js">
|
||||
- Baixe e instale o Node.js no site oficial: https://nodejs.org/
|
||||
- Escolha a versão LTS (Long Term Support) para maior estabilidade.
|
||||
</Step>
|
||||
|
||||
<Step title="Crie um novo projeto React">
|
||||
- Abra o Prompt de Comando ou PowerShell
|
||||
- Navegue até o diretório onde deseja criar seu projeto
|
||||
- Execute o seguinte comando para criar um novo projeto React:
|
||||
|
||||
```bash
|
||||
npx create-react-app my-crew-app
|
||||
```
|
||||
- Entre no diretório do projeto:
|
||||
|
||||
```bash
|
||||
cd my-crew-app
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Instale as dependências necessárias">
|
||||
```bash
|
||||
npm install react-dom
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Crie o componente CrewLead">
|
||||
- Mova o arquivo baixado `CrewLead.jsx` para a pasta `src` do seu projeto.
|
||||
</Step>
|
||||
|
||||
<Step title="Modifique seu App.js para usar o componente CrewLead">
|
||||
- Abra o arquivo `src/App.js`
|
||||
- Substitua o conteúdo por algo semelhante a isso:
|
||||
|
||||
```jsx
|
||||
import React from 'react';
|
||||
import CrewLead from './CrewLead';
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<div className="App">
|
||||
<CrewLead baseUrl="YOUR_API_BASE_URL" bearerToken="YOUR_BEARER_TOKEN" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
```
|
||||
- Substitua `YOUR_API_BASE_URL` e `YOUR_BEARER_TOKEN` pelos valores reais da sua API.
|
||||
</Step>
|
||||
|
||||
<Step title="Inicie o servidor de desenvolvimento">
|
||||
- No diretório do seu projeto, execute:
|
||||
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
- Isso iniciará o servidor de desenvolvimento, e seu navegador padrão será aberto automaticamente em http://localhost:3000, onde você verá sua aplicação React rodando.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Personalização
|
||||
|
||||
Você pode então personalizar o `CrewLead.jsx` para adicionar cor, título etc.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/customise-react-component.png" alt="Personalizar Componente React" />
|
||||
</Frame>
|
||||
<Frame>
|
||||
<img src="/images/enterprise/customise-react-component-2.png" alt="Personalizar Componente React" />
|
||||
</Frame>
|
||||
|
||||
## Próximos Passos
|
||||
|
||||
- Personalize o estilo do componente para combinar com o design da sua aplicação
|
||||
- Adicione props adicionais para configuração
|
||||
- Integre com o gerenciamento de estado da sua aplicação
|
||||
- Adicione tratamento de erros e estados de carregamento
|
||||
44
docs/pt-BR/enterprise/guides/salesforce-trigger.mdx
Normal file
44
docs/pt-BR/enterprise/guides/salesforce-trigger.mdx
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: "Trigger Salesforce"
|
||||
description: "Dispare equipes CrewAI a partir de fluxos de trabalho do Salesforce para automação de CRM"
|
||||
icon: "salesforce"
|
||||
---
|
||||
|
||||
A CrewAI Enterprise pode ser acionada a partir do Salesforce para automatizar fluxos de trabalho de gestão de relacionamento com o cliente e aprimorar suas operações de vendas.
|
||||
|
||||
## Visão Geral
|
||||
|
||||
O Salesforce é uma das principais plataformas de gestão de relacionamento com o cliente (CRM), que ajuda empresas a otimizar operações de vendas, atendimento e marketing. Ao configurar triggers da CrewAI a partir do Salesforce, você pode:
|
||||
|
||||
- Automatizar a classificação e qualificação de leads
|
||||
- Gerar materiais de vendas personalizados
|
||||
- Aprimorar o atendimento ao cliente com respostas baseadas em IA
|
||||
- Otimizar análise e relatórios de dados
|
||||
|
||||
## Demonstração
|
||||
|
||||
<Frame>
|
||||
<iframe width="100%" height="400" src="https://www.youtube.com/embed/oJunVqjjfu4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
</Frame>
|
||||
|
||||
## Primeiros Passos
|
||||
|
||||
Para configurar triggers no Salesforce:
|
||||
|
||||
1. **Contato com o Suporte**: Entre em contato com o suporte da CrewAI Enterprise para obter assistência na configuração dos triggers no Salesforce
|
||||
2. **Revisar Requisitos**: Certifique-se de possuir as permissões necessárias no Salesforce e acesso à API
|
||||
3. **Configurar Conexão**: Trabalhe com a equipe de suporte para estabelecer a conexão entre a CrewAI e sua instância do Salesforce
|
||||
4. **Testar Triggers**: Verifique se os triggers funcionam corretamente para os seus casos de uso específicos
|
||||
|
||||
## Casos de Uso
|
||||
|
||||
Cenários comuns de uso de triggers Salesforce + CrewAI incluem:
|
||||
|
||||
- **Processamento de Leads**: Analisar e classificar leads recebidos automaticamente
|
||||
- **Geração de Propostas**: Criar propostas personalizadas com base nos dados das oportunidades
|
||||
- **Insights de Clientes**: Gerar relatórios de análise a partir do histórico de interações com clientes
|
||||
- **Automação de Follow-up**: Criar mensagens de follow-up e recomendações personalizadas
|
||||
|
||||
## Próximos Passos
|
||||
|
||||
Para instruções detalhadas de configuração e opções avançadas, entre em contato com o suporte da CrewAI Enterprise, que pode fornecer orientações personalizadas para o seu ambiente Salesforce e necessidades de negócio.
|
||||
61
docs/pt-BR/enterprise/guides/slack-trigger.mdx
Normal file
61
docs/pt-BR/enterprise/guides/slack-trigger.mdx
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
title: "Slack Trigger"
|
||||
description: "Acione crews do CrewAI diretamente do Slack usando comandos de barra"
|
||||
icon: "slack"
|
||||
---
|
||||
|
||||
Este guia explica como iniciar um crew diretamente do Slack usando triggers do CrewAI.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
- Trigger do CrewAI para Slack instalado e conectado ao seu workspace do Slack
|
||||
- Pelo menos um crew configurado no CrewAI
|
||||
|
||||
## Etapas de Configuração
|
||||
|
||||
<Steps>
|
||||
<Step title="Garanta que o trigger do CrewAI para Slack está configurado">
|
||||
No dashboard do CrewAI, navegue até a seção **Triggers**.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/slack-integration.png" alt="Integração CrewAI Slack" />
|
||||
</Frame>
|
||||
|
||||
Verifique se o Slack está listado e conectado.
|
||||
</Step>
|
||||
<Step title="Abra o canal do Slack">
|
||||
- Navegue até o canal onde você deseja iniciar o crew.
|
||||
- Digite o comando de barra "**/kickoff**" para iniciar o processo de kickoff do crew.
|
||||
- Você deverá ver "**Kickoff crew**" aparecendo enquanto digita:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/kickoff-slack-crew.png" alt="Kickoff crew" />
|
||||
</Frame>
|
||||
- Pressione Enter ou selecione a opção "**Kickoff crew**". Uma caixa de diálogo intitulada "**Kickoff an AI Crew**" aparecerá.
|
||||
</Step>
|
||||
<Step title="Selecione o crew que deseja iniciar">
|
||||
- No menu suspenso rotulado "**Select of the crews online:**", escolha o crew que deseja iniciar.
|
||||
- No exemplo abaixo, "**prep-for-meeting**" está selecionado:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/kickoff-slack-crew-dropdown.png" alt="Kickoff crew dropdown" />
|
||||
</Frame>
|
||||
- Se o seu crew exigir algum input, clique no botão "**Add Inputs**" para fornecê-los.
|
||||
<Note>
|
||||
O botão "**Add Inputs**" é mostrado no exemplo acima, mas ainda não foi clicado.
|
||||
</Note>
|
||||
</Step>
|
||||
<Step title="Clique em Kickoff e aguarde o término do crew">
|
||||
- Assim que você tiver selecionado o crew e adicionado os inputs necessários, clique em "**Kickoff**" para iniciar o crew.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/kickoff-slack-crew-kickoff.png" alt="Kickoff crew" />
|
||||
</Frame>
|
||||
- O crew começará a ser executado e você verá os resultados no canal do Slack.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/kickoff-slack-crew-results.png" alt="Kickoff crew results" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Dicas
|
||||
|
||||
- Certifique-se de que você possui as permissões necessárias para usar o comando `/kickoff` em seu workspace do Slack.
|
||||
- Se você não visualizar o crew desejado no menu suspenso, verifique se ele está devidamente configurado e online no CrewAI.
|
||||
87
docs/pt-BR/enterprise/guides/team-management.mdx
Normal file
87
docs/pt-BR/enterprise/guides/team-management.mdx
Normal file
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "Gestão de Equipes"
|
||||
description: "Aprenda como convidar e gerenciar membros da equipe em sua organização CrewAI Enterprise"
|
||||
icon: "users"
|
||||
---
|
||||
|
||||
Como administrador de uma conta CrewAI Enterprise, você pode facilmente convidar novos membros para sua organização. Este guia irá orientá-lo passo a passo pelo processo.
|
||||
|
||||
## Convidando Membros da Equipe
|
||||
|
||||
<Steps>
|
||||
<Step title="Acesse a Página de Configurações">
|
||||
- Faça login na sua conta CrewAI Enterprise
|
||||
- Procure o ícone de engrenagem (⚙️) no canto superior direito do painel
|
||||
- Clique no ícone de engrenagem para acessar a página de **Configurações**:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/settings-page.png" alt="Página de Configurações" />
|
||||
</Frame>
|
||||
</Step>
|
||||
<Step title="Navegue até a Seção de Membros">
|
||||
- Na página de Configurações, você verá a aba `Members`
|
||||
- Clique na aba `Members` para acessar a página de **Membros**:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/members-tab.png" alt="Aba Membros" />
|
||||
</Frame>
|
||||
</Step>
|
||||
<Step title="Convidar Novos Membros">
|
||||
- Na seção de Membros, você verá uma lista dos membros atuais (incluindo você)
|
||||
- Localize o campo de entrada `Email`
|
||||
- Digite o endereço de e-mail da pessoa que você deseja convidar
|
||||
- Clique no botão `Invite` para enviar o convite
|
||||
</Step>
|
||||
<Step title="Repita Conforme Necessário">
|
||||
- Você pode repetir esse processo para convidar vários membros da equipe
|
||||
- Cada membro convidado receberá um convite por e-mail para ingressar na sua organização
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Adicionando Funções
|
||||
|
||||
Você pode adicionar funções aos membros da equipe para controlar o acesso a diferentes partes da plataforma.
|
||||
|
||||
<Steps>
|
||||
<Step title="Acesse a Página de Configurações">
|
||||
- Faça login na sua conta CrewAI Enterprise
|
||||
- Procure o ícone de engrenagem (⚙️) no canto superior direito do painel
|
||||
- Clique no ícone de engrenagem para acessar a página de **Configurações**:
|
||||
<Frame>
|
||||
<img src="/images/enterprise/settings-page.png" alt="Página de Configurações" />
|
||||
</Frame>
|
||||
</Step>
|
||||
<Step title="Navegue até a Seção de Funções">
|
||||
- Na página de Configurações, você verá a aba `Roles`
|
||||
- Clique na aba `Roles` para acessar a página de **Funções**.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/roles-tab.png" alt="Aba Funções" />
|
||||
</Frame>
|
||||
- Clique no botão `Add Role` para adicionar uma nova função.
|
||||
- Insira os detalhes e as permissões da função e clique no botão `Create Role` para criar a função.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/add-role-modal.png" alt="Modal Adicionar Função" />
|
||||
</Frame>
|
||||
</Step>
|
||||
<Step title="Adicionar Funções aos Membros">
|
||||
- Na seção de Membros, você verá uma lista dos membros atuais (incluindo você)
|
||||
<Frame>
|
||||
<img src="/images/enterprise/member-accepted-invitation.png" alt="Membro Aceitou Convite" />
|
||||
</Frame>
|
||||
- Após o membro aceitar o convite, você poderá adicionar uma função a ele.
|
||||
- Volte para a aba `Roles`
|
||||
- Vá até o membro ao qual deseja adicionar uma função e, na coluna `Role`, clique no menu suspenso
|
||||
- Selecione a função que deseja atribuir ao membro
|
||||
- Clique no botão `Update` para salvar a função
|
||||
<Frame>
|
||||
<img src="/images/enterprise/assign-role.png" alt="Adicionar Função ao Membro" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Notas Importantes
|
||||
|
||||
- **Privilégios de Administrador**: Apenas usuários com privilégios administrativos podem convidar novos membros
|
||||
- **Precisão do E-mail**: Certifique-se de que você tem os endereços de e-mail corretos dos membros da equipe
|
||||
- **Aceite do Convite**: Os membros convidados precisarão aceitar o convite para ingressar na sua organização
|
||||
- **Notificações por E-mail**: Oriente seus membros a verificarem o e-mail (incluindo a pasta de spam) para localizar o convite
|
||||
|
||||
Seguindo estes passos, você conseguirá expandir sua equipe e colaborar de forma mais eficaz dentro da sua organização CrewAI Enterprise.
|
||||
88
docs/pt-BR/enterprise/guides/update-crew.mdx
Normal file
88
docs/pt-BR/enterprise/guides/update-crew.mdx
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: "Atualizar Crew"
|
||||
description: "Atualizando uma Crew no CrewAI Enterprise"
|
||||
icon: "pencil"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Após implantar sua crew no CrewAI Enterprise, pode ser necessário fazer atualizações no código, configurações de segurança ou configuração.
|
||||
Este guia explica como realizar essas operações de atualização comuns.
|
||||
</Note>
|
||||
|
||||
## Por que atualizar sua Crew?
|
||||
|
||||
Por padrão, o CrewAI não irá buscar atualizações do GitHub automaticamente, então você precisará acionar manualmente as atualizações, a menos que tenha marcado a opção `Auto-update` ao implantar sua crew.
|
||||
|
||||
Há várias razões para querer atualizar sua implantação de crew:
|
||||
- Você deseja atualizar o código com o commit mais recente que enviou para o GitHub
|
||||
- Você deseja redefinir o bearer token por motivos de segurança
|
||||
- Você deseja atualizar variáveis de ambiente
|
||||
|
||||
## 1. Atualizando o código da sua Crew para o último commit
|
||||
|
||||
Quando você fizer push de novos commits no seu repositório do GitHub e quiser atualizar sua implantação:
|
||||
|
||||
1. Navegue até sua crew na plataforma CrewAI Enterprise
|
||||
2. Clique no botão `Re-deploy` na página de detalhes da sua crew
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
Isso irá acionar uma atualização que pode ser acompanhada pela barra de progresso. O sistema irá buscar o código mais recente do seu repositório e reconstruir sua implantação.
|
||||
|
||||
## 2. Redefinindo o Bearer Token
|
||||
|
||||
Se precisar gerar um novo bearer token (por exemplo, se suspeitar que o token atual possa ter sido comprometido):
|
||||
|
||||
1. Navegue até sua crew na plataforma CrewAI Enterprise
|
||||
2. Encontre a seção `Bearer Token`
|
||||
3. Clique no botão `Reset` ao lado do token atual
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
<Warning>
|
||||
A redefinição do bearer token invalidará imediatamente o token anterior. Certifique-se de atualizar quaisquer aplicações ou scripts que estejam utilizando o token antigo.
|
||||
</Warning>
|
||||
|
||||
## 3. Atualizando Variáveis de Ambiente
|
||||
|
||||
Para atualizar as variáveis de ambiente da sua crew:
|
||||
|
||||
1. Primeiro, acesse a página de implantação clicando no nome da sua crew
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
2. Localize a seção `Environment Variables` (você deverá clicar no ícone de `Settings` para acessá-la)
|
||||
3. Edite as variáveis existentes ou adicione novas nos campos fornecidos
|
||||
4. Clique no botão `Update` ao lado de cada variável que você modificar
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
5. Por fim, clique no botão `Update Deployment` na parte inferior da página para aplicar as alterações
|
||||
|
||||
<Note>
|
||||
A atualização das variáveis de ambiente irá acionar uma nova implantação, mas isso atualizará apenas a configuração de ambiente e não o código em si.
|
||||
</Note>
|
||||
|
||||
## Após atualizar
|
||||
|
||||
Após realizar qualquer atualização:
|
||||
|
||||
1. O sistema irá reconstruir e reimplantar sua crew
|
||||
2. Você poderá monitorar o progresso da implantação em tempo real
|
||||
3. Quando finalizado, teste sua crew para garantir que as alterações estão funcionando como esperado
|
||||
|
||||
<Tip>
|
||||
Se encontrar algum problema após a atualização, é possível visualizar os logs de implantação na plataforma ou entrar em contato com o suporte para obter assistência.
|
||||
</Tip>
|
||||
|
||||
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
||||
Entre em contato com nossa equipe de suporte para obter assistência com a atualização da sua crew ou solução de problemas de implantação.
|
||||
</Card>
|
||||
121
docs/pt-BR/enterprise/guides/webhook-automation.mdx
Normal file
121
docs/pt-BR/enterprise/guides/webhook-automation.mdx
Normal file
@@ -0,0 +1,121 @@
|
||||
---
|
||||
title: "Automação com Webhook"
|
||||
description: "Automatize fluxos de trabalho do CrewAI Enterprise usando webhooks com plataformas como ActivePieces, Zapier e Make.com"
|
||||
icon: "webhook"
|
||||
---
|
||||
|
||||
O CrewAI Enterprise permite que você automatize seu fluxo de trabalho usando webhooks. Este artigo irá guiá-lo no processo de configuração e uso de webhooks para iniciar a execução do crew, com foco na integração com o ActivePieces, uma plataforma de automação de fluxos de trabalho semelhante ao Zapier e Make.com.
|
||||
|
||||
## Configurando Webhooks
|
||||
|
||||
<Steps>
|
||||
<Step title="Acessando a Interface de Kickoff">
|
||||
- Navegue até o painel do CrewAI Enterprise
|
||||
- Procure pela seção `/kickoff`, que é usada para iniciar a execução do crew
|
||||
<Frame>
|
||||
<img src="/images/enterprise/kickoff-interface.png" alt="Interface Kickoff" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Configurando o Conteúdo JSON">
|
||||
Na seção de Conteúdo JSON, você deverá fornecer as seguintes informações:
|
||||
|
||||
- **inputs**: Um objeto JSON contendo:
|
||||
- `company`: O nome da empresa (ex.: "tesla")
|
||||
- `product_name`: O nome do produto (ex.: "crewai")
|
||||
- `form_response`: O tipo de resposta (ex.: "financial")
|
||||
- `icp_description`: Uma breve descrição do Perfil de Cliente Ideal
|
||||
- `product_description`: Uma breve descrição do produto
|
||||
- `taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`: URLs para diversos endpoints de webhook (ActivePieces, Zapier, Make.com ou outra plataforma compatível)
|
||||
</Step>
|
||||
|
||||
<Step title="Integração com ActivePieces">
|
||||
Neste exemplo usaremos o ActivePieces. Você pode utilizar outras plataformas, como Zapier e Make.com.
|
||||
|
||||
Para integrar com o ActivePieces:
|
||||
|
||||
1. Crie um novo flow no ActivePieces
|
||||
2. Adicione um gatilho (ex.: agendamento `Every Day`)
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-trigger.png" alt="Gatilho ActivePieces" />
|
||||
</Frame>
|
||||
|
||||
3. Adicione uma etapa de ação HTTP
|
||||
- Configure a ação como `Send HTTP request`
|
||||
- Use o método `POST`
|
||||
- Defina a URL para o endpoint de kickoff do CrewAI Enterprise
|
||||
- Adicione os headers necessários (ex.: `Bearer Token`)
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-headers.png" alt="Headers ActivePieces" />
|
||||
</Frame>
|
||||
|
||||
- No corpo, inclua o conteúdo JSON conforme configurado na etapa 2
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-body.png" alt="Body ActivePieces" />
|
||||
</Frame>
|
||||
|
||||
- O crew será iniciado no horário pré-definido.
|
||||
</Step>
|
||||
|
||||
<Step title="Configurando o Webhook">
|
||||
1. Crie um novo flow no ActivePieces e nomeie-o
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-flow.png" alt="Flow ActivePieces" />
|
||||
</Frame>
|
||||
|
||||
2. Adicione uma etapa de webhook como gatilho:
|
||||
- Selecione `Catch Webhook` como tipo de gatilho
|
||||
- Isso irá gerar uma URL única que receberá requisições HTTP e disparará seu flow
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-webhook.png" alt="Webhook ActivePieces" />
|
||||
</Frame>
|
||||
|
||||
- Configure o e-mail para usar o corpo de texto do webhook do crew
|
||||
<Frame>
|
||||
<img src="/images/enterprise/activepieces-email.png" alt="Email ActivePieces" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Exemplos de Output do Webhook
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Step Webhook">
|
||||
`stepWebhookUrl` - Callback executado a cada pensamento interno do agente
|
||||
|
||||
```json
|
||||
{
|
||||
"action": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Task Webhook">
|
||||
`taskWebhookUrl` - Callback executado ao final de cada task
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Crew Webhook">
|
||||
`crewWebhookUrl` - Callback executado ao final da execução do crew
|
||||
|
||||
```json
|
||||
{
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
|
||||
"result": {
|
||||
"lead_score": "Customer service enhancement, and compliance are particularly relevant.",
|
||||
"talking_points": [
|
||||
"Highlight how crewai's AI solutions can transform customer service with automated, personalized experiences and 24/7 support, improving both customer satisfaction and operational efficiency.",
|
||||
"Discuss crewai's potential to help the institution achieve its sustainability goals through better data analysis and decision-making, contributing to responsible investing and green initiatives.",
|
||||
"Emphasize crewai's ability to enhance compliance with evolving regulations through efficient data processing and reporting, reducing the risk of non-compliance penalties.",
|
||||
"Stress the adaptability of crewai to support both extensive multinational operations and smaller, targeted projects, ensuring the solution grows with the institution's needs."
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
103
docs/pt-BR/enterprise/guides/zapier-trigger.mdx
Normal file
103
docs/pt-BR/enterprise/guides/zapier-trigger.mdx
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Trigger Zapier"
|
||||
description: "Dispare crews do CrewAI a partir de fluxos de trabalho no Zapier para automatizar fluxos multiaplicativos"
|
||||
icon: "bolt"
|
||||
---
|
||||
|
||||
Este guia irá conduzi-lo pelo processo de configuração de triggers no Zapier para o CrewAI Enterprise, permitindo automatizar fluxos de trabalho entre CrewAI Enterprise e outros aplicativos.
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
- Uma conta CrewAI Enterprise
|
||||
- Uma conta Zapier
|
||||
- Uma conta Slack (para este exemplo específico)
|
||||
|
||||
## Configuração Passo a Passo
|
||||
|
||||
<Steps>
|
||||
<Step title="Configure o Trigger do Slack">
|
||||
- No Zapier, crie um novo Zap.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-1.png" alt="Zapier 1" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Escolha o Slack como seu app de trigger">
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-2.png" alt="Zapier 2" />
|
||||
</Frame>
|
||||
- Selecione `New Pushed Message` como o Evento de Trigger.
|
||||
- Conecte sua conta Slack, caso ainda não tenha feito isso.
|
||||
</Step>
|
||||
|
||||
<Step title="Configure a ação do CrewAI Enterprise">
|
||||
- Adicione uma nova etapa de ação ao seu Zap.
|
||||
- Escolha CrewAI+ como o app de ação e Kickoff como Evento de Ação.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-3.png" alt="Zapier 5" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Conecte sua conta CrewAI Enterprise">
|
||||
- Conecte sua conta CrewAI Enterprise.
|
||||
- Selecione o Crew apropriado para seu fluxo de trabalho.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-4.png" alt="Zapier 6" />
|
||||
</Frame>
|
||||
- Configure as entradas para o Crew usando os dados da mensagem do Slack.
|
||||
</Step>
|
||||
|
||||
<Step title="Formate a saída do CrewAI Enterprise">
|
||||
- Adicione outra etapa de ação para formatar a saída de texto do CrewAI Enterprise.
|
||||
- Utilize as ferramentas de formatação do Zapier para converter a saída em Markdown para HTML.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-5.png" alt="Zapier 8" />
|
||||
</Frame>
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-6.png" alt="Zapier 9" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Envie a saída por e-mail">
|
||||
- Adicione uma etapa final de ação para enviar a saída formatada por e-mail.
|
||||
- Escolha seu serviço de e-mail preferido (ex.: Gmail, Outlook).
|
||||
- Configure os detalhes do e-mail, incluindo destinatário, assunto e corpo.
|
||||
- Insira a saída formatada do CrewAI Enterprise no corpo do e-mail.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-7.png" alt="Zapier 7" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Dispare o crew a partir do Slack">
|
||||
- Digite o texto no seu canal do Slack
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-7b.png" alt="Zapier 10" />
|
||||
</Frame>
|
||||
|
||||
- Selecione o botão de três pontos e então escolha Push to Zapier
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-8.png" alt="Zapier 11" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="Selecione o crew e então pressione Push to Kick Off">
|
||||
<Frame>
|
||||
<img src="/images/enterprise/zapier-9.png" alt="Zapier 12" />
|
||||
</Frame>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Dicas para o Sucesso
|
||||
|
||||
- Certifique-se de que as entradas do CrewAI Enterprise estejam corretamente mapeadas a partir da mensagem do Slack.
|
||||
- Teste seu Zap cuidadosamente antes de ativá-lo para identificar possíveis problemas.
|
||||
- Considere adicionar etapas de tratamento de erros para gerenciar possíveis falhas no fluxo.
|
||||
|
||||
Seguindo estes passos, você terá configurado com sucesso triggers no Zapier para o CrewAI Enterprise, permitindo fluxos de trabalho automatizados disparados por mensagens no Slack e resultando em notificações por e-mail com a saída do CrewAI Enterprise.
|
||||
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()
|
||||
```
|
||||
99
docs/pt-BR/enterprise/introduction.mdx
Normal file
99
docs/pt-BR/enterprise/introduction.mdx
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: "CrewAI Enterprise"
|
||||
description: "Implemente, monitore e escale seus fluxos de trabalho de agentes de IA"
|
||||
icon: "globe"
|
||||
---
|
||||
|
||||
## Introdução
|
||||
|
||||
CrewAI Enterprise fornece uma plataforma para implementar, monitorar e escalar seus crews e agentes em um ambiente de produção.
|
||||
|
||||
<Frame>
|
||||
<img src="/images/enterprise/crewai-enterprise-dashboard.png" alt="CrewAI Enterprise Dashboard" />
|
||||
</Frame>
|
||||
|
||||
CrewAI Enterprise expande o poder do framework open-source com funcionalidades projetadas para implantações em produção, colaboração e escalabilidade. Implemente seus crews em uma infraestrutura gerenciada e monitore sua execução em tempo real.
|
||||
|
||||
## Principais Funcionalidades
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Implantação de Crews" icon="rocket">
|
||||
Implemente seus crews em uma infraestrutura gerenciada com apenas alguns cliques
|
||||
</Card>
|
||||
<Card title="Acesso via API" icon="code">
|
||||
Acesse seus crews implantados via REST API para integração com sistemas existentes
|
||||
</Card>
|
||||
<Card title="Observabilidade" icon="chart-line">
|
||||
Monitore seus crews com rastreamentos de execução e logs detalhados
|
||||
</Card>
|
||||
<Card title="Repositório de Ferramentas" icon="toolbox">
|
||||
Publique e instale ferramentas para aprimorar as capacidades de seus crews
|
||||
</Card>
|
||||
<Card title="Transmissão via Webhook" icon="webhook">
|
||||
Transmita eventos e atualizações em tempo real para seus sistemas
|
||||
</Card>
|
||||
<Card title="Crew Studio" icon="paintbrush">
|
||||
Crie e personalize crews utilizando uma interface no-code/low-code
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Opções de Implantação
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Integração com GitHub" icon="github">
|
||||
Conecte-se diretamente aos seus repositórios do GitHub para implementar código
|
||||
</Card>
|
||||
<Card title="Crew Studio" icon="palette">
|
||||
Implemente crews criados pela interface no-code do Crew Studio
|
||||
</Card>
|
||||
<Card title="Implantação via CLI" icon="terminal">
|
||||
Use o CrewAI CLI para fluxos de trabalho de implantação mais avançados
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Primeiros Passos
|
||||
|
||||
<Steps>
|
||||
<Step title="Cadastre-se para uma conta">
|
||||
Crie sua conta em [app.crewai.com](https://app.crewai.com)
|
||||
<Card
|
||||
title="Cadastre-se"
|
||||
icon="user"
|
||||
href="https://app.crewai.com/signup"
|
||||
>
|
||||
Cadastre-se
|
||||
</Card>
|
||||
</Step>
|
||||
<Step title="Construa seu primeiro crew">
|
||||
Utilize código ou o Crew Studio para construir seu crew
|
||||
<Card
|
||||
title="Construir Crew"
|
||||
icon="paintbrush"
|
||||
href="/pt-BR/enterprise/guides/build-crew"
|
||||
>
|
||||
Construir Crew
|
||||
</Card>
|
||||
</Step>
|
||||
<Step title="Implemente seu crew">
|
||||
Implemente seu crew na plataforma Enterprise
|
||||
<Card
|
||||
title="Implantar Crew"
|
||||
icon="rocket"
|
||||
href="/pt-BR/enterprise/guides/deploy-crew"
|
||||
>
|
||||
Implantar Crew
|
||||
</Card>
|
||||
</Step>
|
||||
<Step title="Acesse seu crew">
|
||||
Integre-se ao seu crew através dos endpoints de API gerados
|
||||
<Card
|
||||
title="Acesso via API"
|
||||
icon="code"
|
||||
href="/pt-BR/enterprise/guides/deploy-crew"
|
||||
>
|
||||
Usar a API do Crew
|
||||
</Card>
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Para instruções detalhadas, consulte nosso [guia de implantação](/pt-BR/enterprise/guides/deploy-crew) ou clique no botão abaixo para começar.
|
||||
151
docs/pt-BR/enterprise/resources/frequently-asked-questions.mdx
Normal file
151
docs/pt-BR/enterprise/resources/frequently-asked-questions.mdx
Normal file
@@ -0,0 +1,151 @@
|
||||
---
|
||||
title: FAQs
|
||||
description: "Perguntas frequentes sobre CrewAI Enterprise"
|
||||
icon: "circle-question"
|
||||
---
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Como a execução de tarefas é tratada no processo hierárquico?">
|
||||
No processo hierárquico, um agente gerente é criado automaticamente e coordena o fluxo de trabalho, delegando tarefas e validando resultados para uma execução eficiente e simplificada. O agente gerente utiliza ferramentas para facilitar a delegação e execução de tarefas por agentes sob sua orientação. O LLM do gerente é fundamental para o processo hierárquico e deve ser configurado corretamente para funcionar adequadamente.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Onde posso encontrar a documentação mais recente da CrewAI?">
|
||||
A documentação mais atualizada da CrewAI está disponível em nosso site oficial de documentação: https://docs.crewai.com/
|
||||
<Card href="https://docs.crewai.com/" icon="books">CrewAI Docs</Card>
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Quais as principais diferenças entre os Processos Hierárquico e Sequencial na CrewAI?">
|
||||
#### Processo Hierárquico:
|
||||
- As tarefas são delegadas e executadas com base em uma cadeia de comando estruturada
|
||||
- Um modelo de linguagem do gerente (`manager_llm`) deve ser especificado para o agente gerente
|
||||
- O agente gerente supervisiona a execução de tarefas, planejamento, delegação e validação
|
||||
- As tarefas não são pré-atribuídas; o gerente aloca tarefas para os agentes com base em suas capacidades
|
||||
|
||||
#### Processo Sequencial:
|
||||
- As tarefas são executadas uma após a outra, garantindo uma progressão ordenada
|
||||
- O resultado de uma tarefa serve como contexto para a próxima
|
||||
- A execução das tarefas segue a ordem predefinida na lista de tarefas
|
||||
|
||||
#### Qual Processo é Melhor para Projetos Complexos?
|
||||
O processo hierárquico é mais adequado para projetos complexos porque permite:
|
||||
- **Alocação e delegação dinâmica de tarefas**: O agente gerente pode atribuir tarefas de acordo com as capacidades dos agentes
|
||||
- **Validação e supervisão estruturadas**: O agente gerente revisa os resultados das tarefas e garante a conclusão
|
||||
- **Gestão de tarefas complexas**: Controle preciso da disponibilidade de ferramentas por agente
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Quais são os benefícios do uso de memória no framework CrewAI?">
|
||||
- **Aprendizado adaptativo**: As crews tornam-se mais eficientes ao longo do tempo, adaptando-se a novas informações e aprimorando sua abordagem às tarefas
|
||||
- **Personalização aprimorada**: A memória permite que os agentes recordem preferências do usuário e interações anteriores, possibilitando experiências personalizadas
|
||||
- **Resolução aprimorada de problemas**: O acesso a um repositório rico em memória auxilia os agentes a tomarem decisões mais informadas, baseando-se em aprendizados anteriores e insights contextuais
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Qual é o propósito de definir um limite máximo de RPM para um agente?">
|
||||
Definir um limite máximo de RPM para um agente evita que ele faça solicitações excessivas a serviços externos, o que pode ajudar a evitar limites de taxa e melhorar o desempenho.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Qual o papel da entrada humana na execução de tarefas dentro de uma crew da CrewAI?">
|
||||
A entrada humana permite que os agentes solicitem informações adicionais ou esclarecimentos quando necessário. Este recurso é fundamental em processos de tomada de decisão complexos ou quando os agentes precisam de mais detalhes para concluir uma tarefa com eficácia.
|
||||
|
||||
Para integrar a entrada humana na execução do agente, defina a flag `human_input` na definição da tarefa. Quando habilitada, o agente solicitará a entrada do usuário antes de entregar sua resposta final. Essa entrada pode fornecer contexto extra, esclarecer ambiguidades ou validar a saída do agente.
|
||||
|
||||
Para orientações detalhadas de implementação, veja nosso [guia Human-in-the-Loop](/pt-BR/how-to/human-in-the-loop).
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Quais opções avançadas de customização estão disponíveis para aprimorar e personalizar o comportamento e as capacidades dos agentes na CrewAI?">
|
||||
A CrewAI oferece diversas opções avançadas de customização:
|
||||
|
||||
- **Customização de Modelo de Linguagem**: Os agentes podem ser personalizados com modelos de linguagem específicos (`llm`) e modelos de linguagem para chamadas de função (`function_calling_llm`)
|
||||
- **Configurações de Desempenho e Debug**: Ajuste o desempenho do agente e monitore suas operações
|
||||
- **Modo Verbose**: Habilita registros detalhados das ações do agente, útil para depuração e otimização
|
||||
- **Limite de RPM**: Define o número máximo de solicitações por minuto (`max_rpm`)
|
||||
- **Máximo de Iterações**: O atributo `max_iter` permite definir o número máximo de iterações que um agente pode executar para uma única tarefa
|
||||
- **Delegação e Autonomia**: Controle a capacidade do agente de delegar ou fazer perguntas com o atributo `allow_delegation` (padrão: True)
|
||||
- **Integração de Entrada Humana**: Os agentes podem solicitar informações adicionais ou esclarecimentos quando necessário
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Em quais cenários a entrada humana é particularmente útil na execução de agentes?">
|
||||
A entrada humana é especialmente útil quando:
|
||||
- **Os agentes precisam de informações adicionais ou esclarecimentos**: Quando se deparam com ambiguidade ou dados incompletos
|
||||
- **Os agentes precisam tomar decisões complexas ou sensíveis**: A entrada humana pode auxiliar em decisões éticas ou de nuances
|
||||
- **Supervisão e validação da saída do agente**: A entrada humana pode ajudar a validar resultados e prevenir erros
|
||||
- **Personalização do comportamento do agente**: Entradas humanas podem fornecer feedback para aprimorar respostas dos agentes ao longo do tempo
|
||||
- **Identificação e resolução de erros ou limitações**: A entrada humana auxilia a suprir lacunas de capacidade dos agentes
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Quais são os diferentes tipos de memória disponíveis na crewAI?">
|
||||
Os diferentes tipos de memória disponíveis na CrewAI são:
|
||||
- **Memória de curto prazo**: Armazenamento temporário para contexto imediato
|
||||
- **Memória de longo prazo**: Armazenamento persistente para padrões aprendidos e informações
|
||||
- **Memória de entidade**: Armazenamento focado em entidades específicas e seus atributos
|
||||
- **Memória contextual**: Memória que mantém o contexto ao longo das interações
|
||||
|
||||
Saiba mais sobre os diferentes tipos de memória:
|
||||
<Card href="https://docs.crewai.com/concepts/memory" icon="brain">CrewAI Memory</Card>
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Como faço para usar Output Pydantic em uma Tarefa?">
|
||||
Para usar Output Pydantic em uma tarefa, você precisa definir a saída esperada da tarefa como um modelo Pydantic. Veja um exemplo rápido:
|
||||
|
||||
<Steps>
|
||||
<Step title="Defina um modelo Pydantic">
|
||||
```python
|
||||
from pydantic import BaseModel
|
||||
|
||||
class User(BaseModel):
|
||||
name: str
|
||||
age: int
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Crie uma tarefa com Output Pydantic">
|
||||
```python
|
||||
from crewai import Task, Crew, Agent
|
||||
from my_models import User
|
||||
|
||||
task = Task(
|
||||
description="Create a user with the provided name and age",
|
||||
expected_output=User, # This is the Pydantic model
|
||||
agent=agent,
|
||||
tools=[tool1, tool2]
|
||||
)
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Defina o atributo output_pydantic no seu agente">
|
||||
```python
|
||||
from crewai import Agent
|
||||
from my_models import User
|
||||
|
||||
agent = Agent(
|
||||
role='User Creator',
|
||||
goal='Create users',
|
||||
backstory='I am skilled in creating user accounts',
|
||||
tools=[tool1, tool2],
|
||||
output_pydantic=User
|
||||
)
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Aqui está um tutorial de como obter saídas estruturadas de forma consistente dos seus agentes:
|
||||
<Frame>
|
||||
<iframe
|
||||
height="400"
|
||||
width="100%"
|
||||
src="https://www.youtube.com/embed/dNpKQk5uxHw"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowfullscreen></iframe>
|
||||
</Frame>
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Como posso criar ferramentas personalizadas para meus agentes CrewAI?">
|
||||
Você pode criar ferramentas personalizadas herdando da classe `BaseTool` fornecida pela CrewAI ou usando o decorador de ferramenta. Herdar envolve definir uma nova classe que herda de `BaseTool`, especificando o nome, a descrição e o método `_run` para a lógica operacional. O decorador de ferramenta permite criar um objeto `Tool` diretamente com os atributos necessários e uma lógica funcional.
|
||||
|
||||
<Card href="https://docs.crewai.com/how-to/create-custom-tools" icon="code">CrewAI Tools Guide</Card>
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Como controlar o número máximo de solicitações por minuto que toda a crew pode realizar?">
|
||||
O atributo `max_rpm` define o número máximo de solicitações por minuto que a crew pode realizar para evitar limites de taxa, e irá sobrescrever as definições de `max_rpm` dos agentes individuais se você defini-lo.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
Reference in New Issue
Block a user