> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plazbot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Builder Prompt

> Genera la configuracion de un Agente de IA con un solo prompt

Genera la configuracion completa de un Agente de IA enviando un unico prompt descriptivo. A diferencia del [AI Builder conversacional](/guides/agents/agent), este endpoint no requiere multiples intercambios: envias un parrafo con toda la informacion y recibes el JSON del agente listo para usar.

<Tip>
  Mientras mas detallado sea tu prompt, mejor sera la configuracion generada. Si proporcionas poca informacion, el sistema deducira valores razonables por defecto.
</Tip>

### Como funciona

1. Envias un **POST** con un campo `prompt` que describe lo que necesitas
2. El sistema analiza tu texto y extrae automaticamente: tipo de negocio, nombre, proposito, canales, acciones, servicios, tono, idioma, zona horaria y mas
3. Recibes un JSON completo de configuracion del agente listo para importar o crear

### Endpoint

```
POST /api/agent/ai-builder-prompt
```

### Headers

| Header           | Requerido | Descripcion        |
| ---------------- | --------- | ------------------ |
| `Content-Type`   | Si        | `application/json` |
| `Authorization`  | Si        | `Bearer {token}`   |
| `x-workspace-id` | Si        | ID del workspace   |

### Request Body

| Campo    | Tipo   | Requerido | Descripcion                                              |
| -------- | ------ | --------- | -------------------------------------------------------- |
| `prompt` | string | Si        | Descripcion en lenguaje natural del agente que necesitas |

### Ejemplo de Request

```bash theme={null}
curl -X POST "https://api-la-plazbot.azurewebsites.net/api/agent/ai-builder-prompt" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer TU_TOKEN" \
  -H "x-workspace-id: TU_WORKSPACE_ID" \
  -d '{
    "prompt": "Necesito un agente para mi clinica dental DentalSmile en Lima Peru, que agende citas, confirme y cancele citas, horario lunes a viernes 9am a 6pm, tono amable y profesional, en español, que use emojis, canal whatsapp, si no puede resolver que derive a un humano"
  }'
```

### Ejemplo de Response

```json theme={null}
{
  "success": true,
  "config": {
    "name": "Asistente DentalSmile",
    "description": "Asistente virtual de clinica dental para DentalSmile",
    "question": "Hola, soy Sofia de DentalSmile. En que puedo ayudarte hoy?",
    "prompt": "Eres el asistente virtual de DentalSmile, clinica dental...",
    "zone": "LA",
    "timezone": "America/Lima",
    "buffer": 8,
    "color": "green",
    "enable": true,
    "tags": ["clinica dental", "sofia"],
    "instructions": {
      "tone": "amable y profesional",
      "personality": "amable, paciente y servicial",
      "language": "es-419",
      "emojis": true,
      "objective": "agendar citas y atender consultas"
    },
    "person": {
      "name": "Sofia",
      "role": "Asistente de Atencion",
      "speaksInFirstPerson": true,
      "isHuman": false
    },
    "fallbacks": {
      "noAnswer": "Lo siento, no tengo informacion sobre eso...",
      "serviceError": "Disculpa, estoy teniendo problemas tecnicos...",
      "doNotUnderstand": "No estoy seguro de entender tu consulta..."
    },
    "actions": [
      {
        "intent": "agendar_cita",
        "reference": "agendar una cita, reservar cita...",
        "enabled": true,
        "requiredFields": [
          { "name": "titulo", "type": "string" },
          { "name": "descripcion", "type": "string" },
          { "name": "fecha", "type": "datetime" }
        ],
        "action": [
          { "type": "action.event.add", "value": "" },
          { "type": "action.tag", "value": "cita-agendada" }
        ]
      },
      {
        "intent": "hablar_humano",
        "reference": "quiero hablar con una persona...",
        "enabled": true,
        "action": [
          { "type": "action.asign", "value": "[EMAIL_DEL_AGENTE]" },
          { "type": "action.agentShutDown", "value": "" }
        ]
      }
    ],
    "channels": [
      { "channel": "whatsapp", "key": "[WHATSAPP_KEY]" }
    ],
    "useToolCalling": true,
    "customAIConfig": true,
    "aiProviders": [
      {
        "provider": "openai",
        "model": "gpt-4o",
        "apiToken": "",
        "temperature": 0.7,
        "maxTokens": 500,
        "isDefault": true
      }
    ]
  },
  "usage": {
    "input_tokens": 1847,
    "output_tokens": 623
  }
}
```

<Note>
  El campo `usage` muestra los tokens consumidos en la generacion. Esto es util para monitorear costos.
</Note>

### Respuesta de Error

```json theme={null}
{
  "success": false,
  "error": "No se pudo generar la configuracion del agente. Intenta con un prompt mas descriptivo.",
  "usage": {
    "input_tokens": 512,
    "output_tokens": 89
  }
}
```

### Deteccion automatica por tipo de negocio

El sistema detecta automaticamente el tipo de negocio a partir de tu prompt y genera acciones y servicios predeterminados:

| Tipo de negocio        | Acciones generadas                                 | Servicios generados                   |
| ---------------------- | -------------------------------------------------- | ------------------------------------- |
| **Clinica / Salud**    | Agendar, ver, confirmar, cancelar, reagendar citas | -                                     |
| **Restaurante**        | Hacer, ver, cancelar reservas                      | Consultar menu, pedido delivery       |
| **Ventas / Ecommerce** | -                                                  | Consultar productos, crear cotizacion |
| **Soporte / IT**       | -                                                  | Crear ticket, consultar ticket        |
| **Inmobiliaria**       | Agendar, ver visitas                               | Buscar propiedad                      |

Todos los tipos incluyen automaticamente la accion **"hablar con humano"** para escalacion.

### Valores por defecto

Si no especificas ciertos datos, el sistema usa estos valores por defecto:

| Campo        | Valor por defecto                |
| ------------ | -------------------------------- |
| Idioma       | `es-419` (Espanol Latinoamerica) |
| Tono         | `profesional y amable`           |
| Canal        | `whatsapp`                       |
| Zone         | `LA`                             |
| Buffer       | `8` mensajes                     |
| Proveedor IA | `openai` con `gpt-4o`            |
| Temperatura  | `0.7`                            |
| Emojis       | `true`                           |

### Tips para un mejor resultado

<AccordionGroup>
  <Accordion title="Prompt basico (informacion minima)">
    ```json theme={null}
    {
      "prompt": "Un agente para una tienda de ropa online"
    }
    ```

    Generara un agente generico de ecommerce con acciones basicas de consulta de productos.
  </Accordion>

  <Accordion title="Prompt intermedio">
    ```json theme={null}
    {
      "prompt": "Agente para restaurante El Buen Sabor en Bogota Colombia, reservas de mesas, consultar menu, pedidos a domicilio, horario 11am a 10pm, tono cercano y divertido"
    }
    ```

    Generara acciones de reservas + servicios de menu y delivery con la zona horaria de Colombia.
  </Accordion>

  <Accordion title="Prompt detallado (mejor resultado)">
    ```json theme={null}
    {
      "prompt": "Necesito un agente llamado Laura para mi clinica veterinaria PetCare en Santiago de Chile. Debe agendar citas, confirmar y cancelar citas, derivar a un humano (andrea@petcare.cl) cuando no pueda resolver, tono amable y empatico, en español, usar emojis, canales whatsapp y widget web, horario lunes a sabado 8am a 7pm, no debe dar diagnosticos medicos, proveedor Claude con modelo claude-3-5-sonnet"
    }
    ```

    Generara un agente completo con nombre, acciones de citas, escalacion configurada, reglas de salud, multiples canales, y Claude como proveedor.
  </Accordion>
</AccordionGroup>

### Flujo posterior

Una vez obtenido el JSON de configuracion, puedes:

1. **Crear el agente** directamente con `POST /api/agent/add`
2. **Modificar campos** manualmente antes de crearlo
3. **Importar** el JSON desde la interfaz de Plazbot

<Card title="Campos del Agente de IA" icon="pen-field" href="/guides/agents/fields">
  Consulta todos los campos disponibles del configurador de agentes
</Card>

<Card title="Acciones del Agente" icon="bolt" href="/guides/agents/actions">
  Detalle de todas las acciones internas que un agente puede ejecutar
</Card>

<Card title="Servicios del Agente" icon="plug" href="/guides/agents/services">
  Como configurar conexiones a APIs externas
</Card>
