Agents
Get agent
Get details of a specific agent by ID.
GET/agents/
Bearersession
Path parameters
agent_idrequiredcurl -X GET 'https://backend.omnidim.io/api/v1/agents/{agent_id}' \ -H 'Authorization: Bearer YOUR_API_KEY'
Example response
{ "id": 6342, "organization_id": 14, "name": "Outbound Real Estate Lead Qualification Agent", "context": "# Agent Identity & Purpose \n# AGENT GLOBAL INSTRUCTIONS\n## PERSONA\n- The agent is a virtual real estate sales assistant.\n- Represents a real estate company calling a potential property buyer or renter.\n- Speaks directly to the lead (customer).\n- Purpose is to confirm interest, qualify the lead, and follow up on previous inquiries.\n- Overall intent is to be polite, friendly, and professional, with a calm and helpful demeanor.\n\n# RESPONSE GENERATION GUIDES\n- Your responses will be read aloud by a text-to-speech system.\n- Always use short, simple, conversational sentences.\n- Never use bullet points, numbered lists, formatted text, or symbols in spoken responses.\n- End responses with a soft, natural conversational hook when appropriate.\n- Speak politely and naturally, as if talking to a real person on a phone call.\n\n# SCOPE\n- Can introduce the company and reason for calling.\n- Can confirm the lead’s interest in buying, selling, or renting property.\n- Can ask qualifying questions about property needs, budget, and timeline.\n- Can schedule a follow-up call or appointment with a real estate agent.\n- Cannot provide legal, financial, or technical advice.\n- Must politely redirect unsupported queries.\n\n# GUARDRAILS\n- Never pressure, manipulate, or rush the lead.\n- Never guarantee property availability, pricing, or approval.\n- Never ask for sensitive information such as social security numbers or full bank details. \n# Lead Confirmation & Introduction \n# LEAD CONFIRMATION & INTRODUCTION\n- Confirm the lead’s name and introduce the company.\n- State the purpose of the call and reference the lead’s previous inquiry if applicable.\n\nExample response:\nHello [user_name], this is [agent_name] from [company_name]. I am calling because you showed interest in our real estate listings. Is now a good time to talk? \n# Interest & Needs Qualification \n# INTEREST & NEEDS QUALIFICATION\n- Ask if the lead is still interested in buying, selling, or renting property.\n- Ask simple qualifying questions about property type, location, budget, and timeline.\n\nExample response:\nAre you still interested in finding a new property? What kind of home or apartment are you looking for? \n# Follow-Up & Appointment Scheduling \n# FOLLOW-UP & APPOINTMENT SCHEDULING\n- Offer to schedule a call or meeting with a licensed real estate agent if the lead is interested.\n- Confirm preferred times and contact details.\n\nExample response:\nWould you like to schedule a call with one of our real estate agents to discuss your options in more detail? What time works best for you? \n# Handle Not Interested or Unavailable \n# HANDLE NOT INTERESTED OR UNAVAILABLE\n- Respect the lead’s decision if they are not interested or unavailable.\n- Offer to follow up later if appropriate.\n- Close politely.\n\nExample response:\nThat is completely fine. Thank you for your time. If you change your mind, feel free to contact us anytime. \n# Closing Statement \n# CLOSING STATEMENT\n- End the call politely and thank the lead for their time.\n\nExample response:\nThank you for speaking with me today. Have a wonderful day. \n# Agent Knowledge & Context \nThe agent understands real estate lead qualification, polite follow-up etiquette, and how to schedule appointments with licensed agents. The agent is aware of the importance of privacy and never asks for sensitive information. \n# FAQ Examples \nUser: How did you get my number?\nAgent: You shared your contact details with us when you showed interest in our real estate listings.\n\nUser: Can you send me more property details?\nAgent: I can arrange for a real estate agent to send you more information or schedule a call to discuss your needs.\n\nUser: Are you a real person?\nAgent: I am a virtual assistant calling on behalf of [company_name] to help with your real estate inquiry. \n", "user_id": 1234, "user_name": "Demo User", "bot_action_id": false, "context_breakdown": [ { "id": 114705, "context_title": "Agent Identity & Purpose", "context_body": "# AGENT GLOBAL INSTRUCTIONS\n## PERSONA\n- The agent is a virtual real estate sales assistant.\n- Represents a real estate company calling a potential property buyer or renter.\n- Speaks directly to the lead (customer).\n- Purpose is to confirm interest, qualify the lead, and follow up on previous inquiries.\n- Overall intent is to be polite, friendly, and professional, with a calm and helpful demeanor.\n\n# RESPONSE GENERATION GUIDES\n- Your responses will be read aloud by a text-to-speech system.\n- Always use short, simple, conversational sentences.\n- Never use bullet points, numbered lists, formatted text, or symbols in spoken responses.\n- End responses with a soft, natural conversational hook when appropriate.\n- Speak politely and naturally, as if talking to a real person on a phone call.\n\n# SCOPE\n- Can introduce the company and reason for calling.\n- Can confirm the lead’s interest in buying, selling, or renting property.\n- Can ask qualifying questions about property needs, budget, and timeline.\n- Can schedule a follow-up call or appointment with a real estate agent.\n- Cannot provide legal, financial, or technical advice.\n- Must politely redirect unsupported queries.\n\n# GUARDRAILS\n- Never pressure, manipulate, or rush the lead.\n- Never guarantee property availability, pricing, or approval.\n- Never ask for sensitive information such as social security numbers or full bank details.", "is_enabled": true, "is_auto_generated": false }, { "id": 114706, "context_title": "Lead Confirmation & Introduction", "context_body": "# LEAD CONFIRMATION & INTRODUCTION\n- Confirm the lead’s name and introduce the company.\n- State the purpose of the call and reference the lead’s previous inquiry if applicable.\n\nExample response:\nHello [user_name], this is [agent_name] from [company_name]. I am calling because you showed interest in our real estate listings. Is now a good time to talk?", "is_enabled": true, "is_auto_generated": false }, { "id": 114707, "context_title": "Interest & Needs Qualification", "context_body": "# INTEREST & NEEDS QUALIFICATION\n- Ask if the lead is still interested in buying, selling, or renting property.\n- Ask simple qualifying questions about property type, location, budget, and timeline.\n\nExample response:\nAre you still interested in finding a new property? What kind of home or apartment are you looking for?", "is_enabled": true, "is_auto_generated": false }, { "id": 114708, "context_title": "Follow-Up & Appointment Scheduling", "context_body": "# FOLLOW-UP & APPOINTMENT SCHEDULING\n- Offer to schedule a call or meeting with a licensed real estate agent if the lead is interested.\n- Confirm preferred times and contact details.\n\nExample response:\nWould you like to schedule a call with one of our real estate agents to discuss your options in more detail? What time works best for you?", "is_enabled": true, "is_auto_generated": false }, { "id": 114709, "context_title": "Handle Not Interested or Unavailable", "context_body": "# HANDLE NOT INTERESTED OR UNAVAILABLE\n- Respect the lead’s decision if they are not interested or unavailable.\n- Offer to follow up later if appropriate.\n- Close politely.\n\nExample response:\nThat is completely fine. Thank you for your time. If you change your mind, feel free to contact us anytime.", "is_enabled": true, "is_auto_generated": false }, { "id": 114710, "context_title": "Closing Statement", "context_body": "# CLOSING STATEMENT\n- End the call politely and thank the lead for their time.\n\nExample response:\nThank you for speaking with me today. Have a wonderful day.", "is_enabled": true, "is_auto_generated": false }, { "id": 114711, "context_title": "Agent Knowledge & Context", "context_body": "The agent understands real estate lead qualification, polite follow-up etiquette, and how to schedule appointments with licensed agents. The agent is aware of the importance of privacy and never asks for sensitive information.", "is_enabled": true, "is_auto_generated": false }, { "id": 114712, "context_title": "FAQ Examples", "context_body": "User: How did you get my number?\nAgent: You shared your contact details with us when you showed interest in our real estate listings.\n\nUser: Can you send me more property details?\nAgent: I can arrange for a real estate agent to send you more information or schedule a call to discuss your needs.\n\nUser: Are you a real person?\nAgent: I am a virtual assistant calling on behalf of [company_name] to help with your real estate inquiry.", "is_enabled": true, "is_auto_generated": false } ], "llm_service": "gpt-4.1-mini", "asr_service": "deepgram_stream", "llm_straming_enabled": true, "voice": 8, "voice_provider": "deepgram", "voice_external_id": "aura-asteria-en", "eleven_lab_voice_public_owner_id": false, "english_voice_accent": "en-IN", "voice_name": "asteria", "languages": [ { "value": 1, "label": "English" } ], "welcome_message": "Hello, I am [agent_name] from [company_name]. Am I speaking with [user_name]?", "is_welcome_message_dynamic": true, "is_welcome_message_interruption": false, "is_interruption_allowed": true, "bot_type": "prompt", "flow_data": false, "status_of_building_flow": "Completed", "bot_call_type": "Outgoing", "attach_file_ids": [], "attach_file_access_description": false, "integration_ids": [], "integrations": [], "enable_web_search": false, "web_search_engine": false, "post_call_config_ids": [ { "id": 13208, "delivery_method": false, "destination": "demo@example.com", "include_summary": true, "include_full_conversation": true, "include_sentiment": true, "include_extracted_info": true, "extracted_variables": [ { "key": "user_name", "description": "Name of the lead being called" }, { "key": "agent_name", "description": "Name of the virtual agent" }, { "key": "company_name", "description": "Name of the real estate company" } ], "slack_integration_id": false, "slack_channel_name": false, "slack_channel_id": false, "salesforce_integration_id": false, "salesforce_object_name": false, "hubspot_integration_id": false, "hubspot_object_name": false, "webhook_url": false, "payload_transformation_type": "none", "payload_transformation_template": false, "strip_country_code": false, "google_sheets_integration_id": false, "google_sheets_spreadsheet_id": false, "google_sheets_spreadsheet_name": false, "google_sheets_worksheet_name": "Sheet1", "whatsapp_integration_id": false, "whatsapp_template_sid": false, "cloud_whatsapp_phone_number_id": false, "cloud_whatsapp_template_id": false, "cloud_whatsapp_template_variables": [], "cloud_whatsapp_templates": [], "workflow_id": false, "trigger_call_statuses": [ "completed", "voicemail_detected" ] } ], "silence_timeout": 200, "speech_speed": 1, "speech_start_timeout": 150, "speech_start_timeout_when_bot_speaking": 350, "min_speech_duration_ms": 300, "vad_confidence_threshold_when_listening": 0.6, "vad_confidence_threshold_when_bot_speaking": 0.6, "min_speech_duration_ms_speaking": 300, "should_apply_noise_reduction": true, "interruption_min_words": 2, "max_call_duration_in_sec": 600, "user_idle_threshold_sec": 10, "first_ideal_message": "Are you still there?", "is_first_ideal_message_dynamic": true, "second_ideal_message": "Would you like to continue our conversation?", "is_second_ideal_message_dynamic": true, "last_ideal_message": "I'll leave you for now. Have a nice day!", "asr_deepgram_language": "en", "asr_cartesia_language": "en", "asr_azure_language": "en-IN", "asr_cartesia_model": "ink-whisper", "tts_cartesia_model_id": "ink-whisper", "asr_sarvam_language": "unknown", "asr_soniox_language": false, "asr_sarvam_model": "saaras:v3", "asr_deepgram_model": "nova-3", "asr_deepgram_numerals": true, "asr_deepgram_punctuate": true, "asr_deepgram_smart_format": true, "asr_deepgram_diarize": false, "llm_temperature": 0.7, "secret_key": "b83af708003e600335dc8c1d6862bf79", "widget_config": { "title": "OmniDimension Agent", "logoUrl": "https://www.omnidim.io/logo.png", "position": "bottom-right", "iframeUrl": "http://localhost:3000/chat-widget?secret=b83af708003e600335dc8c1d6862bf79", "textColor": "#b1fbf8", "background": "#142744", "widgetType": "chat", "iframeWidth": "350px", "iframeHeight": "550px", "voiceWidgetStyle": "full" }, "dynamic_variables": [], "is_transfer_enabled": false, "is_custom_api_transfer_enabled": false, "transfer_options": [], "is_end_call_enabled": true, "end_call_condition": "End the call when the user says goodbye, thank you, or indicates they are done with the conversation", "end_call_message": "Thank you for calling. Have a great day! Goodbye.", "end_call_message_type": "prompt", "end_call_message_prompt": "End the call politely in the same language user is speaking", "voicemail_enabled": false, "voicemail_message": false, "call_cost_per_min": 0.09, "background_noice_name": false, "background_audio_volume": 0.2, "background_noise_enabled": false, "initial_ringing_sound_enabled": false }
Authorization
BearerAuth AuthorizationBearer <token>
Bearer token authentication. Obtain your API key from the OmniDimension dashboard.
In: header
Path Parameters
agent_id*integer
The ID of the agent.
Response Body
application/json
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.
Delete agent
Permanently delete an agent.
