Update the demo agent's settings
/workspaces/current/agent-settingsNeedsworkspace.settingsOnly the fields you send change; playbook is replaced whole. drives and leadCapture need a paid plan (402). blockedDomains entries are normalized (URLs and @domain become the domain). slackWebhookUrl must be a Slack incoming webhook (hooks.slack.com); null removes it.
Authorization
secretKeyAuthorizationBearer <sk_…>A secret API key from Settings → API keys. It acts with its creator's role.
Request Body
application/json- body
suggestions?array<>items <= 4playbook?enabled?booleandrives?booleanleadCapture?booleanlabel?|nullbookingUrl?|string|nullblockedDomains?array<>items <= 200demoUrl?|string|nullwebsiteUrl?|string|nullslackWebhookUrl?|string|nullResponse Body
OK
application/json- response
agentSettings*The AI demo agent's settings.
defaults*Default values.
planFeatures*What the workspace's plan allows.
curl -X PATCH 'https://app.cueston.com/api/workspaces/current/agent-settings' \
-H 'Content-Type: application/json' \
-d '{}'{
"agentSettings": {
"enabled": true,
"drives": true,
"leadCapture": true,
"label": "string",
"bookingUrl": "string",
"suggestions": [
"string"
],
"playbook": {
"mode": "support",
"pitch": "string",
"valueProps": [
"string"
],
"qualifyingQuestions": [
{
"question": "string",
"choices": [
"string"
]
}
],
"keyWorkflows": [
{
"name": "Onboarding tour",
"goal": "string",
"url": "https://app.acme.com/settings/billing"
}
],
"primaryCta": {
"label": "string",
"url": "https://app.acme.com/settings/billing"
}
},
"blockedDomains": [
"string"
],
"demoUrl": "string",
"slackWebhookUrl": null,
"slackConnected": true
},
"defaults": {},
"planFeatures": {
"drives": true,
"leadCapture": true
}
}Get the demo agent's settingsGET
On/off, playbook, starter chips, booking link, live demo environment, block list and whether Slack lead alerts are set. The Slack URL itself is never returned.
List demo conversations (leads)GET
Every conversation the demo agent had, newest first, with the lead's email, AI review and booking state.