Get Agent
Retrieve the full configuration and status of a specific AI agent.
GET
Get Agent
Retrieve the complete configuration of an AI agent by its ID — including voice settings, language, model, webhook config, and current status.
Endpoint
GET https://crmwebhook.com/functions/v1/crm-api/get-agent/{agentId}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
agentId | string (UUID) | Yes | The unique ID of the agent to retrieve |
Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer cfy_your_api_key | Yes (or use x-api-key) |
x-api-key | cfy_your_api_key | Yes (or use Authorization) |
Example Request
curl -X GET \
https://crmwebhook.com/functions/v1/crm-api/get-agent/6c16d554-e5e0-4a27-86fa-d2c3324db11a \
-H "Authorization: Bearer cfy_your_api_key"
Response Shape
Returns the full agent object with all configured fields plus metadata. Internal fields are never exposed.
{
"id": "6c16d554-e5e0-4a27-86fa-d2c3324db11a",
"name": "Sales Bot",
"voice_id": "Sulafat",
"max_duration": 30,
"temperature": 0.7,
"silence_timeout": 5,
"voice_activity_timeout": 1000,
"llm_model": "gpt-4o-mini",
"language": "en-US",
"background_noise": true,
"background_type": "call_center",
"voicemail_detection": true,
"voicemail_type": "leave_message",
"voicemail_message": "Hi, please call us back.",
"backcchanneling": true,
"is_active": true,
"organization_id": "88e7bb59-42b2-4f8f-b818-83dfc129dd1b",
"sub_account_id": "d457c95d-de9e-42f3-9e21-530c5cd4caa1",
"webhook": true,
"webhook_url": "https://example.com/webhook",
"recording": true,
"created_at": "2026-03-15T10:30:00Z",
"updated_at": "2026-04-10T14:22:00Z"
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Agent UUID |
name | string | Display name |
voice_id | string | Voice model identifier (e.g., “Sulafat”, “Aria”) |
max_duration | number | Maximum call duration in minutes |
temperature | number | LLM creativity (0.0–1.0) |
silence_timeout | number | Seconds of silence before AI responds |
voice_activity_timeout | number | Milliseconds for voice activity detection |
llm_model | string | AI model (e.g., “gpt-4o-mini”, “gpt-4o”) |
language | string | Language code (e.g., “en-US”) |
background_noise | boolean | Whether ambient noise is enabled |
background_type | string | Type of background audio (“call_center”, “office”, “none”) |
voicemail_detection | boolean | Auto-detect voicemail machines |
voicemail_type | string | Action when voicemail detected (“leave_message”, “hangup”) |
voicemail_message | string | Message to leave on voicemail |
backcchanneling | boolean | AI gives verbal acknowledgments (“mmhm”, “right”) |
is_active | boolean | Whether agent is live and accepting calls |
organization_id | string | Organization UUID the agent belongs to |
sub_account_id | string | Sub-account UUID the agent belongs to |
webhook | boolean | Send post-call data to webhook |
webhook_url | string | Webhook destination URL |
recording | boolean | Record calls |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | ISO 8601 last-update timestamp |
Response Codes
| Status | Meaning |
|---|---|
200 | Agent object returned |
401 | Unauthorized — invalid or missing API key |
404 | Agent not found in this sub-account |
What happens if the agent ID doesn't exist?
You’ll receive a 404 response with {"error": true, "message": "Agent not found"}.
Does this endpoint return the agent's prompt?
The prompt and tools configuration are returned in the full agent object. Internal fields and API keys are never exposed.