Thoughtly · Schema
Thoughtly Call
Schema for a Thoughtly Call (a response produced by an Agent). Captures the metadata, outcome, structured transcript, and any custom data attached during the conversation.
Voice AIChat AIConversational AIAI AgentsOutbound CallingInbound CallingLead ConversionSMSWhatsAppCRMTelephony
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the call. |
| interview_id | string | ID of the Agent that handled the call. |
| contact_id | string | ID of the Contact that was called or initiated the call. |
| job_id | string | ID of the bulk-call or automation job that scheduled this call. |
| direction | string | Direction of the call. |
| status | string | Final status of the call (e.g. success, failure, voicemail). |
| outcome | string | Classified outcome from the Agent (e.g. booked, qualified, DNQ, voicemail). |
| duration_seconds | integer | Duration of the call in seconds. |
| recording_url | string | URL to the call recording, when available. |
| transcript | array | Structured transcript array, with one entry per turn. |
| tags | array | |
| metadata | object | |
| started_at | string | |
| ended_at | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/thoughtly/thoughtly-call-schema.json",
"title": "Thoughtly Call",
"description": "Schema for a Thoughtly Call (a response produced by an Agent). Captures the metadata, outcome, structured transcript, and any custom data attached during the conversation.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the call."
},
"interview_id": {
"type": "string",
"description": "ID of the Agent that handled the call."
},
"contact_id": {
"type": "string",
"description": "ID of the Contact that was called or initiated the call."
},
"job_id": {
"type": "string",
"description": "ID of the bulk-call or automation job that scheduled this call."
},
"direction": {
"type": "string",
"enum": ["inbound", "outbound"],
"description": "Direction of the call."
},
"status": {
"type": "string",
"description": "Final status of the call (e.g. success, failure, voicemail)."
},
"outcome": {
"type": "string",
"description": "Classified outcome from the Agent (e.g. booked, qualified, DNQ, voicemail)."
},
"duration_seconds": {
"type": "integer",
"minimum": 0,
"description": "Duration of the call in seconds."
},
"recording_url": {
"type": "string",
"format": "uri",
"description": "URL to the call recording, when available."
},
"transcript": {
"type": "array",
"description": "Structured transcript array, with one entry per turn.",
"items": {
"type": "object",
"properties": {
"transcript": { "type": "string" },
"speaker": { "type": "string", "enum": ["ai", "user"] },
"createdAt": { "type": "string", "format": "date-time" },
"step": { "type": "integer", "description": "Step index (AI turns only)." },
"node_id": { "type": "string", "description": "Agent builder node ID (AI turns only)." }
},
"required": ["transcript", "speaker"]
}
},
"tags": {
"type": "array",
"items": { "type": "string" }
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"started_at": {
"type": "string",
"format": "date-time"
},
"ended_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": true
}