Files
crewAI/docs/pt-BR/enterprise/integrations/salesforce.mdx

649 lines
29 KiB
Plaintext

---
title: Integração com Salesforce
description: "Automação de vendas e CRM com integração Salesforce para CrewAI."
icon: "salesforce"
mode: "wide"
---
## 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 AMP](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)
## Configurando a Integração Salesforce
### 1. Conecte sua Conta Salesforce
1. Acesse [CrewAI AMP Integrações](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Salesforce** 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 CRM e vendas
5. Copie seu Token Enterprise em [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)
### 2. Instale o Pacote Necessário
```bash
uv add crewai-tools
```
### 3. Configuração de variável de ambiente
<Note>
Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>
```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```
Ou adicione ao seu arquivo `.env`:
```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```
## 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
# Obtenha ferramentas enterprise (ferramentas Salesforce serão incluídas)
# 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.",
apps=['salesforce']
)
# 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
# Obtenha apenas ferramentas Salesforce específicas
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.",
apps=['salesforce']
)
# 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
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.",
apps=['salesforce']
)
# 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
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.",
apps=['salesforce']
)
# 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>