Define the squad with three members — Orders, Returns, and VIP — each with its own focused system prompt and tools:
curl -X POST https://api.sulus.ai/squad \
-H "Authorization: Bearer $CORE_SYSTEM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "E-Commerce Support Squad",
"members": [
{
"assistant": {
"name": "Orders",
"model": {
"provider": "openai",
"model": "gpt-4o",
"messages": [{ "role": "system", "content": "Orders specialist. Handle tracking and delivery questions using lookup_customer and track_order." }],
"toolIds": ["LOOKUP_CUSTOMER_ID", "TRACK_ORDER_ID"]
},
"firstMessage": "Hello, how can I help with your order today?",
"firstMessageMode": "assistant-speaks-first"
},
"assistantDestinations": [
{
"type": "assistant",
"assistantName": "Returns",
"description": "Customer wants to return an item or asks about a refund.",
"contextEngineeringPlan": { "type": "all" }
},
{
"type": "assistant",
"assistantName": "VIP",
"description": "Customer is a high-value/VIP tier customer, or is expressing frustration or negative sentiment.",
"contextEngineeringPlan": { "type": "all" }
}
]
},
{
"assistant": {
"name": "Returns",
"model": {
"provider": "openai",
"model": "gpt-4o",
"messages": [{ "role": "system", "content": "Returns specialist. Check eligibility and process the return using process_return." }],
"toolIds": ["PROCESS_RETURN_ID"]
}
},
"assistantDestinations": [
{
"type": "assistant",
"assistantName": "VIP",
"description": "Customer is a high-value/VIP tier customer, or is expressing frustration or negative sentiment.",
"contextEngineeringPlan": { "type": "all" }
}
]
},
{
"assistant": {
"name": "VIP",
"model": {
"provider": "openai",
"model": "gpt-4o",
"messages": [{ "role": "system", "content": "VIP concierge. Prioritize premium customers, resolve issues directly, and coordinate with order/return data as needed." }],
"toolIds": ["LOOKUP_CUSTOMER_ID", "TRACK_ORDER_ID", "PROCESS_RETURN_ID"]
}
}
}
]
}'
See Squad API: Create, Update, List for the full request/response reference for this endpoint.