Attio Champion Tracking
Create champion-specific custom attributes, lists, and automations in Attio for tracking champion status across deals
Instructions
Attio Champion Tracking
Set up Attio CRM to track champion identification, engagement, and health across all active deals. This creates the data layer that champion drills read from and write to.
Prerequisites
- Attio workspace with admin access
- Attio API key or MCP server connected (see
attio-mcp-setup) - Deals pipeline configured (see
attio-pipeline-config)
Steps
1. Create Champion Custom Attributes on People
Using the attio-custom-attributes fundamental, create these attributes on the People object:
POST https://api.attio.com/v2/objects/people/attributes
1. Champion Status (select)
api_slug: champion_status
options: ["Candidate", "Recruited", "Active", "Disengaged", "Lost"]
colors: ["blue", "yellow", "green", "orange", "red"]
2. Champion Score (number)
api_slug: champion_score
description: "0-100 score from champion signal analysis"
3. Champion Signals (text)
api_slug: champion_signals
description: "JSON array of detected champion signals"
4. Champion Recruited Date (date)
api_slug: champion_recruited_date
5. Champion Last Engaged (date)
api_slug: champion_last_engaged
6. Champion Role in Deal (select)
api_slug: champion_deal_role
options: ["Technical Champion", "Business Champion", "Executive Sponsor", "Internal Coach"]
colors: ["blue", "green", "purple", "yellow"]
2. Create Champion Attributes on Deals
Using the same fundamental, create on the Deals object:
1. Champion Count (number)
api_slug: champion_count
description: "Number of active champions in this deal"
2. Champion Health (select)
api_slug: champion_health
options: ["Strong", "Healthy", "At Risk", "No Champion"]
colors: ["green", "blue", "orange", "red"]
3. Primary Champion (person_reference)
api_slug: primary_champion
description: "Link to the primary champion contact"
4. Champion Win Correlation (checkbox)
api_slug: champion_win_correlation
description: "True if deal had active champion at close"
3. Create Champion Lists
Using the attio-lists fundamental, create three dynamic lists:
Champion Candidates:
POST https://api.attio.com/v2/lists
{
"data": {
"name": "Champion Candidates",
"object": "people",
"filter": {
"champion_status": {"eq": "Candidate"}
},
"sorts": [{"attribute": "champion_score", "direction": "desc"}]
}
}
Active Champions:
{
"data": {
"name": "Active Champions",
"object": "people",
"filter": {
"champion_status": {"eq": "Active"}
}
}
}
At-Risk Champions (last engaged >14 days ago):
{
"data": {
"name": "At-Risk Champions",
"object": "people",
"filter": {
"and": [
{"champion_status": {"eq": "Active"}},
{"champion_last_engaged": {"lt": "{{14_days_ago}}"}}
]
}
}
}
4. Set Up Champion Automations
Using the attio-automation fundamental, create two automations:
Auto-update deal champion health:
- Trigger: When
champion_last_engagedon any linked Person changes - Condition: Person has
champion_status= "Active" - Action: If
champion_last_engaged> 14 days ago, set the linked Deal'schampion_healthto "At Risk" - Action: If
champion_last_engaged<= 7 days, set the linked Deal'schampion_healthto "Strong" - Action: Otherwise, set to "Healthy"
Auto-count champions per deal:
- Trigger: When
champion_statuson any Person linked to a Deal changes - Action: Count People linked to this Deal where
champion_status= "Active". Write count to Deal'schampion_count. - Action: If count = 0, set Deal's
champion_healthto "No Champion"
5. Via Attio MCP Server
attio.create_attribute({
object: "people",
title: "Champion Status",
api_slug: "champion_status",
type: "select",
config: {
options: [
{title: "Candidate", color: "blue"},
{title: "Recruited", color: "yellow"},
{title: "Active", color: "green"},
{title: "Disengaged", color: "orange"},
{title: "Lost", color: "red"}
]
}
})
attio.update_record({
object: "people",
record_id: "...",
values: {
champion_status: "Active",
champion_score: 85,
champion_last_engaged: "2026-03-30"
}
})
Error Handling
409 CONFLICT: Attribute already exists. UseGET /v2/objects/{object}/attributesto check, then skip creation.422 UNPROCESSABLE_ENTITY: Invalid option in select field. Verify option titles match exactly.403 FORBIDDEN: Requires workspace admin role for attribute creation.
Alternatives
| Tool | Method | Notes | |------|--------|-------| | Attio | REST API / MCP | Native custom attributes and automations | | HubSpot | Properties API + Workflows | Custom properties + automation workflows | | Salesforce | Custom Fields + Process Builder | Most mature, most complex setup | | Pipedrive | Custom Fields API | Simple field CRUD, limited automation | | Clarify | Schema API + Triggers | Flexible object model |