Skip to content

Templates — Bots

Bot templates are pre-built configurations that bundle a system prompt, suggested MCP servers, and optional workflows. Templates let you create a fully configured bot in one step instead of building from scratch.


Aerostack ships with three built-in system templates. These cannot be modified or deleted.

Template IDNameCategorySuggested MCPsHas Workflow
tpl_supportCustomer SupportsupportZendesk, StripeYes
tpl_communityCommunity Managercommunity(varies)Yes
tpl_salesSales Assistantsales(varies)Yes

Each system template includes a pre-built workflow_json graph optimized for its use case.


The setup wizard creates everything in one API call — workspace, MCP connections, and bot:

Terminal window
curl -X POST https://api.aerostack.dev/api/bots/setup \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"template_id": "tpl_support",
"bot_name": "Acme Support Bot",
"platform": "telegram",
"platform_config": {
"bot_token": "123456:ABC..."
},
"config_values": {
"company_name": "Acme Corp",
"support_hours": "9am-5pm EST",
"refund_policy": "30-day money-back guarantee"
}
}'

The config_values object is injected into the template’s system prompt. Each key-value pair is appended as context:

Context - company name: Acme Corp
Context - support hours: 9am-5pm EST
Context - refund policy: 30-day money-back guarantee
  1. Navigate to Bots > New Bot
  2. Browse available templates
  3. Select a template and fill in your customizations
  4. The wizard creates the workspace and bot automatically

Templates are publicly accessible (no auth required):

Terminal window
# List all templates
curl https://api.aerostack.dev/api/bots/templates
# Filter by category
curl "https://api.aerostack.dev/api/bots/templates?type=support&limit=10"

Response:

{
"templates": [
{
"id": "tpl_support",
"name": "Customer Support",
"description": "AI-powered customer support bot with ticket creation and order lookup.",
"category": "support",
"system_prompt": "You are a helpful customer support agent for {{company_name}}...",
"suggested_mcps": "[\"zendesk\", \"stripe\"]",
"popularity": 150
}
]
}

Get a single template:

Terminal window
curl https://api.aerostack.dev/api/bots/templates/tpl_support

Create your own templates to reuse across bots or share with your team.

Terminal window
curl -X POST https://api.aerostack.dev/api/bots/templates \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "IT Helpdesk",
"description": "Internal IT support bot for employee technical issues.",
"category": "support",
"system_prompt": "You are an IT helpdesk assistant. Help employees with technical issues. Common solutions:\n1. Password resets: Direct them to the password reset portal at {{reset_url}}\n2. VPN issues: Ask them to restart the VPN client\n3. Hardware issues: Create a support ticket",
"suggested_mcps": ["jira", "ldap"],
"llm_config": {
"temperature": 0.3
},
"icon_url": "https://example.com/helpdesk-icon.png"
}'

Response:

{
"template": {
"id": "tpl_a1b2c3d4e5f6g7h8",
"name": "IT Helpdesk",
"owner_id": "user_abc123",
"category": "support",
"popularity": 0
}
}

You can only update templates you own. System templates (where owner_id is null) cannot be modified.

Terminal window
curl -X PATCH https://api.aerostack.dev/api/bots/templates/tpl_a1b2c3d4e5f6g7h8 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated description",
"suggested_mcps": ["jira", "ldap", "confluence"]
}'

Terminal window
curl -X DELETE https://api.aerostack.dev/api/bots/templates/tpl_a1b2c3d4e5f6g7h8 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

ActionSystem TemplatesUser Templates
List / ViewAnyoneAnyone
CreateN/AAuthenticated users
UpdateBlocked (403)Owner only
DeleteBlocked (403)Owner only

System templates are built-in and immutable.


FieldRequiredDescription
nameYesTemplate display name
descriptionYesBrief description of the template’s purpose
categoryYesCategory for filtering (support, community, sales, etc.)
system_promptYesThe LLM system prompt. Can include {{placeholder}} variables.
suggested_mcpsNoJSON array of MCP server slugs to auto-connect. Default: []
llm_configNoDefault LLM config (e.g., { "temperature": 0.3 }). Default: {}
workflow_jsonNoPre-built workflow graph. If provided, the bot can enable workflow mode.
icon_urlNoURL to an icon for display in the template gallery

  1. Write system prompts with placeholders. Use {{company_name}}, {{product}}, etc. so the setup wizard can customize them per deployment.

  2. Include specific MCP suggestions. The setup wizard resolves MCP server slugs and connects them automatically. Only suggest MCPs that are published and available.

  3. Keep system prompts focused. A good template prompt describes the bot’s role, key behaviors, and when to use specific tools. Avoid generic instructions.

  4. Test before sharing. Create a bot from your template using the setup wizard to verify that the MCP connections and system prompt work as expected.