v2

latestOpenAPI 3.1.02026-07-313981108.2 KB
Assistants

List Assistants

List Assistants

get/assistants/v1/assistants

Response

Successful response

namestring

This is the name of the assistant.

welcomeMessagestring

This is the welcome message of the assistant.

welcomeMessageModestring

This is the mode of the welcome message. It can be one of the following: 'assistant-speaks-first', 'assistant-waits-for-user', 'automatic'.

welcomeMessageInterruptionsEnabledboolean

This is a boolean that controls whether the interruptions are enabled during the welcome message. If set to false, the user can not interrupt the welcome message.

assistantProvider'openai' | 'azure' | 'gemini' | 'deepseek' | 'bedrock' | 'custom-llm'

This is the provider of the assistant.

assistantModelstring

The type of model used for the assistant depends on the provider.

For openai - Available Options: gpt-4, gpt-4o, gpt-4o-mini, gpt-3.5-turbo.

For azure - Available Options: gpt-4, gpt-4o, gpt-4o-mini.

For gemini - Available Options: gemini-1.5-flash-latest,gemini-1.5-pro-latest,gemini-1.5-flash.

For deepseek - Available Options: V3.

For bedrock - Available Options: anthropic.claude-3-5-sonnet, anthropic.claude-3-5-haiku, meta.llama3-1-8b-instruct.

assistantLLMUrlstring

Provider your LLM Base URL here when assistantProvider=custom-llm.

Ex: https://your-server.com/custom-llm.

Please note that, we will append /chat/completions to your base URL before calling LLM endpoints. The LLM URL should be accessible from the Interactly server. If you are using a local server, you can use ngrok to expose your local server to the internet.

assistantSystemPromptstring

This system prompt guides the assistant's operations.

assistantTemperaturenumber

This is the temperature of the assistant.

assistantMaxTokensinteger

This is the maximum number of tokens that the assistant can generate.

assistantResponseSplitterstring

Use this Delimiter to split the AI responses into separate lines.

hintsstring[]

Provide keyword hints to help the assistant better recognize and transcribe important words or phrases.

backgroundSoundVolumenumber

This is the volume of the background sound. It is a number between 1 and 100.

ttsCacheEnabledboolean

This is the enabled flag of the tts cache.

ttsAudioCacheScope'assistant' | 'team' | 'global'

This is the storage scope of the tts audio cache. It can be one of the following: 'assistant', 'team', 'global'. 'global' is deprecated and will be removed in future.

maxConsecutiveTtsFailuresinteger

Maximum number of consecutive TTS turn failures before the call is ended automatically.

recordingEnabledboolean

Controls whether call recording is enabled for this assistant.

recordAfterTransferboolean

When enabled, call recording continues after the call is forwarded or warm-transferred to another party.

postCallTranscriptsEnabledboolean

When enabled, a post-call transcript file is generated and stored alongside the call recording after the call ends.

assistantBackchannelingEnabledboolean

This is the backchanneling enabled of the assistant.

dtmfInputEnabledboolean

This is a boolean that controls whether the DTMF input is enabled for the assistant.

maxCallDurationinteger

This is the max call duration(in minutes) of the assistant.

idleTimeoutinteger

How long should the assistant wait in silence before confirming the user's presence and playing an idle message?

maxIdleMessagesInSequenceinteger

Maximum number of times to repeat the idle message in sequence

assistantToolIdsstring[]

This is the list of tool IDs of the assistant.

assistantType'single_prompt' | 'workflow_based'

This is the type of the assistant. It can be one of the following: 'single_prompt', 'workflow_based'.

assistantKnowledgeBaseIdsstring[]

This is the list of knowledge base IDs of the assistant. Provide only when assistantPredefinedTools.knowledgeBase is enabled

endCallMessagestring

This is the message that the assistant will say if it ends the call. Provide only when assistantPredefinedTools.endCall is enabled

endCallToolDescriptionstring

This is the description of the tool that the assistant will use to end the call. Provide only when assistantPredefinedTools.endCall is enabled

endCallPhrasesstring[]

List of phrases that the assistant will listen to end the call. Provide only when assistantPredefinedTools.endCall is enabled

warmTransferEnabledboolean

Enables warm transfer when forwarding calls. The receiving agent is connected before the caller is transferred, allowing a briefing before handoff. Requires assistantPredefinedTools.callForward to be enabled.

warmTransferConversationalboolean

When enabled with warmTransferEnabled, the assistant converses with the receiving agent before completing the transfer. When disabled, a pre-generated briefing message is played to the agent instead.

holdMusicUrlstring

URL of the hold music played to the caller while a conversational warm transfer is in progress. Must be a publicly accessible HTTPS URL.

warmTransferTimeoutinteger

Maximum time in seconds to wait for the receiving agent to answer during a warm transfer before the transfer is considered failed.

Example response

[
  {
    "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,
    "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,
    "maxCallDuration": 900,
    "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."
      }
    ],
    "holdMusicUrl": "https://www.soundjay.com/ambient/sounds/people-in-lounge-1.mp3",
    "warmTransferTimeout": 300,
    "assistantAnalysis": {
      "summary": {
        "maxTokens": 256,
        "prompt": "Generate a summary of the call.",
        "timeoutSeconds": 30
      },
      "successEvaluation": {
        "maxTokens": 256,
        "prompt": "Evaluate the success of the call.",
        "timeoutSeconds": 30
      },
      "structuredData": {
        "maxTokens": 256,
        "prompt": "Extract structured data from the call.",
        "timeoutSeconds": 30
      }
    },
    "assistantOverrides": {
      "welcomeMessage": "Hello, how can I help you today?",
      "welcomeMessageMode": "assistant-speaks-first",
      "recordingEnabled": true,
      "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
    }
  }
]