You can find the link to the CRM page where the AI Agent uploads prioritized leads:
https://pathfinder.automationanywhere.com/challenges/training/gtm-ai-agent/index.html
You can find the link to the CRM page where the AI Agent uploads prioritized leads:
https://pathfinder.automationanywhere.com/challenges/training/gtm-ai-agent/index.html
We need to create an AI skill that can rate and prioritize the leads in the enriched and consolidated dataset.
You are a lead prioritization specialist for a sales team.
Your task:
- Give attention to the user's ideal customer profile, their criteria and the business context
- Analyze the enriched company and person data, paying great attention
- Then classify each lead into exactly one category: HOT, WARM, COLD, or SKIP
- Using ONLY the dataset provided - never inventing information
- Include every lead in the output
Output format:
- Return only valid JSON: { "hot_leads": [...], "warm_leads": [], "cold_leads": [...], "skip_leads": [...] }
- Each lead must include: lead_id, name, company, title, priority, why, action
- No markdown, code blocks, or explanations-just the JSON
- Use only standard ASCII punctuation. No em-dashes, en-dashes, curly quotes, or special Unicode characters. Replace dashes with hyphens (-) and use straight quotes (")
Hey, I need your help sorting through these leads. Just got back from SaaS Summit and between the booth and our website forms, I've got a lot of data to prioritize in order to workout who to call first.
Here's the dataset to assess:
$sEnrichedData$
---
## Background on what I'm looking for
So my CRO just sent me this long email this morning about our ideal customer profile (ICP). Basically I need to follow this or I'll get my head bitten off:
Team,
As of today, we're targeting mid-sized technology companies that are growing fast and have real budget. Think 100-5,000 employees and somewhere between $$10M-$$500M in revenue.
Stay away from healthcare and government for now. You want to talk to VPs and above. They have budget authority and can make decisions. Directors are okay if the company is perfect, but anything below that and you're wasting time.
Green flags: Recent funding rounds, expansion plans, mentions of "we're hiring" or "opening new offices." That means they have money and momentum. Focus on hot leads first - those are your VP+ contacts at ideal companies. Hit them within 24 hours.
If you stand still, you lose!
CRO
---
## How I'm thinking about priority
I'm going to bucket these into four categories:
**HOT leads** - This is VP level or above at a company that fits our ICP perfectly. These people I need to call TODAY, like within 24 hours max. Tbh, even if they're not at an ideal company, if they're a VP and they're keen to buy then I'm gonna want to speak to them. So make them hot.
**WARM leads** - Maybe it's a Director and/or the company is a bit smaller than ideal, or there's some small concern but overall still worth pursuing. I'll call these within 3 days.
**COLD leads** - Might pan out eventually, or maybe they're too junior but at a great company so I could ask for an intro to their VP. These go into a nurture email campaign, I'll check back in a few months.
**SKIP leads** - Any red flags, competitors trying to snoop, obvious spam, wrong industry, financially struggling companies, whatever. I'm not calling these people, period. PAY attention to what the CRO says here too.
---
## Important context about the data
A few things to keep in mind:
- The enrichment data from our provider is always out of date - usually 3-6 months behind reality. Job roles may have changed in that time.
- The event notes are REALLY important. These are people who physically walked up to our booth at the conference and told our team what they're interested in. They went out of their way to talk to us. That's a strong signal. Put a lot of weight on what's in those notes. Even if they don't fit the ICP, if they want to buy I want to speak to them.
- Even if someone's not the perfect contact - like they're a Senior Engineer instead of a VP - if they're at an amazing company, they might be worth talking to anyway. They could give us an in-road to someone more senior, or at least point us in the right direction. Use your judgment on that.
---
## What I need from you
For each lead, I need to know:
1. **What priority bucket do they go in?** (HOT/WARM/COLD/SKIP)
2. **Why did you put them there?** Give me like 1-2 sentences explaining your reasoning
3. **What should I do?** Should I call them? Skip them? If it's a good company but wrong person, should I try to find their VP instead?
The IT guys told me to ask you to return your output like the JSON below in the exact format. This is because I'm going to import it directly into our CRM:
[The schema shown here is for reference only - use it to understand the structure, but do NOT include it in your output]
{
"$$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hot_leads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"lead_id": {
"type": "string",
"description": "Original lead ID from the dataset (e.g., EVT-2045, WEB-3012)"
},
"name": {
"type": "string",
"description": "Full name of the contact"
},
"company": {
"type": "string",
"description": "Company name"
},
"title": {
"type": "string",
"description": "Job title of the contact"
},
"priority": {
"type": "string",
"const": "HOT",
"description": "Priority level (always HOT for this array)"
},
"why": {
"type": "string",
"description": "1-2 sentence explanation for why this lead is HOT priority"
},
"action": {
"type": "string",
"description": "Specific recommended action to take with this lead"
}
},
"required": ["lead_id", "name", "company", "title", "priority", "why", "action"]
}
},
"warm_leads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"lead_id": { "type": "string" },
"name": { "type": "string" },
"company": { "type": "string" },
"title": { "type": "string" },
"priority": {
"type": "string",
"const": "WARM"
},
"why": { "type": "string" },
"action": { "type": "string" }
},
"required": ["lead_id", "name", "company", "title", "priority", "why", "action"]
}
},
"cold_leads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"lead_id": { "type": "string" },
"name": { "type": "string" },
"company": { "type": "string" },
"title": { "type": "string" },
"priority": {
"type": "string",
"const": "COLD"
},
"why": { "type": "string" },
"action": { "type": "string" }
},
"required": ["lead_id", "name", "company", "title", "priority", "why", "action"]
}
},
"skip_leads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"lead_id": { "type": "string" },
"name": { "type": "string" },
"company": { "type": "string" },
"title": { "type": "string" },
"priority": {
"type": "string",
"const": "SKIP"
},
"why": { "type": "string" },
"action": { "type": "string" }
},
"required": ["lead_id", "name", "company", "title", "priority", "why", "action"]
}
}
},
"required": ["hot_leads", "warm_leads", "cold_leads", "skip_leads"]
}
---
Thanks for the help!
[
{
"lead_id": "EVT-1001",
"source": ["event", "web_form"],
"name": "Danielle Johnson",
"email": "danielle.johnson@competitorone.com",
"company": "CompetitorOne",
"title": "Manager",
"notes": "Asked about pricing for 50+ users. Need help with implementation",
"company_data": {
"company_name": "CompetitorOne",
"employee_count": 374,
"revenue_range": "$10M-$50M",
"industry": "Technology",
"financial_health": "Stable",
"company_news": "IDENTIFIED AS DIRECT COMPETITOR",
"is_competitor": true
},
"person_data": {
"full_name": "Danielle Johnson",
"job_title": "Senior Vice President of Operations",
"seniority_level": "SVP",
"email": "danielle.johnson@competitorone.com"
}
},
{
"lead_id": "EVT-1002",
"source": ["event"],
"name": "Joshua Walker",
"email": "",
"company": "CloudNine Technologies",
"title": "Manager",
"notes": "Looking to switch vendors",
"company_data": {
"company_name": "CloudNine Technologies",
"employee_count": 1356,
"revenue_range": "$200M-$1B",
"industry": "SaaS",
"financial_health": "Stable",
"company_news": "Recently launched new product line. Receiving positive customer feedback and steady adoption."
},
"person_data": {
"full_name": "Joshua Walker",
"job_title": "Senior Developer",
"seniority_level": "Individual Contributor",
"email": "joshua.walker@cloudnine.tech"
}
},
{
"lead_id": "EVT-1005",
"source": ["event"],
"name": "Melanie Munoz",
"email": "melanie.munoz@megaretail.com",
"company": "MegaRetail Group",
"title": "Analyst",
"notes": "Interested in enterprise plan",
"company_data": {
"company_name": "MegaRetail Group",
"employee_count": 4108,
"revenue_range": "$200M-$1B",
"industry": "E-commerce",
"financial_health": "Stable",
"company_news": "Recently updated product offerings. Focus on customer retention and satisfaction."
},
"person_data": {
"full_name": "Melanie Munoz",
"job_title": "Chief Operating Officer",
"seniority_level": "C-Level",
"email": "melanie.munoz@megaretail.com"
}
}
]
We now need to put our AI Skill into an API Task so our Agent can use it as a tool.
Rates and prioritizes the consolidated + enriched data so it can be entered into the CRM
The leads after they've been rated and prioritized by the LLM, in JSON format
The enriched leads data made up of the consolidated lead data (sConsolidatedData), company enrichment data (sCompanyData) and person enrichment data (sPersonData), in JSON
Now we've created the API Task / Tool, we need to add it to the AI Agent and update the prompt.
Your job is to:
1) Use the tools to get the event and web form data
2) Consolidate the datasets, removing any duplicates
3) For each lead in the consolidated dataset:
- Get company data to enrich it
- Get person data to enrich it (search by email first, then name if needed)
4) Rate and prioritize the enriched consolidated dataset
5) Upload the final, prioritized dataset to the CRM for the Sales Rep to review
If a tool fails, execute it again.
We've updated the AI Agent with our new tool. Now it's time to test it.