Skip to main content
Millis AI provides flexible webhooks to enhance integration capabilities. This documentation explains the purpose, format, and fields for the Prefetch Data Webhook and End-of-Call Webhook.

1. Prefetch Data Webhook

Configuration Key in Agent Config: extra_prompt_webhook The Prefetch Data Webhook is called before the conversation begins. It enables real-time customization and event notifications.

Configuration

The configuration can be provided in one of the following formats:
  • String: The URL of the webhook endpoint.
  • Object:

Use Cases

  1. Call Notification: Notify your system about an incoming call by receiving a webhook event.
  2. Metadata Override: Dynamically override or add session metadata based on external systems.
  3. Extra Prompt: Provide additional context to the agent’s system prompt.

Request

  • Method: GET
  • Query Parameters:
    • session_id (string): Unique session identifier.
    • agent_id (string): ID of the agent handling the session.
    • from (string): Caller’s phone number (if applicable).
    • to (string): Receiver’s phone number (if applicable).
    • Additional session metadata as key-value pairs (if available).

Expected Response

  • Content-Type: application/json.
  • Response Fields:
    • metadata (object): Overrides or extends the current session metadata. Existing keys are updated, and new keys are added.
    • extra_prompt (string): Additional text appended to the agent’s system prompt.

Response Example


2. End-of-Call Webhook

Configuration Key in Agent Config: session_data_webhook The End-of-Call Webhook is triggered after a session concludes. It provides detailed information about the session for logging, analytics, or post-call processing.

Configuration

The configuration can be provided in one of the following formats:
  • String: The URL of the webhook endpoint.
  • Object:

Request

  • Method: POST
  • Payload (JSON):
    • chat (string): JSON string representing the chat history (user and agent messages).
    • function_calls (array): List of external functions invoked during the session.
    • ts (timestamp): Session start time.
    • duration (integer): Session duration in seconds.
    • agent_config (object): Serialized agent configuration.
    • agent_id (string): ID of the agent managing the session.
    • call_id (string): Unique identifier for the call session.
    • chars_used (integer): Number of characters processed during the session.
    • session_id (string): Unique session identifier.
    • cost_breakdown (array): List of cost components for different services.
    • voip (object): Telephony details.
    • recording (object): Call recording details.
    • metadata (object): Final metadata for the session.
    • call_status (string): Status of the call. Possible values:
      • user-ended
      • api-ended
      • voicemail-message
      • voicemail-hangup
      • agent-ended
      • timeout
      • error
      • chat_completion
    • error_message (string): Description of any errors encountered during the session.

Example

Request URL:
Payload:

Notes

  1. Prefetch Webhook:
    • Use this webhook to notify your system about calls, adjust metadata dynamically, or provide extra prompts to enhance conversational context.
  2. End-of-Call Webhook:
    • Designed for detailed post-call analytics and tracking.
    • Ensure secure storage of sensitive information like call recordings and metadata.
  3. Security:
    • Use HTTPS for all webhooks.
    • Authenticate requests with headers or API keys as needed.
These webhooks provide a robust way to integrate Millis AI into your existing systems, offering flexibility and advanced customization for voice agent interactions.