Skip to main content
Use the v3 call detail endpoint to retrieve a recorded call’s transcript. A call ID, conversation ID, and contact ID are different identifiers; use the call’s local ID or provider call ID for this request.

Retrieve the call

Use an API key with calls:read authorized for the intended account. For a workspace key, specify that account with X-Subaccount-Id.
The response envelope contains data and error. Read data.transcript for plain transcript text, and use the complete field reference below for other call data. If you only have a conversation ID, use GET /v3/conversations/{id}/calls with conversations:read to find up to 100 calls for its contact in that account. Match the intended call by its ID and time; the list is not restricted to one conversation session. Then use calls:read for the selected call detail. A conversation detail response alone does not contain the call transcript. See the v3 API overview and authentication.

Call detail fields

The detail response exposes the following fields under data. These camelCase fields belong to the v3 call API; the post-call webhook uses a different field shape. Optional data can be null or absent from the stored record; do not substitute empty analysis with an inferred result. Structured fields are returned as stored. Inspect their actual contents before mapping nested values; the endpoint does not replace missing data with a fixed example object.

Add a safe delivery step

  1. Capture the call ID when your call workflow creates or receives the call result.
  2. Read the call after it ends. Require error to be null and inspect data.transcript before mapping it into another action.
  3. If the transcript is still empty, retry reads with a bounded delay and a stop condition. Do not send an empty transcript or label it complete.
  4. Map the transcript string to your destination’s text field. Use structured transcript data only if the receiving integration handles that structure.
  5. Record the call ID after successful delivery so a repeated workflow event does not send it twice.
  6. Verify the receiving record, email, or webhook request with a controlled test.

Troubleshooting

  • 403: the key lacks access to the account or required scope.
  • 404: verify the account and call ID. A call may not have been recorded yet; do not substitute a contact ID.
  • Empty transcript: the request succeeded, but the transcript is not available. Preserve this state and inspect the call before continuing.
  • Duplicate messages: fix deduplication in the receiving workflow; successful GET requests do not track deliveries.
The API read does not send an email or execute a GHL workflow by itself. Configure and test that separate destination action.