> ## Documentation Index
> Fetch the complete documentation index at: https://doc.omnitechsolucoes.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Ferramentas Personalizadas Durante a Chamada

> Crie ferramentas personalizadas via API que seu assistente de IA pode acionar durante chamadas, integrando CRMs, sistemas internos e webhooks.

<Note>
  As Ferramentas Personalizadas Durante a Chamada permitem que seu assistente de IA
  interaja com sistemas externos em tempo real. Seja para consultar estoque,
  validar dados de clientes ou buscar informações atualizadas, essas ferramentas
  tornam sua IA mais poderosa e conectada.
</Note>

## Visão Geral

As Ferramentas Personalizadas Durante a Chamada permitem que seu assistente de IA:

* Realize chamadas de API em tempo real durante a conversa
* Consulte ou envie dados para seus sistemas
* Tome decisões com base em informações atualizadas
* Forneça respostas precisas e em tempo real aos clientes

<Card title="Principais Benefícios" icon="star">
  - Não exige código – basta configurar o endpoint da API e os parâmetros
  - A IA entende automaticamente quando e como utilizar as ferramentas
  - Acesso a dados em tempo real durante a chamada
  - Integração transparente com seus sistemas existentes
</Card>

## Configurando Sua Ferramenta

### 1. Configuração Básica

<Frame>
  <img src="https://mintcdn.com/omnitech-a4248806/06iazWsGpw98tpwL/resources/mid-call.png?fit=max&auto=format&n=06iazWsGpw98tpwL&q=85&s=9ba5e9f657005189397e5239818130d7" alt="Configuração Principal da Ferramenta" width="2468" height="1680" data-path="resources/mid-call.png" />
</Frame>

<Steps>
  <Step title="Acessar Criação de Ferramenta">
    Navegue até **Ferramentas Durante a Chamada** e clique em **Criar Ferramenta Personalizada**
  </Step>

  <Step title="Configurar Informações Principais">
    Preencha os dados essenciais:

    * **Nome**: Utilize letras minúsculas e underline (ex.: `check_order_status`)
    * **Descrição**: Explique quando e como a IA deve usar esta ferramenta
    * **Endpoint**: URL da sua API (ex.: `https://api.suaempresa.com/pedidos`)
    * **Timeout**: Tempo máximo de espera por resposta (em segundos)
    * **Método**: Escolha entre GET, POST, PUT, PATCH ou DELETE
  </Step>

  <Step title="Adicionar Headers">
    Headers comuns que podem ser necessários:

    ```yaml theme={null}
    Content-Type: application/json
    Authorization: Bearer seu_token
    ```
  </Step>
</Steps>

### 2. Configuração de Variáveis

<Frame>
  <img src="https://mintcdn.com/omnitech-a4248806/06iazWsGpw98tpwL/resources/mid-call-param.png?fit=max&auto=format&n=06iazWsGpw98tpwL&q=85&s=e81aaeff923327922f0c6eccd8d69c8f" alt="Configuração de Variáveis" width="2506" height="776" data-path="resources/mid-call-param.png" />
</Frame>

<Steps>
  <Step title="Definir Parâmetros">
    São as informações que a IA irá coletar durante a chamada:

    ```yaml theme={null}
    Name: order_number
    Type: string
    Description: "Número do pedido com 10 dígitos informado pelo cliente"
    ```
  </Step>

  <Step title="Definir Regras de Validação">
    Inclua exigências de formato na descrição:

    ```yaml theme={null}
    "Data no formato dd/mm/aaaa"
    "Telefone sem espaços"
    "Endereço de e-mail para confirmação"
    ```
  </Step>
</Steps>

## Entendendo os Tipos de Parâmetros

<CardGroup cols={2}>
  <Card title="String" icon="font">
    Valores textuais como nomes, endereços ou números de referência

    ```yaml theme={null}
    Type: string
    Examples: "João Silva", "Rua Exemplo, 123"
    ```
  </Card>

  <Card title="Number" icon="calculator">
    Valores numéricos como quantidades, valores ou IDs

    ```yaml theme={null}
    Type: number
    Examples: 42, 99.99
    ```
  </Card>

  <Card title="true_false" icon="toggle-on">
    Valores booleanos para situações de sim ou não

    ```yaml theme={null}
    Type: true_false
    Examples: true, false
    ```
  </Card>

  <Card title="Ajuda de Formatação" icon="wand-magic-sparkles">
    Inclua instruções de formato diretamente na descrição

    ```yaml theme={null}
    "Data no formato dd/mm/aaaa"
    "Telefone sem espaços"
    ```
  </Card>
</CardGroup>

## Endpoints Dinâmicos

<Warning>
  Ao utilizar variáveis na URL do endpoint, certifique-se de envolvê-las com chaves
  e utilizar exatamente o mesmo nome do parâmetro configurado.
</Warning>

Você pode tornar seus endpoints dinâmicos utilizando variáveis:

```yaml theme={null}
URL básica:
https://api.exemplo.com/pedidos/status

Com variáveis:
https://api.exemplo.com/pedidos/{order_id}/status
```

A IA substituirá automaticamente `{order_id}` pelo valor real coletado durante a conversa.

Testes Facilitados

<Card title="Testes Automáticos" icon="vial">
  Clique em **Testar Ferramenta** para executar um teste com dados fictícios:
  Parâmetros string: "test", Parâmetros numéricos: 1, Parâmetros booleanos: true.
  Você visualizará o código de resposta e o corpo da resposta para validar o funcionamento.
</Card>

Recurso Avançado: Integração com Plataforma de Automação
<Note> Precisa de lógicas mais complexas? Conecte sua ferramenta à plataforma de automação para criar fluxos avançados. </Note>
Para integrações avançadas e fluxos complexos, combine ferramentas personalizadas com nossa Plataforma de Automação.

Como criar integrações avançadas:
Na plataforma de automação:

Crie um novo fluxo

Adicione um gatilho de webhook

Construa a lógica (chamadas de API, transformações de dados, etc.)

Finalize com Return Response

Na ferramenta personalizada:

Utilize a URL do webhook como endpoint

Adicione /sync ao final

Exemplo: [https://automation.omnitech.ai/webhook/abc123/sync](https://automation.omnitech.ai/webhook/abc123/sync)

Isso permite:

Transformar dados antes/depois das chamadas de API

Executar múltiplas chamadas de API em sequência

Aplicar regras de negócio complexas

Tratar erros de forma controlada

Exemplos Reais de Uso

<AccordionGroup>
  <Accordion title="Consulta de Pedido" icon="magnifying-glass">
    Name: check\_order, Endpoint: [https://api.sualoja.com/pedidos/\\\{order\\\_number}](https://api.sualoja.com/pedidos/\\\{order\\_number}), Parameters: order\_number (string) – "Referência do pedido (formato: ORD-XXXXX)".

    A IA irá:

    1. Solicitar o número do pedido
    2. Consultar o status
    3. Informar prazos e situação ao cliente
  </Accordion>

  <Accordion title="Disponibilidade de Agenda" icon="calendar">
    Name: check\_slots, Endpoint: [https://api.calendario.com/disponibilidade](https://api.calendario.com/disponibilidade), Parameters: service (string) – "Tipo de serviço (corte, massagem, consulta)"; date (string) – "Data desejada (dd/mm/aaaa)".

    A IA irá:

    1. Perguntar o serviço desejado
    2. Coletar a data preferida
    3. Informar horários disponíveis
  </Accordion>

  <Accordion title="Validação de Cliente" icon="shield-check">
    Name: verify\_customer, Endpoint: [https://api.crm.com/verify](https://api.crm.com/verify), Parameters: phone (string) – "Número de telefone com 10 dígitos"; email (string) – "Endereço de e-mail para validação".

    A IA irá:

    1. Coletar dados de contato
    2. Validar no CRM
    3. Prosseguir conforme o resultado
  </Accordion>
</AccordionGroup>

Configurando o Uso pela IA

<Info>
  A IA precisa de instruções claras no prompt de sistema para utilizar corretamente as ferramentas personalizadas.
</Info>

Exemplo de trecho de prompt:

Quando usar a ferramenta `check_order`:

1. Cliente pergunta sobre status do pedido
2. Menciona entrega ou rastreamento
3. Quer saber onde está o pedido

Como utilizar:

1. Solicitar número do pedido se não informado
2. Validar formato (ORD-XXXXX)
3. Usar a ferramenta para consultar o status
4. Explicar o resultado de forma simples

<Tip>
  Teste suas ferramentas com diferentes fluxos de conversa para garantir que a IA lide bem com todos os cenários. Comece com chamadas de teste simples antes de colocar em produção.
</Tip>
