Business Orchestrator
Lanza un negocio online completo con un solo prompt. Sitio web, dominio, correo, tienda, reservas, agente de voz y SEO — todo en una sola llamada API.
Business Orchestrator
La herramienta create_business configura un negocio online completamente operativo en una sola llamada: sitio web, dominio, correo electrónico, tienda online, reservas, agente de voz, chatbot, programa de fidelización, SEO y publicación.
Cómo funciona
El orquestador ejecuta hasta 10 pasos secuencialmente:
| Paso | Acción | Requerido |
|---|---|---|
| 1 | Generar sitio web (IA) | Siempre (bloqueador duro) |
| 2 | Registrar dominio + DNS | Solo si se proporciona domain |
| 3 | Crear buzón (info@) | Solo si el dominio fue registrado |
| 4 | Activar reservas | Solo si "booking" en features |
| 5 | Activar tienda | Solo si "ecommerce" en features |
| 6 | Configurar agente de voz | Solo si "voice_agent" en features |
| 7 | Activar chatbot | Solo si "chatbot" en features |
| 8 | Activar programa de fidelización | Solo si "loyalty" en features |
| 9 | Configurar SEO | Siempre |
| 10 | Publicar sitio | Siempre |
Ejemplo: clínica dental en Valencia
Prompt:
Crea una clínica dental en Valencia con reservas online y un agente de voz.
Registra el dominio tandarts-valencia.es.Llamada de herramienta MCP:
{
"tool": "create_business",
"arguments": {
"businessName": "Tandarts Valencia",
"businessType": "dental_practice",
"language": "es",
"domain": "tandarts-valencia.es",
"features": ["booking", "voice_agent"],
"registrant": {
"first_name": "María",
"last_name": "García",
"email": "maria@tandarts-valencia.es",
"phone": "+34612345678",
"address1": "Calle de la Paz 12",
"city": "Valencia",
"country": "ES",
"postal_code": "46002"
},
"style": "corporate"
}
}Respuesta:
{
"siteId": "site_abc123",
"siteUrl": "https://tandarts-valencia.es",
"steps": [
{ "step": "GENERATE_SITE", "status": "success", "duration": 45200 },
{ "step": "REGISTER_DOMAIN", "status": "success", "duration": 8100 },
{ "step": "CREATE_MAILBOX", "status": "success", "duration": 3200 },
{ "step": "SETUP_BOOKING", "status": "success", "duration": 850 },
{ "step": "SETUP_ECOMMERCE", "status": "skipped", "duration": 0 },
{ "step": "SETUP_VOICE_AGENT", "status": "success", "duration": 1200 },
{ "step": "SETUP_CHATBOT", "status": "skipped", "duration": 0 },
{ "step": "SETUP_LOYALTY", "status": "skipped", "duration": 0 },
{ "step": "CONFIGURE_SEO", "status": "success", "duration": 420 },
{ "step": "PUBLISH", "status": "success", "duration": 2800 }
],
"summary": {
"pagesCreated": true,
"domainRegistered": true,
"mailboxCreated": true,
"bookingEnabled": true,
"voiceAgentEnabled": true,
"ecommerceEnabled": false,
"chatbotEnabled": false,
"loyaltyEnabled": false,
"seoConfigured": true,
"published": true
}
}Parámetros de entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
businessName | string | Sí | Nombre del negocio |
businessType | string | Sí | Tipo de negocio: dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery |
language | string | No | Idioma del contenido: nl, en, de, fr, es (predeterminado: nl) |
domain | string | No | Dominio a registrar (ej. panaderia-madrid.es) |
features | string[] | No | Funcionalidades a activar: booking, voice_agent, ecommerce, chatbot, loyalty, push |
registrant | object | No | Datos de contacto para el registro de dominio |
style | string | No | Estilo visual: minimalist, corporate, playful, elegant |
Objeto registrant
Requerido cuando se proporciona domain:
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
first_name | string | Sí | Nombre |
last_name | string | Sí | Apellido |
email | string | Sí | Correo electrónico |
phone | string | Sí | Número de teléfono |
address1 | string | Sí | Dirección |
city | string | Sí | Ciudad |
country | string | Sí | Código de país ISO 3166-1 alpha-2 |
postal_code | string | Sí | Código postal |
org_name | string | No | Nombre de la organización |
state | string | No | Provincia/estado |
Manejo de errores
El orquestador utiliza mejor esfuerzo por paso:
- GENERATE_SITE es el único bloqueador duro. Si falla, todo el proceso se detiene.
- Todos los demás pasos continúan en caso de error. Un paso fallido se marca como
"failed"con un mensaje de error. - El sitio siempre es utilizable, incluso si el dominio o el correo falla.
Ejemplo: dominio no disponible
{
"step": "REGISTER_DOMAIN",
"status": "failed",
"duration": 2100,
"error": "Domain \"tandarts-valencia.es\" is not available (status: taken)"
}Los pasos siguientes (buzón, SEO, publicación) se ejecutan igualmente. Solo los pasos dependientes del dominio (como el buzón) se omiten.
Requisitos de plan por funcionalidad
| Funcionalidad | Starter | Professional | Agency |
|---|---|---|---|
| Generación de sitio | ✅ | ✅ | ✅ |
| Registro de dominio | ❌ (prueba) | ✅ (1 gratis) | ✅ (5 gratis) |
| Creación de buzón | ❌ (prueba) | ✅ | ✅ |
| Reservas | ✅ | ✅ | ✅ |
| Tienda online | ✅ | ✅ | ✅ |
| Agente de voz | ❌ | ✅ | ✅ |
| Chatbot | ✅ | ✅ | ✅ |
| Fidelización | ✅ | ✅ | ✅ |
| SEO | ✅ | ✅ | ✅ |
El registro de dominio y la creación de buzón no están disponibles durante el período de prueba. El sitio se genera y publica igualmente.
Permisos
create_business requiere dos permisos en la clave API:
"write"— para crear recursos"ai"— para la generación de sitios con IA
Ejemplo mínimo
Generar solo un sitio web, sin dominio ni funcionalidades adicionales:
{
"tool": "create_business",
"arguments": {
"businessName": "Panadería La Espiga Dorada",
"businessType": "bakery"
}
}Esto genera un sitio, configura el SEO básico y publica en un subdominio *.optimocms.com.
Duración
| Paso | Duración esperada |
|---|---|
| Generación del sitio (IA) | 30–60 segundos |
| Registro de dominio | 5–10 segundos |
| Otros pasos | < 5 segundos cada uno |
| Total | 60–120 segundos |
El timeout de la Cloud Function es de 540 segundos (9 minutos), más que suficiente.