CometChatCallLogs renders a scrollable list of call history with call type indicators (audio/video), call status (incoming/outgoing/missed), timestamps, and pagination support.

CometChatCallLogs widget is composed of the following base widgets:
| Widget | Description |
|---|---|
| CometChatListBase | Container widget with title, background options, and list integration |
| CometChatListItem | Displays call log data on a card with title and subtitle |
Where It Fits
CometChatCallLogs is a list component. It renders call history and emits the selected CallLog via onItemClick. Wire it to a detail screen or use onCallLogIconClicked to initiate a call directly from the log.
- Dart
Quick Start
Using Navigator:- Dart
- Dart
CometChatUIKit.init(), a user logged in, and the Calls UIKit dependency added. See Call Features for setup.
Filtering Call Logs
Pass aCallLogRequestBuilder to control what loads:
- Dart
Filter Recipes
| Recipe | Builder property |
|---|---|
| Limit per page | ..limit = 10 |
| Audio calls only | ..callType = "audio" |
| Video calls only | ..callType = "video" |
| Missed calls only | ..callStatus = "missed" |
| Incoming calls only | ..callDirection = "incoming" |
| Outgoing calls only | ..callDirection = "outgoing" |
| Calls with recording | ..hasRecording = true |
| Calls for specific user | ..uid = "user_uid" |
| Calls for specific group | ..guid = "group_guid" |
| Call category (call/meet) | ..callCategory = "call" |
Filter Properties
| Property | Type | Description |
|---|---|---|
authToken | String? | Authentication token |
callCategory | String? | Category: "call" or "meet" |
callDirection | String? | Direction: "incoming" or "outgoing" |
callStatus | String? | Status: "ongoing", "busy", "rejected", "cancelled", "ended", "missed", "initiated", "unanswered" |
callType | String? | Type: "audio", "video", or "audio/video" |
guid | String? | Group ID filter |
hasRecording | bool | Filter calls with recordings |
limit | int | Max results per request |
uid | String? | User ID filter |
Actions and Events
Callback Methods
onItemClick
Fires when a call log item is tapped. Primary navigation hook.
- Dart
onItemLongPress
Fires when a call log item is long-pressed, allowing additional actions.
- Dart
onBack
Fires when the user presses the back button in the app bar.
- Dart
onError
Fires on internal errors (network failure, SDK exception).
- Dart
onLoad
Fires when the list is successfully fetched and loaded.
- Dart
onEmpty
Fires when the list is empty after loading.
- Dart
onCallLogIconClicked
Fires when the call icon on a call log item is tapped, typically used to initiate a call back.
- Dart
Events
TheCometChatCallLogs widget does not emit global events.
Functionality
| Property | Type | Default | Description |
|---|---|---|---|
showBackButton | bool? | true | Toggle back button visibility |
hideAppbar | bool? | false | Toggle app bar visibility |
backButton | Widget? | null | Custom back button widget |
datePattern | String? | null | Format pattern for date display |
dateSeparatorPattern | String? | null | Format pattern for date separator |
hideSeparator | bool | false | Hide separator between items |
emptyStateText | String? | null | Text for empty state |
errorStateText | String? | null | Text for error state |
incomingAudioCallIcon | Icon? | null | Custom icon for incoming audio calls |
incomingVideoCallIcon | Icon? | null | Custom icon for incoming video calls |
outgoingAudioCallIcon | Icon? | null | Custom icon for outgoing audio calls |
outgoingVideoCallIcon | Icon? | null | Custom icon for outgoing video calls |
missedAudioCallIcon | Icon? | null | Custom icon for missed audio calls |
missedVideoCallIcon | Icon? | null | Custom icon for missed video calls |
infoIconUrl | String? | null | URL for the info icon |
loadingIconUrl | String? | null | URL for the loading icon |
- Dart


Custom View Slots
List Item View
Replace the entire list item row with a custom widget.- Dart
- Helper: getCallStatus

Title View
Replace the caller name / title text.- Dart
Leading View
Replace the avatar / left section.- Dart
Subtitle View
Replace the call status text below the name.- Dart
- Helper: _getCallIcon

Trailing View
Replace the timestamp / right section.- Dart

State Views
- Dart
Menu Options
- Dart
Style
- Dart

Configurations
Outgoing Call
Customize the outgoing call component that appears when a call is initiated from a call log:- Dart


OutgoingCallConfiguration can be found under Outgoing Call.
Next Steps
Call Log Details Guide
Build a call log details screen
Call Buttons
Add voice and video call buttons
Component Styling
Detailed styling reference
Conversations
Browse recent conversations