Files
first_contas/legacy_reference/workflows/conversational/vas_estrategico.v3.yaml
2026-06-16 20:54:49 -03:00

133 lines
3.1 KiB
YAML

name: vas_estrategico
version: 3
start: preparar
nodes:
- id: preparar
action: preparar_vas_estrategico
input:
items: $.input.items
linhas: $.input.linhas
pause:
enabled: true
when:
eq: [$.output.await_user_input, true]
return_from: $.output.mensagem
expected_input:
key: resposta_usuario
allowed_values: ["SIM", "NAO", "OUTRO"]
normalize: upper_strip
resume_from: decisao
- id: resposta_bundle
action: montar_resposta_texto
input:
dados:
texto_usuario: $.vars.preparar.mensagem_bundle_fechamento
- id: decisao
action: no_op
input: {}
- id: resposta_sim
action: montar_resposta_texto
input:
dados:
texto_usuario: $.vars.preparar.mensagem_pos_aceite
- id: explicar_cancelamento
action: montar_explicacao_cancelamento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
orientacoes_cancelamento: $.input.orientacoes_cancelamento
- id: registrar_sim
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.resposta_sim.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_nao
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.explicar_cancelamento.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_bundle
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: $.vars.resposta_bundle.mensagem
request_status: "Fechado"
status: "CLOSED"
- id: registrar_outro
action: registrar_atendimento_vas_estrategico
input:
linhas: $.vars.preparar.linhas
mensagem_base: "Atendimento encerrado sem confirmação de manutenção do serviço."
request_status: "Fechado"
status: "CLOSED"
edges:
- from: preparar
to: decisao
priority: 10
when:
eq: [$.vars.preparar.await_user_input, true]
- from: preparar
to: resposta_bundle
priority: 20
# Bundle puro (sem item estratégico): após a pausa em "sanei sua dúvida?", o
# cliente respondeu. O agente não cancela bundle, então fecha com a reafirmação
# breve (resposta_bundle) e registra/finaliza, independente de SIM/NAO. Tem
# precedência (priority menor) sobre os ramos SIM/NAO do estratégico.
- from: decisao
to: resposta_bundle
priority: 5
when:
eq: [$.vars.preparar.has_estrategico_items, false]
- from: decisao
to: resposta_sim
priority: 10
when:
eq: [$.input.resposta_usuario, SIM]
- from: decisao
to: explicar_cancelamento
priority: 20
when:
eq: [$.input.resposta_usuario, NAO]
- from: decisao
to: registrar_outro
priority: 99
- from: resposta_sim
to: registrar_sim
- from: explicar_cancelamento
to: registrar_nao
- from: registrar_sim
to: END
- from: registrar_nao
to: END
- from: resposta_bundle
to: registrar_bundle
- from: registrar_bundle
to: END
- from: registrar_outro
to: END