OptimoCMSDocs
Guides

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 :

ÉtapeActionRequis
1Générer le site web (IA)Toujours (bloqueur dur)
2Enregistrer le domaine + DNSUniquement si domain est fourni
3Créer la boîte mail (info@)Uniquement si le domaine a été enregistré
4Activer les réservationsUniquement si "booking" dans features
5Activer la boutiqueUniquement si "ecommerce" dans features
6Configurer l'agent vocalUniquement si "voice_agent" dans features
7Activer le chatbotUniquement si "chatbot" dans features
8Activer le programme de fidélitéUniquement si "loyalty" dans features
9Configurer le SEOToujours
10Publier le siteToujours

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ètreTypeRequisDescription
businessNamestringOuiNom de l'entreprise
businessTypestringOuiType d'entreprise : dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery
languagestringNonLangue du contenu : nl, en, de, fr, es (défaut : nl)
domainstringNonDomaine à enregistrer (ex. boulangerie-paris.fr)
featuresstring[]NonFonctionnalités à activer : booking, voice_agent, ecommerce, chatbot, loyalty, push
registrantobjectNonCoordonnées pour l'enregistrement du domaine
stylestringNonStyle visuel : minimalist, corporate, playful, elegant

Objet registrant

Requis lorsque domain est fourni :

ChampTypeRequisDescription
first_namestringOuiPrénom
last_namestringOuiNom de famille
emailstringOuiAdresse e-mail
phonestringOuiNuméro de téléphone
address1stringOuiAdresse
citystringOuiVille
countrystringOuiCode pays ISO 3166-1 alpha-2
postal_codestringOuiCode postal
org_namestringNonNom de l'organisation
statestringNonProvince/é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éStarterProfessionalAgency
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

ÉtapeDurée estimée
Génération du site (IA)30–60 secondes
Enregistrement du domaine5–10 secondes
Autres étapes< 5 secondes chacune
Total60–120 secondes

Le timeout de la Cloud Function est de 540 secondes (9 minutes), largement suffisant.

On this page