> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Interrupções de ferramentas

## Visão geral

Por padrão, o usuário pode interromper o agente a qualquer momento, inclusive durante a execução de uma ferramenta. Para
algumas ferramentas, isso não é desejável: uma confirmação de pagamento ou um aviso de conformidade lido após uma
consulta deve ser apresentado por completo.

O campo `interruption_mode` controla isso para cada ferramenta. Ele está disponível em ferramentas de webhook, ferramentas de cliente,
ferramentas do sistema e servidores MCP.

## Modos de interrupção

| Valor                          | Rótulo no dashboard            | Comportamento                                                                                                                 |
| ------------------------------ | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `allow`                        | Permitir                       | O usuário pode interromper o agente a qualquer momento. Este é o padrão.                                                      |
| `disable_during_tool`          | Desativar durante a execução   | As interrupções são bloqueadas apenas enquanto a ferramenta é executada. A resposta do agente seguinte pode ser interrompida. |
| `disable_during_tool_and_turn` | Desativar durante todo o turno | As interrupções são bloqueadas enquanto a ferramenta é executada e durante a resposta do agente que a segue.                  |

Quando várias ferramentas são executadas em paralelo, o modo mais restritivo entre elas se aplica àquele turno.

> **Note**
>
> O campo booleano `disable_interruptions` foi descontinuado. Use `interruption_mode` em vez dele. Os dois
> campos são mantidos em sincronia, portanto `disable_interruptions: true` equivale a `interruption_mode:
>   "disable_during_tool_and_turn"`, e as integrações existentes continuam funcionando sem alterações.

## Configuração

#### Atualizar pelo dashboard

#### Acesse a configuração da ferramenta

Selecione a ferramenta que você quer configurar na aba **Ferramentas**.

#### Defina o modo de interrupção

Abra **Configurações avançadas** e escolha uma opção em **Interrupções**.

#### Salve sua configuração

Clique em **Salvar** para aplicar a alteração.

#### Atualizar pela CLI

#### Baixe a configuração da ferramenta

```bash
elevenlabs tools pull
```

#### Edite \`tool_configs/\<tool-name>.json\`

Defina `interruption_mode` na ferramenta:

```json
{
  "type": "webhook",
  "name": "confirm_payment",
  "description": "Confirms a pending payment",
  "interruption_mode": "disable_during_tool_and_turn"
}
```

#### Envie suas alterações

```bash
elevenlabs tools push
```

#### Atualizar pela API

```python
from elevenlabs import ElevenLabs, ToolRequestModel

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.tools.update(
    tool_id="tool_7101k5zvyjhmfg983brhmhkd98n6",
    request=ToolRequestModel(
        tool_config={
            "type": "webhook",
            "name": "confirm_payment",
            "description": "Confirms a pending payment",
            "interruption_mode": "disable_during_tool_and_turn",
            "api_schema": {
                "url": "https://api.example.com/payments/confirm",
                "method": "POST",
            },
        },
    ),
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.tools.update("tool_7101k5zvyjhmfg983brhmhkd98n6", {
  toolConfig: {
    type: "webhook",
    name: "confirm_payment",
    description: "Confirms a pending payment",
    interruptionMode: "disable_during_tool_and_turn",
    apiSchema: {
      url: "https://api.example.com/payments/confirm",
      method: "POST",
    },
  },
});
```

## Servidores MCP

Um [servidor MCP](/docs/pt/eleven-agents/customization/tools/mcp) tem seu próprio `interruption_mode`,
que se aplica a todas as ferramentas que ele expõe. Ferramentas individuais podem substituí-lo por meio de
`tool_config_overrides` do servidor, em que o valor definido em uma ferramenta tem precedência sobre o padrão do servidor.

## Boas práticas

* Use `disable_during_tool` quando a chamada da ferramenta precisar ser concluída, como em uma transferência ou uma sequência
  de teclado, mas o usuário puder interromper a resposta depois.
* Use `disable_during_tool_and_turn` quando a resposta após a ferramenta precisar ser ouvida por completo,
  como um aviso ou uma confirmação lida em voz alta.
* Mantenha o padrão `allow` nos demais casos, pois bloquear interrupções faz com que a
  conversa pareça menos responsiva.