Conversatio Rating Agent Attribution API | Community
Skip to main content
Answered

Conversatio Rating Agent Attribution API

  • December 16, 2025
  • 1 reply
  • 170 views

Hello there! 

I am having some issues to understand how to assign the Conversation Rating to an agent. 

Context: I am using Fivetran connector to load the data on our Data Warehouse and from conversation_history table I am grabbing the column conversation_rating_teammate_id to link the owner of the rating with the corresponding admin/agent. 

Issue: We want to attribute the rating of each conversation to an agent using the same logic Intercom is using in the UI where the last agent who respond get the credit but for some conversations the last message author ID from conversation_part_history is not the same as the conversation_rating_teammate_id. 

Can someone explain me how this attribution logic works?

Thanks!

Best answer by Paul D

Hi ​@agusvqz - The way Intercom attributes the CSAT rating to an admin in the conversation is as follows.

 

The system uses the following priority order to determine who gets attributed the rating:

Priority Actor Type Logic
1st (Highest) Human Teammate The most recent reply from a human teammate
2nd Fin AI Agent If no human teammate replied, the most recent Fin AI reply
3rd (Fallback) Any Admin Part If neither of the above, the most recent admin-authored message of any type

 

How It Works

When a conversation rating is triggered, Intercom:
  1. Retrieves all admin parts from the conversation
  2. Filters out internal-only content - removes admin notes, participant events, and ticket state updates (these are not visible to end users)
  3. Reverses the order to start from the most recent message
  4. Applies the priority logic:
  • First looks for any part authored by a human admin (not Operator/bots)
  • If none found, looks for a Fin AI part
  • If still none found, uses whatever the most recent admin part is

Examples

Scenario Rated Teammate
Teammate A replied, then Teammate B replied, then conversation closed Teammate B (most recent human)
Teammate A replied, then Fin resolved it Teammate A (humans take priority over Fin)
Only Fin replied, then teammate closed conversation without replying Fin AI Agent
Fin replied, then Teammate A replied Teammate A (most recent human)
Multiple teammates replied The last one to send a user-visible reply

1 reply

Paul D
Intercom Team
Forum|alt.badge.img+2
  • Intercom Team
  • Answer
  • January 20, 2026

Hi ​@agusvqz - The way Intercom attributes the CSAT rating to an admin in the conversation is as follows.

 

The system uses the following priority order to determine who gets attributed the rating:

Priority Actor Type Logic
1st (Highest) Human Teammate The most recent reply from a human teammate
2nd Fin AI Agent If no human teammate replied, the most recent Fin AI reply
3rd (Fallback) Any Admin Part If neither of the above, the most recent admin-authored message of any type

 

How It Works

When a conversation rating is triggered, Intercom:
  1. Retrieves all admin parts from the conversation
  2. Filters out internal-only content - removes admin notes, participant events, and ticket state updates (these are not visible to end users)
  3. Reverses the order to start from the most recent message
  4. Applies the priority logic:
  • First looks for any part authored by a human admin (not Operator/bots)
  • If none found, looks for a Fin AI part
  • If still none found, uses whatever the most recent admin part is

Examples

Scenario Rated Teammate
Teammate A replied, then Teammate B replied, then conversation closed Teammate B (most recent human)
Teammate A replied, then Fin resolved it Teammate A (humans take priority over Fin)
Only Fin replied, then teammate closed conversation without replying Fin AI Agent
Fin replied, then Teammate A replied Teammate A (most recent human)
Multiple teammates replied The last one to send a user-visible reply