Go-to-Market AI Agent Resources

Resource Page Link

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

1. Create AI Skill - Rate and Prioritize Leads

Objective:

We need to create an AI skill that can rate and prioritize the leads in the enriched and consolidated dataset.

Steps:

  1. 1. Navigate to the Demo Agents > GTM > Prompts folder
  2. 2. Create a new AI Skill. Call it RateAndPrioritizeLeads
  3. 3. In the skill, select the AISkills-4.1 model connection
  4. 4. Set the system prompt to the following:
    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 (")
  5. 5. Set the user prompt to the following:
    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!
    
    
  6. 6. Click out of the User Prompt field and you'll see sEnrichedData is added to the right pane. Click on the edit icon next to it and set the value to:
    [
      {
        "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"
        }
      }
    ]
  7. 7. (Optional) If you've installed the Bot Agent, press the Get Response button at the bottom of the page
  8. 8. Then press Save and then press Close

2. Create API Task - Rate and Prioritize Leads Tool

Objective:

We now need to put our AI Skill into an API Task so our Agent can use it as a tool.

Steps:

  1. 1. Navigate to the Demo Agents > GTM > Tools folder
  2. 2. Create a new API Task. Call it RateAndPrioritizeLeads and give it a description of:
    Rates and prioritizes the consolidated + enriched data so it can be entered into the CRM
  3. 3. In the API Task, go to Actions and drag over AI Skill > Execute
  4. 4. Select the AI Skill and press the Choose button on the right hand panel to navigate to the AI Skill you created in the previous step (RateAndPrioritizeLeads)
  5. 5. Click the Quick Map button (which is two arrows going in opposite directions) and press Apply. You should see sEnrichedData appear as an input value
  6. 6. Press the (x)+ button next to Save the response to a variable and name this variable sPrioritizedData and give it a description of:
    The leads after they've been rated and prioritized by the LLM, in JSON format
    Also check the Use as output box and press Create & select
  7. 7. Now go to Variables on the left hand panel and edit the sEnrichedData variable to have a description of:
    The enriched leads data made up of the consolidated lead data (sConsolidatedData), company enrichment data (sCompanyData) and person enrichment data (sPersonData), in JSON
    Ensure that Use as input is checked then press Apply
  8. 8. Save the API Task and then press Close

3. Update the AI Agent

Objective:

Now we've created the API Task / Tool, we need to add it to the AI Agent and update the prompt.

Steps:

  1. 1. Navigate back to the Demo Agents > GTM folder
  2. 2. Click the GTM Agent AI Agent to open it up
  3. 3. Click on Tools on the top menu
  4. 4. Click on Add tool and select API Task.
  5. 5. Click on Choose on the right hand panel and navigate to the Tools folder, selecting our newly created API Task called RateAndPrioritizeLeads then press Save
  6. 6. Now click on Prompt on the top menu
  7. 7. To tell the AI Agent about our new prompt click on Generate and paste this in to the prompt area:
    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.
                    
    Then press Generate and Confirm
  8. 8. Finally, Save the AI Agent

4. Run the AI Agent

Objective:

We've updated the AI Agent with our new tool. Now it's time to test it.

Steps:

  1. 1. Open up the CRM page, here
  2. 2. On the CRM page, copy the UUID by pressing the Copy to Clipboard button
  3. 3. Go back to the AI Agent and press the Run button
  4. 4. In the Provide test input popup, paste in the UUID you copied from the CRM page earlier
  5. 5. Press Submit to run the AI Agent
  6. 6. The data will appear automatically without needing to refresh the CRM page