Server Message
Changed onThese are all the messages that can be sent to your server before, after and during the call.
Configure the messages you'd like to receive in assistant.server.messages.
Set your server url via assistant.server.url parameter.
Request
- Base URLhttps://your.server.com/v1
- URLhttps://your.server.com/v1/server
- Authnone declared
Request body
Example request
{
"message": {
"call": {
"id": "a12f9c88-c155-461f-9771-4d240cdc9a04",
"teamId": "1f7b1b1b1b1b1b1b1b1b1b1b",
"assistantId": "3f7b1b1b1b1b1b1b1b1b1b1b",
"callType": "web",
"direction": "inbound",
"startAt": "2020-10-05T00:00:00.000Z",
"endAt": "2020-10-05T00:00:00.000Z",
"userNumber": "+919867543210",
"assistantNumber": "+19867543211",
"status": "finished",
"phoneCallStatus": "ringing",
"callEndTriggerBy": "user",
"monitor": {
"controlUrl": "https://<domain>.interactly.ai/calls/v1/conversations/<random-id>/control"
},
"analysis": {
"summary": "The user called Dentistry to schedule an appointment.",
"successEvaluation": "success",
"structuredData": {}
},
"postCallTranscript": {
"provider": "deepgram",
"model": "nova-3",
"language": "en"
}
},
"assistant": {
"name": "My Assistant",
"welcomeMessage": "Hello! How can I help you?",
"welcomeMessageMode": "assistant-speaks-first",
"assistantProvider": "openai",
"assistantModel": "gpt-4o-mini",
"assistantSystemPrompt": "You are AI assistant to help patients with their health care needs.",
"assistantMaxTokens": 256,
"assistantReasoningEffort": "medium",
"assistantReasoningMode": "standard",
"assistantResponseSplitter": ",",
"config": {
"speech": {
"stt": {
"vendor": "microsoft"
},
"sttFallback": {
"vendor": "microsoft"
},
"ttsData": [
{
"enabled": true,
"vendor": "eleven-labs",
"language": "en-US",
"voice": "ZeK6O9RfGNGj0cJT2HoJ",
"config": {
"modelId": "eleven_multilingual_v2",
"stability": 0.7,
"similarityBoost": 0.85,
"speakerBoost": true,
"styleExaggeration": 0.5,
"seed": 42,
"speed": 1,
"applyTextNormalization": true
}
}
]
}
},
"backgroundSound": "enable",
"backgroundSoundVolume": 50,
"maxConsecutiveTtsFailures": 2,
"recordingEnabled": true,
"recordTimeAfterTransfer": 120,
"maxCallDuration": 15,
"idleTimeout": 20,
"maxIdleMessagesInSequence": 3,
"userInterruptionAckPlan": {
"phrases": [
"Please hold on while I check your account.",
"one moment please",
"let me just check that for you"
]
},
"assistantToolIds": [],
"assistantKnowledgeBaseIds": [],
"endCallMessage": "Goodbye!",
"endCallToolDescription": "Trigger the end call only when the user is done with the conversation.",
"endCallPhrases": [
"goodbye",
"bye"
],
"callForwardData": [
{
"phoneNumber": "+1234567890",
"name": "call-forward-name",
"onFailedMessage": "The call forward failed. Please try again later."
}
],
"interactionLookupData": {
"url": "https://example.com/interaction-lookup",
"timeoutSeconds": 20,
"secret": "",
"headers": {},
"method": "POST"
},
"holdMusicUrl": "https://www.soundjay.com/ambient/sounds/people-in-lounge-1.mp3",
"warmTransferTimeout": 300,
"assistantAnalysis": {
"summary": {
"maxTokens": 256,
"reasoningEffort": "low",
"reasoningMode": "standard",
"prompt": "Generate a summary of the call.",
"timeoutSeconds": 30
},
"successEvaluation": {
"maxTokens": 256,
"reasoningEffort": "low",
"reasoningMode": "standard",
"prompt": "Evaluate the success of the call.",
"timeoutSeconds": 30
},
"structuredData": {
"maxTokens": 256,
"reasoningEffort": "low",
"reasoningMode": "standard",
"prompt": "Extract structured data from the call.",
"timeoutSeconds": 30
}
},
"assistantOverrides": {
"welcomeMessage": "Hello, how can I help you today?",
"welcomeMessageMode": "assistant-speaks-first",
"recordingEnabled": true,
"recordTimeAfterTransfer": 120,
"maxConsecutiveTtsFailures": 2,
"holdMusicUrl": "https://www.soundjay.com/ambient/sounds/people-in-lounge-1.mp3",
"warmTransferTimeout": 300,
"recordingPath": "/recordings",
"dynamicVariables": {
"user_name": "John Doe"
}
},
"assistantServer": {
"timeoutSeconds": 20,
"url": "https://api.example.com/v1/getUserDetails",
"secret": "my-secret",
"headers": {}
},
"persistHistory": {
"retentionPeriod": 7
}
},
"phone": {
"_id": "a12f9c88-c155-461f-9771-4d240cdc9a04",
"teamId": "1f7b1b1b1b1b1b1b1b1b1b1b",
"number": "+1234567890",
"provider": {
"name": "twilio"
},
"assistantId": "a12f9c88-c155-461f-9771-4d240cdc9a04",
"inboundEnabled": true,
"outboundEnabled": true,
"label": "friendly-name-1"
},
"analysis": {
"summary": "The user called Dentistry to schedule an appointment.",
"successEvaluation": "success",
"structuredData": {}
},
"messages": [
{
"messageId": "5f7b1b1b1b1b1b1b1b1b1b1b",
"role": "user",
"text": "Hello! How can I help you?",
"timestamp": "2020-10-05T00:00:00.000Z"
}
]
}
}Response
This is the response that is expected from the server to the message.
Example response
{
"message": "Done"
}Changes
- info
added the new optional request property
/////////// - info
added the new optional request property
/////////// - info
added the new optional request property
/////////// - info
added the new optional request property
/////////// - info
added the new
assist-updateenum value to the request property//////////////// - info
added the new
assist-updateenum value to the request property///////////////// - info
added the new
assist-updateenum value to the request property//////////////// - info
added the new
assist-updateenum value to the request property///////////////// - info
added the new
assist-updateenum value to the request property//////////////// - info
added the new
assist-updateenum value to the request property///////////////// - info
added the new
assist-updateenum value to the request property//////////////// - info
added the new
assist-updateenum value to the request property/////////////////
- info
- info
added the new optional request property
/////////////// - info
added the new optional request property
/////////////// - info
added the new optional request property
/////////////// - info
added the new optional request property
///////////////
- info