# validate_reply

Analyzes the relationship between what the agent said and what the user replied. Classifies reply type and extracts real meaning considering context.

## config

- type: reply
- version: 1.0
- languages: pt-BR, en-US, es-ES
- endpoint: /v1/extract/reply
- mcp_tool: nalu_extract_reply
- mcp_description: Analyzes the relationship between an agent's message and the user's reply. Classifies reply type (answer, question, counter_proposal, confirmation, rejection, off_topic, greeting, handoff, cancel, unclear), extracts the real meaning considering context (e.g. "Bora em 48?" = 48 installments, not R$48), and suggests a follow-up message. Costs 5 credits per call. Input: agent_message + user_reply.
- requires_llm: always
- credits: 5

## display

- name: validate_reply
- icon: 🧠
- badge: Premium

## playground_examples

### example 1
- label: Contraproposta de parcelas
- agent_message: Posso parcelar em 20x de R$100. Topa?
- user_reply: Bora em 48?
- expected_reply_type: counter_proposal
- note: 48 é quantidade de parcelas, não R$48

### example 2
- label: Confirmação simples
- agent_message: Seu pedido ficou em R$250. Confirma?
- user_reply: Pode mandar
- expected_reply_type: confirmation

### example 3
- label: Pergunta de volta
- agent_message: Quer agendar pra terça?
- user_reply: Que horas vocês atendem?
- expected_reply_type: question

### example 4
- label: Saudação sem conteúdo
- agent_message: Boa tarde! Em que posso ajudar?
- user_reply: Boa tarde!
- expected_reply_type: greeting

### example 5
- label: Quer falar com humano
- agent_message: Posso te ajudar a escolher o plano ideal.
- user_reply: Prefiro falar com alguém de verdade
- expected_reply_type: handoff

### example 6
- label: Número ambíguo em contexto de endereço
- agent_message: Confirma o endereço Rua das Flores, 100?
- user_reply: É 200
- expected_reply_type: answer
- note: 200 é o número do endereço, não R$200

### example 7
- label: Rejeição educada
- agent_message: Temos um plano premium por R$99/mês. Interesse?
- user_reply: Não, obrigado. Tá caro pra mim
- expected_reply_type: rejection

### example 8
- label: Off-topic
- agent_message: Qual seu CPF para consulta?
- user_reply: Vocês vendem seguro de carro?
- expected_reply_type: off_topic
