Ir al contenido

flow2flow

flow2flow permite el enrutamiento entre flows, haciendo posible la composición modular de flows y la invocación de sub-flows.

  • Organización modular de flows
  • Sub-flows reutilizables
  • Cambio condicional de flow
  • Encadenamiento de flows
flows/main.ygtc
name: main_flow
version: "1.0"
nodes:
- id: check_context
type: branch
config:
conditions:
- expression: "context.needs_auth"
next: call_auth_flow
- expression: "context.is_returning"
next: call_returning_flow
default: call_new_user_flow
- id: call_auth_flow
type: flow2flow
config:
target_flow: "auth/login"
pass_context: true
next: continue_main
- id: call_returning_flow
type: flow2flow
config:
target_flow: "users/returning"
pass_context: true
next: continue_main
- id: call_new_user_flow
type: flow2flow
config:
target_flow: "users/onboarding"
pass_context: true
next: continue_main
- id: continue_main
type: reply
config:
message: "Continuing main flow..."
triggers:
- type: message
target: check_context
ParámetroTipoDescripción
target_flowstringFlow a invocar
pass_contextboolPasa el contexto actual al sub-flow
inputobjectDatos para pasar al sub-flow
wait_for_completionboolEspera a que el sub-flow termine
flows/customer_service/main.ygtc
name: customer_service_main
version: "1.0"
nodes:
- id: classify
type: fast2flow
config:
intents:
billing:
patterns: ["invoice", "payment", "charge"]
target: call_billing
technical:
patterns: ["error", "bug", "not working"]
target: call_technical
general:
patterns: [".*"]
target: call_general
- id: call_billing
type: flow2flow
config:
target_flow: "customer_service/billing"
pass_context: true
- id: call_technical
type: flow2flow
config:
target_flow: "customer_service/technical"
pass_context: true
- id: call_general
type: flow2flow
config:
target_flow: "customer_service/general"
pass_context: true
triggers:
- type: message
target: classify