Skip to main content
let loggedInUser = await CometChat.getLoggedinUser();
let authToken = loggedInUser.getAuthToken();

// Fetch call logs
let request = new CometChatCalls.CallLogRequestBuilder()
  .setLimit(30)
  .setAuthToken(authToken)
  .setCallCategory("call")
  .build();

let logs = await request.fetchNext();

// Get details for a specific call session
let details = await CometChatCalls.getCallDetails("SESSION_ID", authToken);
Filters: setCallType(), setCallStatus(), setCallCategory(), setCallDirection(), setHasRecording(), setUid(), setGuid()
Call logs let you retrieve and display call history — who called whom, when, how long, and whether it was recorded. Use CallLogRequestBuilder to fetch and filter logs, and getCallDetails() to get details for a specific session. Before you begin, make sure you’ve completed the Calls SDK Setup.

Fetch Call Logs

Build a request with CallLogRequestBuilder, then call fetchNext() or fetchPrevious() to retrieve logs. Call either method repeatedly on the same builder instance to paginate through results.
let callLogRequestBuilder: any = new CometChatCalls.CallLogRequestBuilder()
  .setLimit(30)
  .setAuthToken(loggedInUser.getAuthToken())
  .setCallCategory("call")
  .build();

Builder Settings

SettingDescription
setLimit(limit: number)Specifies the number of call logs to fetch.
setCallType(callType: 'video' or 'audio')Sets the type of calls to fetch (call or meet).
setCallStatus(callStatus: 'ongoing' or 'busy' or 'rejected' or 'cancelled' or 'ended' or 'missed')Sets the status of calls to fetch (initiated, ongoing, etc.)
setHasRecording(hasRecording: boolean)Sets whether to fetch calls that have recordings.
setCallCategory(callCategory: 'call' or 'meet')Sets the category of calls to fetch (call or meet).
setCallDirection(callDirection: 'incoming' or 'outgoing')Sets the direction of calls to fetch (incoming or outgoing)
setUid(uid: string)Sets the UID of the user whose call logs to fetch.
setGuid(guid: string)Sets the GUID of the user whose call logs to fetch.
setAuthToken(authToken: string)Sets the Auth token of the logged-in user.

Fetch Next

Retrieves the next set of call logs:
let callLogRequestBuilder: any = new CometChatCalls.CallLogRequestBuilder()
  .setLimit(30)
  .setAuthToken(loggedInUser.getAuthToken())
  .setCallCategory("call")
  .build();

callLogRequestBuilder.fetchNext().then(
  (callLogHistory: any[]) => {
    console.log(callLogHistory);
  },
  (err: any) => {
    console.log(err);
  }
);

Fetch Previous

Retrieves the previous set of call logs:
let callLogRequestBuilder: any = new CometChatCalls.CallLogRequestBuilder()
  .setLimit(30)
  .setAuthToken(loggedInUser.getAuthToken())
  .setCallCategory("call")
  .build();

callLogRequestBuilder.fetchPrevious().then(
  (callLogHistory: any[]) => {
    console.log(callLogHistory);
  },
  (err: any) => {
    console.log(err);
  }
);
The fetchNext() and fetchPrevious() methods return an array of CallLog objects.

Get Call Details

Retrieve details for a specific call session using getCallDetails():
const sessionID: string = "SESSION_ID";
CometChatCalls.getCallDetails(sessionID, authToken).then(
  (callLogs: Array<CallLog>) => {
    console.log("Call details:", callLogs);
  },
  (error: any) => {
    console.log("Error fetching call details:", error);
  }
);
Note: Replace "SESSION_ID" with the ID of the session you are interested in.

Next Steps

Default Calling

Implement the complete ringing call flow

Recording

Record audio and video calls

Direct Calling

Start call sessions without the ringing flow

Calling Setup

Install and initialize the Calls SDK