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:
| Stap | Actie | Vereist |
|---|---|---|
| 1 | Website genereren (AI) | Altijd (hard blocker) |
| 2 | Domein registreren + DNS | Alleen als domain is opgegeven |
| 3 | Mailbox aanmaken (info@) | Alleen als domein is geregistreerd |
| 4 | Boekingen activeren | Alleen als "booking" in features |
| 5 | Webshop activeren | Alleen als "ecommerce" in features |
| 6 | Voice agent configureren | Alleen als "voice_agent" in features |
| 7 | Chatbot activeren | Alleen als "chatbot" in features |
| 8 | Loyaliteitsprogramma activeren | Alleen als "loyalty" in features |
| 9 | SEO configureren | Altijd |
| 10 | Site publiceren | Altijd |
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
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
businessName | string | Ja | Naam van het bedrijf |
businessType | string | Ja | Bedrijfstype: dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery |
language | string | Nee | Contenttaal: nl, en, de, fr, es (standaard: nl) |
domain | string | Nee | Domein om te registreren (bijv. bakkerij-amsterdam.nl) |
features | string[] | Nee | Features om te activeren: booking, voice_agent, ecommerce, chatbot, loyalty, push |
registrant | object | Nee | Contactgegevens voor domeinregistratie |
style | string | Nee | Visuele stijl: minimalist, corporate, playful, elegant |
Registrant object
Verplicht als domain is opgegeven:
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
first_name | string | Ja | Voornaam |
last_name | string | Ja | Achternaam |
email | string | Ja | E-mailadres |
phone | string | Ja | Telefoonnummer |
address1 | string | Ja | Adres |
city | string | Ja | Stad |
country | string | Ja | ISO 3166-1 alpha-2 landcode |
postal_code | string | Ja | Postcode |
org_name | string | Nee | Organisatienaam |
state | string | Nee | Provincie/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
| Feature | Starter | Professional | Agency |
|---|---|---|---|
| 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
| Stap | Verwachte duur |
|---|---|
| Website genereren (AI) | 30–60 seconden |
| Domein registreren | 5–10 seconden |
| Overige stappen | < 5 seconden elk |
| Totaal | 60–120 seconden |
De Cloud Function timeout is 540 seconden (9 minuten), ruim voldoende.