MCP is live.Set up
OmniDimension
Agents

Create agent

Create a new agent with the provided configuration. The full config supports transcriber, model, voice, web search, transfer, end-call conditions, post-call actions (email + webhook), ambient background track, initial ringing sound, and multilingual support.

POST/agents/create
Body
19 fields
·

Name for the agent.

Initial message the agent will say when answering a call.

When true, the welcome message is treated as a directive the agent uses to generate a tailored greeting for each call, rather than being spoken word for word. When false, the welcome message is spoken exactly as written.

Allow the caller to interrupt the welcome message. When false, the agent finishes speaking the welcome before listening.

List of context breakdowns, each containing `title`, `body`, and optional `is_enabled`.

Title*
Title of the breakdown.
Body*
Body of the breakdown, the detailed prompt content.
Is enabled
Whether this section is included in the prompt.
curl -X POST 'https://backend.omnidim.io/api/v1/agents/create' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Customer Support Agent",
  "welcome_message": "Hello! How can I help you today?",
  "dynamic_variables": {
    "customer_name": "Jane Doe",
    "order_id": "ORD-12345"
  },
  "context_breakdown": [
    {
      "title": "Purpose",
      "body": "This agent helps customers with product inquiries and support issues.",
      "is_enabled": true
    }
  ],
  "transcriber": {
    "provider": "deepgram_stream",
    "model": "nova-3",
    "language": "en-US",
    "silence_timeout_ms": 400,
    "interruption_min_words": 2,
    "max_call_duration_in_sec": 600
  },
  "model": {
    "model": "gpt-4.1-mini",
    "temperature": 0.7
  },
  "voice": {
    "provider": "eleven_labs",
    "voice_id": "JBFqnCBsd6RMkjVDRZzb",
    "model": "sonic-3.5",
    "speech_speed": 1
  },
  "web_search": {
    "provider": "DuckDuckGo"
  },
  "post_call_actions": {
    "email": {
      "recipients": [
        "support@example.com"
      ],
      "extracted_variables": [
        {
          "key": "customer_issue",
          "prompt": "Identify the main issue the customer is experiencing."
        }
      ],
      "trigger_call_statuses": [
        "completed",
        "voicemail_detected"
      ]
    },
    "webhook": {
      "url": "https://your-webhook-endpoint.com/omnidim-callback",
      "extracted_variables": [
        {
          "key": "customer_issue",
          "prompt": "Identify the main issue the customer is experiencing."
        }
      ],
      "trigger_call_statuses": [
        "completed",
        "failed"
      ]
    }
  },
  "transfer": {
    "transfer_options": [
      {
        "number": "+15551234567",
        "type": "static",
        "transfer_condition": "Transfer if the customer asks to speak with a human.",
        "transfer_message": "Please hold while I connect you to one of our agents."
      }
    ]
  },
  "end_call": {
    "condition": "End the call once the customer'\''s issue is resolved.",
    "message": "Thank you for contacting us. Have a great day!",
    "message_prompt": "End the call politely in the same language the user is speaking."
  },
  "background_track": {
    "volume": 0.2
  },
  "languages": [
    "English (India)",
    "Hindi"
  ]
}'
Example response
{
  "id": 6365,
  "name": "Customer Support Agent",
  "status": "Completed"
}

Authorization

BearerAuth
AuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json