<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CarPlay",
  "identifier" : "/documentation/CarPlay/CPMessageListItem",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "CarPlay"
    ],
    "preciseIdentifier" : "c:objc(cs)CPMessageListItem"
  },
  "title" : "CPMessageListItem"
}
-->

# CPMessageListItem

A list template row that represents a conversation or contact.

```
class CPMessageListItem
```

## Overview

Use `CPMessageListItem` to display information about a conversation or a contact in a list template. Unlike [`CPListItem`](/documentation/CarPlay/CPListItem), you don’t provide a selection handler. Instead, when the user selects the row, CarPlay invokes Siri using the parameters you provide and begins a message compose, read, or reply flow.

The behavior of the list item when the user selects it depends on how you initialize or configure it. If the item has a phone number or email address, Siri launches the message compose flow. If the list item has an unread indicator, Siri launches the message read flow. Otherwise, Siri launches the message reply flow.

`CPMessageListItem` can display various auxiliary items in its leading and trailing regions. You describe these using a configuration object for each region. See [`leadingConfiguration`](/documentation/CarPlay/CPMessageListItem/leadingConfiguration) and [`trailingConfiguration`](/documentation/CarPlay/CPMessageListItem/trailingConfiguration) for more information.

CarPlay doesn’t support custom list item types. Instead, use the [`userInfo`](/documentation/CarPlay/CPMessageListItem/userInfo) property to attach a value to the list item that provides additional context, such as specifying  a model object that corresponds to the item.

> Note:
> `CPMessageListItem` is available only in apps that have the communication entitlement.

## Topics

### Creating a Message List Item

[`init(conversationIdentifier: String, text: String, leadingConfiguration: CPMessageListItemLeadingConfiguration, trailingConfiguration: CPMessageListItemTrailingConfiguration?, detailText: String?, trailingText: String?)`](/documentation/CarPlay/CPMessageListItem/init(conversationIdentifier:text:leadingConfiguration:trailingConfiguration:detailText:trailingText:))

Creates a list item that represents an existing conversation.

[`init(fullName: String, phoneOrEmailAddress: String, leadingConfiguration: CPMessageListItemLeadingConfiguration, trailingConfiguration: CPMessageListItemTrailingConfiguration?, detailText: String?, trailingText: String?)`](/documentation/CarPlay/CPMessageListItem/init(fullName:phoneOrEmailAddress:leadingConfiguration:trailingConfiguration:detailText:trailingText:))

Creates a list item that represents a contact.

### Managing the Message Context

[`var conversationIdentifier: String?`](/documentation/CarPlay/CPMessageListItem/conversationIdentifier)

The conversation’s unique identifier.

[`var phoneOrEmailAddress: String?`](/documentation/CarPlay/CPMessageListItem/phoneOrEmailAddress)

The contact’s phone number or email address.

### Managing Content

[`var text: String?`](/documentation/CarPlay/CPMessageListItem/text)

The list item’s primary text.

[`var detailText: String?`](/documentation/CarPlay/CPMessageListItem/detailText)

The list item’s secondary text.

[`var trailingText: String?`](/documentation/CarPlay/CPMessageListItem/trailingText)

The list item’s supplementary text.

### Managing Leading and Trailing Configurations

[`var leadingConfiguration: CPMessageListItemLeadingConfiguration`](/documentation/CarPlay/CPMessageListItem/leadingConfiguration)

The configuration of the list item’s leading region.

[`class CPMessageListItemLeadingConfiguration`](/documentation/CarPlay/CPMessageListItemLeadingConfiguration)

An object that describes the appearance of a message list item’s leading region.

[`var trailingConfiguration: CPMessageListItemTrailingConfiguration?`](/documentation/CarPlay/CPMessageListItem/trailingConfiguration)

The configuration of the list item’s trailing region.

[`class CPMessageListItemTrailingConfiguration`](/documentation/CarPlay/CPMessageListItemTrailingConfiguration)

An object that describes the appearance of a message list item’s trailing region.

### Managing Supplementary Information

[`var userInfo: Any?`](/documentation/CarPlay/CPMessageListItem/userInfo)

An opaque value for the list item.

### Enabling Items

[`var isEnabled: Bool`](/documentation/CarPlay/CPMessageListItem/isEnabled)

A Boolean value that indicates if the item is enabled.

### Instance Properties

[`var leadingDetailTextImage: UIImage?`](/documentation/CarPlay/CPMessageListItem/leadingDetailTextImage)

Image shown on the leading edge of the detail text.

## Relationships

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CPListTemplateItem`](/documentation/CarPlay/CPListTemplateItem)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)