Skip to content

List team handling segments

Request

Shows the time teammates spent actively working on a conversation, and which team the conversation was assigned to while they did. Each period covers a single team assignment, and never continues across a team change. team is null for time when no team was assigned. The response doesn't say which teammate did the work.

Moving a conversation to another team usually unassigns the teammate as well. Their period then ends with an end_reason of assignment, and the next period starts, with a start_reason of null, when a teammate picks the conversation up again. You'll only see team_change when the team changes and the same teammate keeps working without a break, for example when round robin assigns the conversation back to the teammate who already had it.

Periods with no team assigned are returned with team set to null. ended_at is null while a period is still open.

Requires the read_conversations OAuth scope, and the caller must be able to access the conversation.

Security
bearerAuth
Path
idstringrequired

The identifier for the conversation as given by Intercom.

Example:123
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.

Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.18
curl -i -X GET \
  https://api.intercom.io/conversations/123/team_handling_segments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.18'

Responses

Successful response

Bodyapplication/json
team_handling_segmentsArray of objects(Team Handling Segment)
Example:
[ { "team": { … }, "started_at": "2026-09-28T10:10:00Z", "ended_at": "2026-09-28T10:20:00Z", "start_reason": null, "end_reason": "assignment" } ]
Response
{ "team_handling_segments": [ { … }, { … } ] }