Skip to main content

manualChatbot

Stored in the manualchatbots collection. createdAt and updatedAt are maintained automatically.

Returned by DELETE /manual-chatbot, GET /manual-chatbot, POST /manual-chatbot, DELETE /manual-chatbot/:id, GET /manual-chatbot/:id, PUT /manual-chatbot/:id and 9 more.

Example​

One real manualChatbot as returned by GET /manual-chatbot/chatbot-router. Recorded from a live response, so the defaults, denormalised snapshots and populated fields are the actual ones:

{
"_id": "6a95749f859eafb47bf234f4",
"company": "6a9572df859eafb47bf225d7",
"entryPoints": [],
"matching": {
"minScore": 0.2,
"margin": 0.1
},
"switching": {
"enabled": true,
"minScore": 0.7,
"confirm": true,
"confirmText": "You're in {{from}} right now. Switch to {{to}}?",
"maxPerConversation": 2,
"onReturn": "fresh"
},
"tieBreak": {
"mode": "generated",
"flow": null,
"promptText": "Quick check — which one of these do you need?"
},
"createdAt": "2026-08-31T12:33:35.682Z",
"updatedAt": "2026-08-31T12:33:35.682Z",
"__v": 0
}

:::note Trimmed for reading A populated reference is shown by the fields that identify it rather than in full — it arrives as the entire referenced document. Long arrays are cut to the first two entries and marked, long strings are truncated, and any field that could carry a credential is dropped rather than masked. :::

Fields​

FieldTypeNotes
namestringrequired
normalizedNamestring
activeNamestring
descriptionstring
kindstringdefault flow · one of flow, router
companyObjectId -> Companyrequired
statusstringdefault draft · one of draft, published, paused
publishedVersionnumberdefault 0
latestVersionnumberdefault 1
publishedSnapshotanydefault null
publishedAtdate
conversationsobject[]default []
conversations.textstringrequired
conversations.ordernumberdefault 0
keywordsobject[]default []
keywords.keywordstringrequired
keywords.weightnumberdefault 0
keywords.ranknumberdefault 0
handover.modestringdefault any · one of any, all
handover.rulesobject[]default []
handover.rules.typestringrequired · one of flow_finished, contains_text, message_count, time_based
handover.rules.enabledbooleandefault true
handover.rules.textstring
handover.rules.messageCountnumberdefault 0
handover.rules.minutesnumberdefault 0
routing.labelstringdefault ""
routing.allowLeavebooleandefault true
routing.allowEnterbooleandefault true
attachments.custombooleandefault false
attachments.maxFileSizeMbnumberdefault 10
createdByObjectId -> Member
updatedByObjectId -> Member
_idObjectId
createdAtdateset once
updatedAtdate