Business Orchestrator
Lancez une entreprise en ligne complète avec un seul prompt. Site web, domaine, e-mail, boutique, réservations, agent vocal et SEO — le tout en un seul appel API.
Business Orchestrator
L'outil create_business met en place une entreprise en ligne entièrement opérationnelle en un seul appel : site web, domaine, e-mail, boutique en ligne, réservations, agent vocal, chatbot, programme de fidélité, SEO et publication.
Comment ça marche
L'orchestrateur exécute jusqu'à 10 étapes séquentiellement :
| Étape | Action | Requis |
|---|---|---|
| 1 | Générer le site web (IA) | Toujours (bloqueur dur) |
| 2 | Enregistrer le domaine + DNS | Uniquement si domain est fourni |
| 3 | Créer la boîte mail (info@) | Uniquement si le domaine a été enregistré |
| 4 | Activer les réservations | Uniquement si "booking" dans features |
| 5 | Activer la boutique | Uniquement si "ecommerce" dans features |
| 6 | Configurer l'agent vocal | Uniquement si "voice_agent" dans features |
| 7 | Activer le chatbot | Uniquement si "chatbot" dans features |
| 8 | Activer le programme de fidélité | Uniquement si "loyalty" dans features |
| 9 | Configurer le SEO | Toujours |
| 10 | Publier le site | Toujours |
Exemple : cabinet dentaire à Valence
Prompt :
Crée un cabinet dentaire à Valence avec des réservations en ligne et un agent vocal.
Enregistre le domaine tandarts-valencia.es.Appel d'outil 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"
}
}Réponse :
{
"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
}
}Paramètres d'entrée
| Paramètre | Type | Requis | Description |
|---|---|---|---|
businessName | string | Oui | Nom de l'entreprise |
businessType | string | Oui | Type d'entreprise : dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery |
language | string | Non | Langue du contenu : nl, en, de, fr, es (défaut : nl) |
domain | string | Non | Domaine à enregistrer (ex. boulangerie-paris.fr) |
features | string[] | Non | Fonctionnalités à activer : booking, voice_agent, ecommerce, chatbot, loyalty, push |
registrant | object | Non | Coordonnées pour l'enregistrement du domaine |
style | string | Non | Style visuel : minimalist, corporate, playful, elegant |
Objet registrant
Requis lorsque domain est fourni :
| Champ | Type | Requis | Description |
|---|---|---|---|
first_name | string | Oui | Prénom |
last_name | string | Oui | Nom de famille |
email | string | Oui | Adresse e-mail |
phone | string | Oui | Numéro de téléphone |
address1 | string | Oui | Adresse |
city | string | Oui | Ville |
country | string | Oui | Code pays ISO 3166-1 alpha-2 |
postal_code | string | Oui | Code postal |
org_name | string | Non | Nom de l'organisation |
state | string | Non | Province/état |
Gestion des erreurs
L'orchestrateur utilise le principe du meilleur effort par étape :
- GENERATE_SITE est le seul bloqueur dur. En cas d'échec, tout le processus s'arrête.
- Toutes les autres étapes continuent en cas d'erreur. Une étape échouée est marquée comme
"failed"avec un message d'erreur. - Le site est toujours utilisable, même si le domaine ou l'e-mail échoue.
Exemple : domaine non disponible
{
"step": "REGISTER_DOMAIN",
"status": "failed",
"duration": 2100,
"error": "Domain \"tandarts-valencia.es\" is not available (status: taken)"
}Les étapes suivantes (boîte mail, SEO, publication) sont quand même exécutées. Seules les étapes dépendantes du domaine (comme la boîte mail) sont ignorées.
Exigences de plan par fonctionnalité
| Fonctionnalité | Starter | Professional | Agency |
|---|---|---|---|
| Génération de site | ✅ | ✅ | ✅ |
| Enregistrement de domaine | ❌ (essai) | ✅ (1 gratuit) | ✅ (5 gratuits) |
| Création de boîte mail | ❌ (essai) | ✅ | ✅ |
| Réservations | ✅ | ✅ | ✅ |
| Boutique en ligne | ✅ | ✅ | ✅ |
| Agent vocal | ❌ | ✅ | ✅ |
| Chatbot | ✅ | ✅ | ✅ |
| Fidélité | ✅ | ✅ | ✅ |
| SEO | ✅ | ✅ | ✅ |
L'enregistrement de domaine et la création de boîte mail ne sont pas disponibles pendant la période d'essai. Le site est quand même généré et publié.
Permissions
create_business requiert deux permissions sur la clé API :
"write"— pour la création de ressources"ai"— pour la génération de site par IA
Exemple minimal
Générer uniquement un site web, sans domaine ni fonctionnalités supplémentaires :
{
"tool": "create_business",
"arguments": {
"businessName": "Boulangerie Dorée",
"businessType": "bakery"
}
}Cela génère un site, configure le SEO de base et publie sur un sous-domaine *.optimocms.com.
Durée
| Étape | Durée estimée |
|---|---|
| Génération du site (IA) | 30–60 secondes |
| Enregistrement du domaine | 5–10 secondes |
| Autres étapes | < 5 secondes chacune |
| Total | 60–120 secondes |
Le timeout de la Cloud Function est de 540 secondes (9 minutes), largement suffisant.