Para developers y CTOs

Flujos conversacionales como código

TL;DR: Debajo del editor —y de lo que te arme tu asistente de IA— cada flujo es un JSON. Eso lo convierte en un artefacto de software de primera clase: lo exportas, lo revisas en un pull request, lo versionas con Git y lo despliegas por CI/CD. Nada de lo que genere una IA en tu cuenta se queda sin auditar.

Nativo en GitListo para CI/CDCon tests unitariosImportable por APISin dependencia del proveedor

¿No programas? No necesitas nada de esta página. Pídele el flujo a Claude o a ChatGPT, o ármalo en el editor visual — así se hace, paso a paso.

Flujos por JSON

Un flujo de FAQ declarado en JSON

En resumen: cada flujo es un archivo JSON, así que entra en Git, se revisa en un pull request y se despliega por CI/CD. Es el mismo flujo que verías en el editor visual, en formato de texto.

faq-horarios.json
{
  "flow": {
    "name": "FAQ Horarios",
    "trigger": "KEYWORD",
    "triggerKeywords": ["horario", "hora", "cuando", "abierto"]
  },
  "steps": [
    {
      "stepOrder": 1,
      "stepType": "QUESTION",
      "name": "Responder horario",
      "config": {
        "messageType": "BUTTONS",
        "text": "Atendemos L-V 09:00–18:00 · Sáb 09:00–13:00.\n¿Algo más?",
        "buttons": [
          { "id": "precios", "title": "Precios" },
          { "id": "asesor", "title": "Hablar con asesor" }
        ]
      },
      "transitions": [
        { "toStepOrder": 2, "condition": "BUTTON", "matchValue": "asesor", "priority": 10 },
        { "toStepOrder": 3, "condition": "ANY", "priority": 1 }
      ]
    },
    {
      "stepOrder": 2,
      "stepType": "MESSAGE",
      "name": "Escalar a asesor",
      "config": { "text": "Te conecto con un asesor 👤", "transferToAgent": true }
    },
    {
      "stepOrder": 3,
      "stepType": "END",
      "name": "Cierre",
      "config": { "message": "¡Gracias por escribirnos!" }
    }
  ]
}

Este flujo resuelve el 100% de las consultas de horario sin consumir un solo token de IA.

🔀

Git-native desde el día 1

Cada cambio en un flujo es un commit. Tu equipo puede hacer code review de la lógica conversacional igual que hace review del código.

Deploy por API en milisegundos

Un endpoint POST /flows/import carga el JSON actualizado. Tu pipeline de CI/CD despliega flujos de conversación como despliega features.

♻️

Reutilización y composición

Los flujos referencian otros flujos por ID. Escribe una vez y reutiliza en cientos de bots sin duplicar lógica.

🔍

Auditable y testeable

Escribe unit tests para tus flujos. Simula entradas y verifica que el árbol de decisiones lleva al nodo correcto antes de producción.

Tres formas de armar el mismo flujo

El JSON no sustituye al editor visual: es el mismo flujo visto como texto. Los tres caminos llegan al mismo sitio y puedes cambiar de uno a otro cuando quieras.

CaminoPara quiénQué te da
El editor visualEl dueño del negocioLo ves en pantalla y lo entiendes sin que nadie te lo explique.
Conversando con Claude o ChatGPTCualquieraEl más rápido de los tres: se lo pides y aparece armado en tu cuenta.
El archivo JSON, con Git y CI/CDUn equipo técnicoVersionado, revisión en pull request y despliegue automático.

Donde sí hay una diferencia real es fuera: en ManyChat o Wati el arrastre es lo único que existe y el flujo no sale de ahí. Aquí el tercer camino siempre está disponible, así que tus flujos son tuyos y te los llevas si algún día te vas.

Tipos de nodo disponibles en FlujosChat

Cada step de un flujo tiene un tipo que define su comportamiento. Compose flujos complejos combinando estos bloques.

MESSAGE

Envía texto, imagen, vídeo, PDF o audio. Los botones y las listas son configuración de este paso.

QUESTION

Pregunta y espera la respuesta del cliente para guardarla en una variable.

CONDITION

Bifurca el flujo según variables o respuestas previas.

WAIT

Pausa el flujo hasta que el usuario responda o pase X tiempo.

API_CALL

Llama a un endpoint externo y usa la respuesta en el flujo.

AI_HANDOFF

Entrega la conversación a un equipo de agentes de IA cuando la lógica no cubre el caso.

PAYMENT

Cobra por Yape: crea la expectativa de pago y espera la confirmación automática.

END

Cierra el flujo y libera la sesión del cliente.

Pipeline de CI/CD para flujos conversacionales

El mismo rigor que aplicas a tu código backend, aplicado a tu lógica conversacional.

.github/workflows/deploy-flows.yml
name: Deploy Chatbot Flows

on:
  push:
    branches: [main]
    paths: ['flows/**/*.json']

jobs:
  validate-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Validate JSON schemas
        run: |
          for f in flows/**/*.json; do
            npx ajv validate -s schemas/flow.schema.json -d "$f"
          done

      - name: Run flow unit tests
        run: npm test -- --testPathPattern=flows/

      - name: Deploy flows to FlujosChat
        env:
          FLUJOSCHAT_API_KEY: ${{ secrets.FLUJOSCHAT_API_KEY }}
        run: |
          for f in flows/**/*.json; do
            curl -X POST https://api.flujoschat.foo/v1/flows/import \
              -H "Authorization: Bearer $FLUJOSCHAT_API_KEY" \
              -H "Content-Type: application/json" \
              -d "@$f"
          done

Cada merge a main despliega automáticamente los flujos actualizados. Zero-click deployment de lógica conversacional.