OptimoCMSDocs
Guides

Business Orchestrator

Lanceer een compleet online bedrijf met één prompt. Website, domein, e-mail, webshop, boekingen, voice agent en SEO — alles in één API call.

Business Orchestrator

De create_business tool zet in één aanroep een volledig online bedrijf op: website, domein, e-mail, webshop, boekingen, voice agent, chatbot, loyaliteitsprogramma, SEO en publicatie.

Hoe het werkt

De orchestrator voert maximaal 10 stappen sequentieel uit:

StapActieVereist
1Website genereren (AI)Altijd (hard blocker)
2Domein registreren + DNSAlleen als domain is opgegeven
3Mailbox aanmaken (info@)Alleen als domein is geregistreerd
4Boekingen activerenAlleen als "booking" in features
5Webshop activerenAlleen als "ecommerce" in features
6Voice agent configurerenAlleen als "voice_agent" in features
7Chatbot activerenAlleen als "chatbot" in features
8Loyaliteitsprogramma activerenAlleen als "loyalty" in features
9SEO configurerenAltijd
10Site publicerenAltijd

Voorbeeld: tandartspraktijk in Valencia

Prompt:

Maak een tandartspraktijk in Valencia met online boekingen en een voice agent.
Registreer het domein tandarts-valencia.es.

MCP tool call:

{
  "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"
  }
}

Response:

{
  "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
  }
}

Invoerparameters

ParameterTypeVerplichtBeschrijving
businessNamestringJaNaam van het bedrijf
businessTypestringJaBedrijfstype: dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery
languagestringNeeContenttaal: nl, en, de, fr, es (standaard: nl)
domainstringNeeDomein om te registreren (bijv. bakkerij-amsterdam.nl)
featuresstring[]NeeFeatures om te activeren: booking, voice_agent, ecommerce, chatbot, loyalty, push
registrantobjectNeeContactgegevens voor domeinregistratie
stylestringNeeVisuele stijl: minimalist, corporate, playful, elegant

Registrant object

Verplicht als domain is opgegeven:

VeldTypeVerplichtBeschrijving
first_namestringJaVoornaam
last_namestringJaAchternaam
emailstringJaE-mailadres
phonestringJaTelefoonnummer
address1stringJaAdres
citystringJaStad
countrystringJaISO 3166-1 alpha-2 landcode
postal_codestringJaPostcode
org_namestringNeeOrganisatienaam
statestringNeeProvincie/staat

Foutafhandeling

De orchestrator gebruikt best-effort per stap:

  • GENERATE_SITE is de enige hard blocker. Als deze faalt, stopt het hele proces.
  • Alle andere stappen gaan door bij een fout. Een gefaalde stap wordt gemarkeerd als "failed" met een foutmelding.
  • De site is altijd bruikbaar, zelfs als domein of mail faalt.

Voorbeeld: domein niet beschikbaar

{
  "step": "REGISTER_DOMAIN",
  "status": "failed",
  "duration": 2100,
  "error": "Domain \"tandarts-valencia.es\" is not available (status: taken)"
}

De volgende stappen (mailbox, SEO, publicatie) worden gewoon uitgevoerd. Alleen stappen die afhankelijk zijn van het domein (zoals mailbox) worden overgeslagen.

Tier-vereisten per feature

FeatureStarterProfessionalAgency
Website genereren
Domein registreren❌ (trial)✅ (1 gratis)✅ (5 gratis)
Mailbox aanmaken❌ (trial)
Boekingen
Webshop
Voice agent
Chatbot
Loyaliteit
SEO

Domeinregistratie en mailbox aanmaken zijn niet beschikbaar tijdens de proefperiode. De site wordt wel gegenereerd en gepubliceerd.

Permissies

create_business vereist twee permissies op de API key:

  • "write" — voor het aanmaken van resources
  • "ai" — voor AI site-generatie

Minimaal voorbeeld

Alleen een website genereren, zonder domein of extra features:

{
  "tool": "create_business",
  "arguments": {
    "businessName": "Bakkerij De Gouden Korst",
    "businessType": "bakery"
  }
}

Dit genereert een site, configureert basis-SEO en publiceert op een *.optimocms.com subdomein.

Tijdsduur

StapVerwachte duur
Website genereren (AI)30–60 seconden
Domein registreren5–10 seconden
Overige stappen< 5 seconden elk
Totaal60–120 seconden

De Cloud Function timeout is 540 seconden (9 minuten), ruim voldoende.

On this page