---
schema_version: "1"
id: 5b8e08c250f5babeb4e9db7b6f57c12056b5ae5bd85656f2bf981f82531cb179
title: VoiceCall
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/object_reference/sforce_api_objects_voicecall.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_voicecall.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 19df5f6d16d0f1333a0abfa8c86ebe82b82cf7eb627547c1d6e8d3ffb43d3b49
description: Represents a call in Salesforce Voice, Sales Dialer, or other supported voice connectors. For Salesforce Voice, this can be a phone or Voice over Internet Protocol (VoIP) call. This object is available in API version 40.0 and later.
---
# VoiceCall

Represents a call in Salesforce Voice, Sales Dialer, or other supported voice connectors. For Salesforce Voice, this can be a phone or Voice over Internet Protocol (VoIP) call. This object is available in API version 40.0 and later.

To manage VoiceCall records when using Salesforce Voice, see the [Telephony Integration REST API](https://developer.salesforce.com/docs/atlas.en-us.264.0.voice_developer_guide.meta/voice_developer_guide/voice_rest_overview.htm).

The fields in the VoiceCall object apply to the Sales Dialer and Salesforce Voice features unless otherwise stated in the field description.

In addition to the standard fields listed in this page, you can define up to 300 custom fields for the VoiceCall object.

## Supported Calls

create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search(), update(), upsert()

## Special Access Rules

Only users with the Modify All Data permission can delete call records.

To edit voice call records, Sales Dialer or Salesforce Voice permissions are required. This includes the Dialer Outbound permission set for Sales Dialer, or the Salesforce Voice Contact Center Rep or Salesforce Voice Contact Center Admin permission sets for Salesforce Voice, or Agentforce Contact Center Admin (Salesforce Voice) permission set.

## Fields

| Field Name | Details |
| --- | --- |
| ActivityId | 
Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The unique ID of the activity record. Available in API version 48.0 and later.

This is a relationship field.

Relationship Name

Activity

Refers To

Task



 |
| AgentSentimentScore | 

Type

double

Properties

Filter, Nillable, Sort

Description

If [Sentiment Journey](https://help.salesforce.com/s/articleView?id=service.voice_conversation_sentiments.htm&type=5&language=en_US) in Salesforce Voice with Telephony Providers is set up, this field represents the rep’s overall sentiment score post-call in a conversation event. The value must be between -5 (lowest negative sentiment score) and 5 (highest positive sentiment score), with 0 being a neutral sentiment score. Available in API version 59.0 and later.

This field isn't available in Salesforce Voice (Native Telephony).





 |
| AverageJitter | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

Average inter-arrival jitter of RTP packets on the agent leg over the entire call duration, measured in milliseconds. Higher values indicate inconsistent packet timing, which can cause audio choppiness.

This field is available in API version 68.0 and later, and only in Salesforce Voice (Native Telephony).





 |
| AveragePacketLoss | 

Type

percent

Properties

Create, Filter, Nillable, Sort

Description

Average percentage of RTP packets lost on the agent leg over the entire call duration. Higher values indicate sustained network degradation, which can cause audio gaps.

This field is available in API version 68.0 and later, and only in Salesforce Voice (Native Telephony).





 |
| CallAcceptDateTime | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the date and time (in UTC) when an agent accepts the call. Available in API version 48.0 and later.



 |
| CallCenterId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice with Telephony Providers is enabled, this field represents the unique ID of the call center (CallCenter Id) where the activity took place. Available in API version 48.0 and later.

This is a relationship field.

This field isn't available in Salesforce Voice (Native Telephony).





 |
| CallConnectDateTime | 

Type

datetime

Properties

Create, Filter, Nillable, Sort

Description

For Sales Dialer, this field represents the date and time (in UTC) when the call was connected.



 |
| CallDisposition | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort

Description

The status of the phone call.

For Sales Dialer, possible values are:

- in progress
- busy
- failed

For Salesforce Voice, possible values are:

- new—The voice call record has been created.
- in-progress—The call has been accepted (or, for outbound messages, initiated) by an agent.
- completed—The call has ended. This includes calls that are transferred. (If a call is transferred, another voice call record is created to track the state of the transferred call.) If After Conversation Work (ACW) is enabled, that work begins after the call completes.





 |
| CallDurationInSeconds | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

The total duration (in seconds) of the call.



 |
| CallEndDateTime | 

Type

dateTime

Properties

Create, Filter, Sort

Description

The date and time (in UTC) when the call ended.



 |
| CallerId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

For Salesforce Voice, this field represents the unique ID of the participant who initiated the call. If “Match Callers to End User Records” is enabled in Lightning Experience, the value is null and the EndUserId field is used instead to determine the end user associated with this voice call. Available in API version 48.0 and later.

This is a relationship field.

Relationship Name

Caller

Relationship Type

Lookup

Refer To

ConversationParticipant



 |
| CallerIdType | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort

Description

For Sales Dialer, this field represents the number displayed for outbound calls. Possible values are:

- VendorLine—User.
- CompanyNumber—Company.
- LocalPresence—Local Presence.
- CustomCallerId—Custom Caller ID.

Available in API version 41.0 and later.



 |
| CallOrigin | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort

Description

Information about how this call originated. For Salesforce Voice, possible values are:

- Preview—Preview dialer.
- Progressive—Progressive dialer.
- Voicemail—Voicemail call.

Available in API version 56.0 and later.



 |
| CallQueuedDateTime | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the date and time (in UTC) when the call was added to a queue to be routed to an agent. Available in API version 48.0 and later.



 |
| CallRecordingId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

For Salesforce Voice, this field represents the unique ID of the call recording for the voice call. An update to the CallRecordingId value is an internal process and doesn't trigger automation such as flows. Available in API version 41.0 and later.

This is a relationship field.

Relationship Name

CallRecording

Relationship Type

Lookup

Refers To

VoiceCallRecording



 |
| CallResolution | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The resolution outcome of the call. The default value is Resolved, meaning the call has been resolved. Available in API version 48.0 and later.



 |
| CallStartDateTime | 

Type

dateTime

Properties

Create, Filter, Sort

Description

The date and time (UTC) when the call started.



 |
| CallStatus | 

Type

picklist

Properties

Filter, Group, Nillable, Restricted picklist, Sort

Description

For internal use only.

Available in API version 63.0 and later.



 |
| CallSubtype | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort

Description

For Salesforce Voice, this field represents the network or protocol over which the phone or Voice over Internet Protocol (VoIP) call is made. Possible values are:

- PSTN
- WebRTC

Available in API version 62.0 and later.



 |
| CallType | 

Type

picklist

Properties

Create, Filter, Group, Restricted picklist, Sort

Description

The types of call.

For Sales Dialer, possible values are:

- Bridge
- Coach
- Inbound
- Internal
- Outbound

For Salesforce Voice, possible values are:

- Callback
- Consult
- Inbound
- InternalCall
- Outbound
- Transfer





 |
| CoachingDurationInSeconds | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

For Sales Dialer, this field represents the total duration (in seconds) of the coaching session. This field only appears if call coaching is enabled. Available in API version 41.0 and later.



 |
| ConferenceKey | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort

Description

For Sales Dialer, this field represents the related conference key. This field is only available if call monitoring is enabled. Available in API version 41.0 and later.



 |
| ConversationId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the unique ID of the conversation. This field is only available if call monitoring is enabled. Available in API version 48.0 and later.

This is a relationship field.

Relationship Name

Conversation

Relationship Type

Lookup

Refers To

Conversation



 |
| CurrencyCode | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort

Description

For Sales Dialer, this field represents the ISO currency code used to bill the call.



 |
| CustomerHoldDuration | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the total duration (in seconds) of all the holds that occurred during the voice call. Available in API version 49.0 and later.



 |
| CustomerSentimentScore | 

Type

double

Properties

Filter, Nillable, Sort

Description

If [Sentiment Journey](https://help.salesforce.com/s/articleView?id=service.voice_conversation_sentiments.htm&type=5&language=en_US) in Salesforce Voice with Telephony Providers is set up, this field represents the customer’s overall sentiment score post-call in a conversation event. The value must be between -5 (lowest negative sentiment score) and 5 (highest positive sentiment score), with 0 being a neutral sentiment score. Available in API version 59.0 and later.

This field isn't available in Salesforce Voice (Native Telephony).





 |
| Description | 

Type

textarea

Properties

Create, Nillable, Update

Description

If Salesforce Voice is enabled, this field represents a text field where the agent can enter a summary of the call. Available in API version 48.0 and later.



 |
| DisconnectReason | 

Type

string

Properties

Create, Filter, Group, Nillable

Description

If Salesforce Voice is enabled, this field represents the reason why the voice call was disconnected.

For Salesforce Voice with Telephony Providers, the partner telephony provides the reason. For Amazon Connect instances, this value is automatically populated through the contact record if you have Contact Center version 13.0 or later. See DisconnectReason in the [Amazon Connect contact records data model page](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html) for a list of possible reasons why a voice call may be disconnected. For all other partner telephony models, configure this feature through the disconnectReason parameter in the Update a Voice Call Record Telephony Integration API. Available in API version 59.0 and later.

For Salesforce Voice (Native Telephony), possible values for inbound calls are:

- Customer Disconnect
- Flow Disconnect
- Rep Disconnect
- Agent Disconnect
- Customer Queue Disconnect

For Salesforce Voice (Native Telephony), possible values for outbound calls are:

- Customer Disconnect
- Flow Disconnect
- Rep Disconnect
- Agent Disconnect
- Ring No Answer
- Call Rejected

For Agentforce Voice, possible values are:

- Bot Terminated: The AI agent terminated the session.
- Customer Intent Fulfilled: A customer interaction successfully completed.
- Customer Unresponsive: The session ended after the AI agent made three attempts to engage the customer without a response.
- Disconnected by Customer: The customer ended the session.
- Error: The session ended due to a system error.
- Expiration Error: The bot session expired.
- Internal Orchestrator Service Unavailable: The session ended because an internal service is temporarily unavailable. Contact Salesforce support.
- Maximum Duration Reached: The session ended after reaching the maximum allowed duration of 60 minutes.
- Missing Flow Id: The escalation flow isn’t configured for the AI agent.
- Other: The session ended due to reasons that aren’t captured by other DisconnectReason values.
- Session Initiation Failure: The bot session couldn’t be established.
- Transferred: The session was escalated to a rep.





 |
| EndUserId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

For Salesforce Voice, if “Match Callers to End User Records” is enabled in Lightning Experience, this field represents the unique ID of the messaging end user (MessagingEndUser ID) associated with this voice call. Available in API version 53.0 and later.

This is a relationship field.

Relationship Name

EndUser

Relationship Type

Lookup

Refers To

MessagingEndUser



 |
| FromPhoneNumber | 

Type

phone

Properties

Create, Filter, Group, Sort

Description

The number of the user who initiated the call.



 |
| IsDiarizationOptIn | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

Indicates whether optimal speaker separation (diarization) is opted in (true) or not (false) for the call.



 |
| IsRecorded | 

Type

boolean

Properties

Create, Defaulted on create, Filter, Group, Sort

Description

Indicates whether a Voice Call Recording record was created (true) or not (false) for this voice call. The default value is false. Available in API version 44.0 and later.



 |
| IvrDuration | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Total duration, in seconds, that a caller spends in the Interactive Voice Response (IVR) system. The duration includes time spent on automated prompts and responses before being placed in a queue or connected to a service rep. This field is available in API version 66.0 and later.



 |
| LastReferencedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The date and time (in UTC) when the current user last viewed a record related to this voice call.



 |
| LastViewedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The date and time (in UTC) when the current user last viewed this voice call. If the record has not been viewed before, this value is null. Referencing a record (LastReferencedDate) doesn’t count as viewing it.



 |
| LongestHoldDuration | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the longest hold duration (in seconds) that occurred during the call. Available in API version 49.0 and later.



 |
| MaximumJitter | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

Maximum inter-arrival jitter of RTP packets on the agent leg, measured in milliseconds over rolling 5-second windows. Captures sudden, temporary timing spikes that cause brief audio choppiness, even if the overall call average appears stable.

This field is available in API version 68.0 and later, and only in Salesforce Voice (Native Telephony).





 |
| MaximumPacketLoss | 

Type

percent

Properties

Create, Filter, Nillable, Sort

Description

Maximum percentage of RTP packets lost on the agent leg, measured over rolling 5-second windows. Captures sharp bursts of packet loss that call-wide averages can mask.

This field is available in API version 68.0 and later, and only in Salesforce Voice (Native Telephony).





 |
| MediaProviderId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

The unique ID of the related media provider. Available in API version 49.0 and later.

This is a relationship field.

Relationship Name

MediaProvider

Relationship Type

Lookup

Refers To

CallCoachingMediaProvider



 |
| Name | 

Type

string

Properties

Autonumber, Defaulted on create, Filter, idLookup, Sort

Description

The name of the voice call record. For example, VC-00000001. Available in API version 60.0 and later.



 |
| NextCallId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice with Telephony Providers is enabled, this field represents the unique ID of the next call if the call was transferred to another agent. If there is no other agent, this value is null. Available in API version 48.0 and later.

This field isn't available in Salesforce Voice (Native Telephony).

This is a relationship field.

Relationship Name

NextCall

Relationship Type

Lookup

Refers To

VoiceCall



 |
| NumberOfHolds | 

Type

int

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the number of times the customer was put on hold. Available in API version 49.0 and later.



 |
| OwnerId | 

Type

reference

Properties

Create, Defaulted on create, Filter, Group, Sort, Update

Description

The unique ID of the user who owns the voice call record.

Don’t modify this field during active call routing through automation, such as record-triggered flows or Apex triggers. Modifying this field during active call routing by customer automation creates conflicts with the Salesforce Voice with Telephony Providers internal platform logic.

This is a polymorphic relationship field.

Relationship Name

Owner

Relationship Type

Lookup

Refers To

Group, User



 |
| PreviousCallId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice with Telephony Providers is enabled, this field represents the unique ID of the previous call if the call was transferred from another agent. When there is no previous call, this value is null. Available in API version 48.0 and later.

This field isn't available in Salesforce Voice (Native Telephony).

This is a relationship field.

Relationship Name

PreviousCall

Relationship Type

Lookup

Refers To

VoiceCall



 |
| Price | 

Type

double

Properties

Create, Filter, Nillable, Sort

Description

For Sales Dialer, this field represents the cost of the phone call.



 |
| QualityScore | 

Type

double

Properties

Create, Filter, Nillable, Sort, Update

Description

If Salesforce Voice is enabled, this field represents the value of the Mean Opinion Score (MOS) that measures voice call quality. This algorithm is based on packet loss percentage, average latency, and average jitter. Available in API version 53.0 and later.



 |
| QueueName | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort

Description

If Salesforce Voice is enabled, this field represents the name of the agent queue. Available in API version 49.0 and later.



 |
| RecipientId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

For Salesforce Voice, this field represents the unique ID of the participant who received the call. If “Match Callers to End User Records” is enabled in Lightning Experience, this value is null and the EndUserId field is used instead to determine the end user associated with this voice call.

This is a relationship field.

Relationship Name

Recipient

Relationship Type

Lookup

Refers To

ConversationParticipant



 |
| RecordTypeId | 

Type

reference

Properties

Create, Filter, Nillable, Updates

Description

The ID of the voice call record type assigned to this voice call. If a record type isn't assigned to this voice call, the value is null. Available in API version 59.0 and later.

This is a relationship field.

Relationship Name

RecordType

Relationship Type

Lookup

Refers To

RecordType



 |
| RelatedRecordId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The unique ID of the related record. Associates the VoiceCall record to a standard or custom object record. For Salesforce Voice, supported related records include the standard objects Account, Case, Collection Plan, Contact, Contact Request, Lead, Opportunity, and WorkOrder. For Sales Dialer, supported related records include custom objects.

This is a polymorphic relationship field.

Relationship Name

RelatedRecord

Relationship Type

Lookup

Refers To

Account, Case, CollectionPlan, Contact, ContactRequest, Lead, Opportunity, Workorder



 |
| SourceType | 

Type

picklist

Properties

Create, Group, Nillable, Restricted picklist, Sort, Update

Description

The general purpose of the call. The permission sets assigned to the voice call owner determine the value. A call’s source type controls which insights Einstein Conversation Insights applies during analysis.

Possible values are:

- Sales
- Service

Available in API version 52.0 and later.





 |
| ToPhoneNumber | 

Type

phone

Properties

Create, Filter, Group, Sort

Description

The recipient of the call. For inbound, transfer, and callback calls, this value is the agent's number. For outbound calls, this value is the customer's number.



 |
| TranscribedLanguage | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The language that is transcribed for this voice call. Don’t set or change this value. It’s automatically populated by the Conversation Intelligence platform.

![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)

#### Note

This field can be set at record creation but can’t be edited after creation through API, Apex, or the Telephony Integration API (CTR sync). This field is automatically populated by Einstein Conversation Insights (ECI) when post-call transcripts are processed. The value is a two-letter ISO 639-1 language code detected from the transcript. You must enable Einstein Conversation Insights for ECI to populate this field. This field can’t be set through the callAttributes property of the voice call update API.















 |
| UserId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

The unique ID of the Salesforce user who initiates an outbound call or accepts an inbound call. If no one takes the call, this value defaults to null.

This is a relationship field.

Relationship Name

User

Relationship Type

Lookup

Refers To

User



 |
| VendorCallKey | 

Type

string

Properties

Create, Filter, Group, Nillable, idLookup, Sort

Description

The unique ID of the child leg of the call that’s provided by the Sales Dialer vendor or Salesforce Voice.



 |
| VendorParentCallKey | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort

Description

For Sales Dialer, this field represents the unique ID of the parent leg of the call that’s provided by the Dialer vendor.



 |
| VendorType | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort

Description

For Sales Dialer, this field represents the type of Dialer vendor. For Salesforce Voice, this field is always set to ContactCenter. Available in API version 41.0 and later.



 |
| VoiceVendorLineId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort

Description

For Sales Dialer, this field represents the unique ID of the associated Dialer vendor line.

This is a relationship field.

Relationship Name

VoiceVendorLine

Relationship Type

Lookup

Refers To

VoiceVendorLine



 |

## Associated Objects

This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise, they’re available in the specified API version and later.

[VoiceCallChangeEvent](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_associated_objects_change_event.htm "A ChangeEvent object is available for each object that supports Change Data Capture. You can subscribe to a stream of change events using Change Data Capture to receive data tied to record changes in Salesforce. Changes include record creation, updates to an existing record, deletion of a record, and undeletion of a record. A change event isn’t a Salesforce object—it doesn’t support CRUD operations or queries. It’s included in the object reference so you can discover which Salesforce objects support change events.") (Available in API version 48.0 and later)

Change events are available for the object.

[VoiceCallFeed](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_associated_objects_feed.htm "StandardObjectNameFeed is the model for all feed objects associated with standard objects. These objects represent the posts and feed-tracked changes of a standard object.") (Available in API version 50.0 and later.)

Feed tracking is available for the object.

[VoiceCallOwnerSharingRule](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_associated_objects_ownersharingrule.htm "StandardObjectNameOwnerSharingRule is the model for all owner sharing rule objects associated with standard objects. These objects represent a rule for sharing a standard object with users other than the owner.")

Sharing rules are available for the object.

[VoiceCallShare](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_associated_objects_share.htm "StandardObjectNameShare is the model for all share objects associated with standard objects. These objects represent a sharing entry on the standard object.")

Sharing is available for the object.

- **[VoiceCall Sharing Models](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_voicecall_sharing_models.htm)**  
    The VoiceCall object supports multiple sharing models to control who can access voice call records. The right sharing model depends on your org’s structure and access requirements.