List of Agents
Agents are tools that automatically research and enrich data about companies and people. Each agent does one specific job β and you can chain them together to build a full picture.
Agents are tools that automatically research and enrich data about companies and people. Each agent does one specific job β and you can chain them together to build a full picture.
π Before You Start β How Agents Work
Inputs are flexible. Every agent has at least one field marked β β thatβs the only one you must provide. Everything else is optional, but the more you fill in, the more complete and accurate your results will be.
Agents work together. Many agents produce outputs that become the inputs of another agent. For example: find a companyβs website first, then use that website to pull contacts, then use those contact names to find their emails. The chain examples below each agent show you exactly how to do this.
π’ Firmographics
What kind of company is it? How big? Who owns it?
B2B or B2C β classify_b2b_b2c
Looks at a companyβs website and tells you whether they sell to businesses (B2B), consumers (B2C), or both.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
model_type | B2B, B2C, BOTH, or blank |
errors | Any issues that came up |
π Chain it: Run find_business_website first if you donβt have the URL. Feed the result into icp_formula_builder to score companies by go-to-market type.
Industry β classify_industry
Labels a company with an industry (e.g.Β βHealthcareβ) or a more specific sub-industry (e.g.Β βOutpatient Clinicsβ).
Input | Required | Description |
|---|---|---|
company | β | Company name |
website | β | Website URL |
address | β | City or state |
mode | β |
|
llm | β | AI model to use |
Output | What you get |
|---|---|
classification | Industry or sub-industry label |
errors | Any issues that came up |
π Chain it: Use find_business_website to get the URL first for better accuracy. Feed the label into icp_formula_builder as a scoring criterion.
Technician Count β count_technicians
Estimates how many technicians work at a company β useful for sizing field-service or trade businesses.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
company | β | Company name |
llm | β | AI model to use |
Output | What you get |
|---|---|
technicians_count | Estimated number of technicians |
source | Where the number came from |
errors | Any issues that came up |
π Chain it: Use this output as a signal in icp_formula_builder to weight companies that have larger field teams.
Company Profile β enrich_company_firmographics
Pulls a full company profile from a single website URL β employees, revenue, founding year, HQ, tech stack, and more.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
Output | What you get |
|---|---|
company_name | Company name |
industry | Industry label |
description | Short company description |
employees_count | Total employee count |
size_range | Company size bucket (e.g.Β 50β200) |
revenue_annual | Annual revenue in USD |
revenue_annual_display | Formatted revenue (e.g.Β $1.2M) |
revenue_annual_range | Revenue range |
founded_year | Year the company was founded |
company_type | e.g.Β Private, Non-Profit |
ownership_status | e.g.Β Privately Held, PE-Backed |
hq_location | Headquarters location |
hq_country | HQ country |
linkedin_url | Company LinkedIn page |
website | Confirmed website URL |
is_b2b | True if B2B |
is_public | True if publicly traded |
technologies_used | List of tools/tech detected |
num_technologies_used | Count of technologies |
raw | Full 170+ field data profile |
errors | Any issues that came up |
π Chain it: Use find_business_website to get the URL first. Feed company_name, industry, employees_count, and revenue_annual into icp_score to grade a company against your ICP formula.
Location Count β find_business_location_count
Counts how many physical locations a company operates and lists where they are.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
location_count | Estimated number of locations |
locations | List of location details |
source_urls | Pages used to find the info |
errors | Any issues that came up |
π Chain it: Use find_business_website first. Use this count as a field in icp_formula_builder to favor multi-location businesses.
Parent Company or PE Firm β find_parent_company_pe
Looks up who owns a company β either its parent brand or the private equity firm behind it.
Input | Required | Description |
|---|---|---|
company | β | Company name |
website | β | Website URL |
mode | β |
|
llm | β | AI model to use |
max_iterations | β | How many research steps to take (max 15) |
Output | What you get |
|---|---|
result | Name of parent company or PE firm |
errors | Any issues that came up |
π Chain it: Once you have the parent company name, run enrich_company_firmographics on the parent to understand the full ownership picture.
Primary Market β find_primary_market
Tells you whether a company mainly serves residential, commercial, or industrial customers β based on their website.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
market | Residential, Commercial, Industrial, or a combination |
confidence | How confident the result is (0β100) |
reasoning | Why it landed on that label |
errors | Any issues that came up |
π Chain it: Use this output to segment your list before running icp_score.
Franchise Status β get_franchise_status
Tells you if a business is a franchise location, a corporate-owned store, or an independent β with a confidence score and reasoning.
Input | Required | Description |
|---|---|---|
company_name | β | Company name |
website | β | Website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
status | Franchise, Corporate-Owned, or Independent |
confidence | Confidence score (0β100) |
reasoning | Why it got that label |
parent_company | Parent brand if itβs a franchise |
errors | Any issues that came up |
π Chain it: If parent_company is returned, run find_parent_company_pe to understand ownership. If itβs a franchise, use find_franchise_contacts to find the local decision-maker.
π Online Presence
What does their digital footprint look like?
Clean URL β clean_website_url
Takes a messy or inconsistent URL and returns a clean, standardized version you can safely store or use downstream.
Input | Required | Description |
|---|---|---|
url | β | Any URL (messy or clean) |
mode | β |
|
Output | What you get |
|---|---|
result_url | Clean URL or domain |
is_social | True if the URL is a social media profile |
errors | Any issues that came up |
π Chain it: Always run this first before passing a URL into any other agent to avoid errors from inconsistent formatting.
Website Modernity β detect_website_modernity
Checks if a companyβs website looks modern or outdated based on how itβs built.
Input | Required | Description |
|---|---|---|
website | β | Company website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
website_modernity | Modern or Old |
reasoning | What signals were used to decide |
errors | Any issues that came up |
π Chain it: Use find_business_website to get the URL first. Combine with tech_stack_scan for a full digital health picture.
Google Business Profile β find_business_on_google
Finds a companyβs official Google Maps listing and returns their address, phone, rating, review count, and coordinates.
Input | Required | Description |
|---|---|---|
company_name | β | Company name |
address | β | Street address |
city | β | City |
state | β | State |
country | β | Country |
latitude | β | GPS latitude |
longitude | β | GPS longitude |
llm | β | AI model to use |
Output | What you get |
|---|---|
place_id | Google Maps place ID |
title | Business name on Google |
address | Full formatted address |
phone | Phone number |
website | Website URL |
rating | Star rating |
reviews | Number of reviews |
gps_coordinates | Lat/lng location |
confidence | Match confidence (0β100) |
errors | Any issues that came up |
π Chain it: Feed website into tech_stack_scan or enrich_company_firmographics. Feed address into classify_location_type. Feed google_maps_url into enrich_google_reviews.
Find Website β find_business_website
Finds a companyβs official website from just their name and optional location.
Input | Required | Description |
|---|---|---|
company_name | β | Company name |
address | β | Street address |
city | β | City |
state | β | State |
llm | β | AI model to use |
Output | What you get |
|---|---|
website | Discovered website URL |
source | Where the URL was found |
confidence | Confidence score (0β100) |
errors | Any issues that came up |
π Chain it: This is the starting point for most workflows. Feed website into enrich_company_firmographics, contact_extractor, tech_stack_scan, find_company_social_urls, and more.
Social Profiles β find_company_social_urls
Finds a companyβs official Facebook, Instagram, LinkedIn, and Yelp profiles.
Input | Required | Description |
|---|---|---|
company | β | Company name |
website | β | Website URL |
address | β | Company address (helps verify the right profile) |
max_iterations | β | How many search steps to take (max 25) |
llm | β | AI model to use |
Output | What you get |
|---|---|
facebook_url | Facebook profile URL |
facebook_confidence | Confidence in the Facebook match |
instagram_url | Instagram profile URL |
instagram_confidence | Confidence in the Instagram match |
linkedin_url | LinkedIn profile URL |
linkedin_confidence | Confidence in the LinkedIn match |
yelp_url | Yelp business URL |
yelp_confidence | Confidence in the Yelp match |
errors | Any issues that came up |
π Chain it: Run find_business_website first to get the URL. Use the linkedin_url to cross-reference employees found via contact_extractor.
Tech Stack β tech_stack_scan
Scans a companyβs website and tells you what software and technology theyβre running β CMS, payments, analytics, POS, and more.
Input | Required | Description |
|---|---|---|
url | β | Website URL |
company_name | β | Company name |
categories | β | Specific tech categories to check (e.g.Β CMS, payments) |
techs | β | Specific technologies to look for |
enable_online_research | β | Turn on additional web research |
crawl_limit | β | Max number of pages to crawl |
llm | β | AI model to use |
Output | What you get |
|---|---|
profile | Full tech profile by category |
errors | Any issues that came up |
π Chain it: Use find_business_website first. Combine with detect_website_modernity for a complete digital presence snapshot.
Website Status β website_active_inactive
Checks if a URL is a real, live website or a parked domain, placeholder, or dead page.
Input | Required | Description |
|---|---|---|
url | β | Website URL |
llm | β | AI model to use |
Output | What you get |
|---|---|
overall_category | Active or Inactive |
inactive_reason | Why itβs inactive (e.g.Β parked, for sale) |
reasoning | Supporting explanation |
errors | Any issues that came up |
π Chain it: Run this before investing in any enrichment on a new URL to avoid wasting agent runs on dead sites.
π€ Contacts
Who are the real people behind the business?
Website Contacts β contact_extractor
Scrapes a company website and pulls the names, titles, emails, and phones of people listed there β up to 10 contacts.
Input | Required | Description |
|---|---|---|
url | β | Website URL |
max_pages | β | How many pages to scrape (default 25, max 100) |
target_roles | β | Filter by job title (e.g.Β CEO, VP Sales) |
Output | What you get |
|---|---|
full_name_1 β¦ full_name_10 | Full names of up to 10 contacts |
title_1 β¦ title_10 | Job title for each person |
email_1 β¦ email_10 | Email for each person |
phone_1 β¦ phone_10 | Phone for each person |
contacts_count | Total contacts found |
pages_scraped | Pages that were scanned |
errors | Any issues that came up |
π Chain it: Use find_business_website first. Take any name + company and run find_email_waterfall or find_phone_waterfall for contacts that are missing emails or phones.
Company Email, Phone & Address β find_company_email_phone_address
Pulls the general contact info for a company (not a specific person) directly from their website.
Input | Required | Description |
|---|---|---|
company | β | Company name |
website | β | Website URL |
max_iterations | β | How deep to search (default 5, max 10) |
llm | β | AI model to use |
Output | What you get |
|---|---|
General company email | |
phone | Main phone number |
address | Physical mailing address |
source | Which pages the data came from |
errors | Any issues that came up |
π Chain it: Feed phone into phone_intel to validate it before dialing. Feed address into classify_location_type to see if itβs a home office, commercial space, or warehouse.
Find Email β find_email_waterfall
Finds the best work email for a specific person by trying multiple lookup sources in order, stopping at the first hit. Optionally validates deliverability.
Input | Required | Description |
|---|---|---|
first_name | β | First name (or use full_name) |
last_name | β | Last name |
full_name | β | Full name |
company_name | β | Company name |
company_domain | β | Company domain (e.g.Β acme.com) |
contact_linkedin_url | β | The personβs LinkedIn URL |
should_validate | β | Run email validation? (default: yes) |
validator | β |
|
provider_order | β | Custom lookup order |
Output | What you get |
|---|---|
Best email found | |
validated | Whether it passed validation |
validator_used | Which validator ran |
winning_tool | Which lookup source found it |
attempts_log | Full step-by-step trail |
cost_usd | Total lookup cost |
confidence | Confidence score (0β100) |
errors | Any issues that came up |
π Chain it: Use find_small_business_owner or contact_extractor to get a name first. Use find_person_linkedin to add their LinkedIn URL for better match accuracy.
Franchise Contacts β find_franchise_contacts
Finds up to 3 local contacts (name, title, email, phone) for a specific franchise location β not the corporate brand.
Input | Required | Description |
|---|---|---|
brand_name | β | The franchise brand (e.g.Β Jiffy Lube) |
entity_name | β | The specific location or entity name |
location | β | City and state |
llm | β | AI model to use |
Output | What you get |
|---|---|
full_name_1 β¦ full_name_3 | Names of up to 3 contacts |
title_1 β¦ title_3 | Title for each person |
email_1 β¦ email_3 | Email for each person |
phone_1 β¦ phone_3 | Phone for each person |
errors | Any issues that came up |
π Chain it: Run get_franchise_status first to confirm itβs a franchise and get the brand name. Then take returned names into find_email_waterfall or find_phone_waterfall for contacts with missing details.
Home Address β find_person_home_address
Runs a skip-trace lookup using a phone or email to find someoneβs current residential address, including previous addresses and match confidence.
Input | Required | Description |
|---|---|---|
phone | β (or email) | Phone number |
full_name | β | Personβs full name |
β | Email address | |
state | β | US state to narrow results |
Output | What you get |
|---|---|
current_address | Current home address |
matched_name | Name on the matched record |
confidence | Confidence score (0β100) |
match_score | Record match quality |
name_matched | Whether the name aligned |
matched_emails | Other emails on the record |
matched_phones | Other phones on the record |
previous_addresses | Prior addresses |
person_link | Link to the source record |
errors | Any issues that came up |
π Chain it: Use find_phone_waterfall or find_email_waterfall first to get the phone/email. Feed current_address into classify_location_type to see what type of location it is.
LinkedIn Profile β find_person_linkedin
Finds someoneβs LinkedIn profile URL using their name and optional company context.
Input | Required | Description |
|---|---|---|
name | β | Full name |
company | β | Company name |
website | β | Company website URL |
max_iterations | β | Search depth (max 15) |
llm | β | AI model to use |
Output | What you get |
|---|---|
linkedin_url | LinkedIn profile URL (/in/β¦) |
errors | Any issues that came up |
π Chain it: Feed linkedin_url into find_email_waterfall or find_phone_waterfall to improve match accuracy. Often used after find_small_business_owner or contact_extractor.
Find Phone β find_phone_waterfall
Finds the best phone number for a specific person by trying multiple lookup sources in order, stopping at the first hit.
Input | Required | Description |
|---|---|---|
first_name | β | First name (or use full_name) |
last_name | β | Last name |
full_name | β | Full name |
company_name | β | Company name |
company_domain | β | Company domain |
contact_linkedin_url | β | The personβs LinkedIn URL |
provider_order | β | Custom lookup order |
Output | What you get |
|---|---|
phone | Phone number found |
winning_tool | Which lookup source found it |
attempts_log | Full step-by-step trail |
cost_usd | Total lookup cost |
confidence | Confidence score (0β100) |
errors | Any issues that came up |
π Chain it: Run after find_small_business_owner or contact_extractor. Feed the returned phone into phone_intel to validate it before reaching out.
Small Business Owner β find_small_business_owner
Identifies the owner or key decision-maker at a small or local business by name, title, and LinkedIn profile.
Input | Required | Description |
|---|---|---|
company_name | β | Company name |
website | β | Company website |
address | β | Business address or city/state |
max_iterations | β | Search depth (max 15) |
llm | β | AI model to use |
Output | What you get |
|---|---|
full_name | Ownerβs full name |
first_name | First name |
last_name | Last name |
title | Their title (e.g.Β Owner, CEO, Founder) |
linkedin_url | Their LinkedIn profile URL |
confidence | Confidence score (0β100) |
source | Where the info came from |
errors | Any issues that came up |
π Chain it: This is a key starting point for SMB outreach. After finding the owner, run find_email_waterfall with full_name + company_domain for their email, and find_phone_waterfall for their phone. Add linkedin_url to either for better accuracy.
β Data Quality
Is this data valid, real, and worth acting on?
Location Type β classify_location_type
Takes a physical address and tells you what type of property it is β residential, commercial, or industrial β using satellite imagery and AI.
Input | Required | Description |
|---|---|---|
address | β | Full street address |
llm | β | AI model to use |
Output | What you get |
|---|---|
location_type | Residential, Commercial, Industrial/Warehouse, or N/A |
image_link | Google Maps link to the location |
errors | Any issues that came up |
π Chain it: Use addresses returned from enrich_company_firmographics, find_business_on_google, or find_person_home_address.
IP Geolocation β enrich_ip_address
Looks up an IP address and returns the city, region, country, postal code, and organization it belongs to.
Input | Required | Description |
|---|---|---|
ip | β | IP address to look up |
Output | What you get |
|---|---|
city | City tied to the IP |
state | State or region |
country | Country |
postal | Postal code |
coordinates | Lat/lng location |
hostname | Resolved hostname |
org | Organization or ISP |
errors | Any issues that came up |
Phone Validation β phone_intel
Tells you whether to call or skip a phone number, based on carrier data, line type, and optional DNC/TCPA screening.
Input | Required | Description |
|---|---|---|
phone | β | Phone number (any format) |
person_name | β | Personβs name |
company_name | β | Company name |
skip_dnc | β | Skip the DNC check |
Output | What you get |
|---|---|
recommendation | CALL or SKIP |
confidence | Confidence score (0β100) |
primary_reason | One-line explanation |
phone | Normalized phone number |
trestle | Trestle carrier data |
rpv | RPV enrichment data |
searchbug | DNC/TCPA screening data |
verdict | Full verdict object |
errors | Any issues that came up |
π Chain it: Always run after find_phone_waterfall or find_small_business_owner before dialing. Use validate_biz_phone instead if you just need a quick line-type check without the full CALL/SKIP analysis.
Business Phone Validation β validate_biz_phone
A lightweight phone check: cleans the number to a standard format and guesses whether it reaches a decision-maker or a gatekeeper.
Input | Required | Description |
|---|---|---|
phone | β | Business phone number (any format) |
Output | What you get |
|---|---|
output | Cleaned phone in standard format |
status | Likely Decision-Maker or Likely Gatekeeper |
errors | Any issues that came up |
π Chain it: Use after find_company_email_phone_address for a quick check. For a deeper analysis, use phone_intel instead.
π Market Intelligence
How is this business performing and what are they up to?
Ads Intelligence β enrich_ads_intelligence
Shows you whether a company is running ads on Google, Meta, or LinkedIn β and what those ads look like.
Input | Required | Description |
|---|---|---|
website | β | Company domain (e.g.Β acme.com) |
platforms | β | Limit to specific platforms: google, meta, or linkedin |
Output | What you get |
|---|---|
google_ads | Google ad data for the domain |
meta_ads | Meta ad data for the domain |
linkedin_ads | LinkedIn ad data for the domain |
errors | Any issues that came up |
π Chain it: Run after find_business_website to see if a company is spending on ads as a buying intent signal.
FMCSA Carrier β enrich_fmcsa
Pulls official carrier data from the FMCSA SAFER database for trucking and logistics companies β authority status, fleet size, cargo types, and more.
Input | Required | Description |
|---|---|---|
company_name | β (one of these) | Carrier name |
usdot_number | β (one of these) | USDOT number |
mc_number | β (one of these) | MC/MX number |
city | β | City |
state | β | State |
Output | What you get |
|---|---|
fmcsa_legal_name | Legal company name |
dba_name | Doing-business-as name |
usdot_status | USDOT status |
operating_authority_status | Operating authority status |
drivers | Driver count |
power_units | Number of trucks/units |
cargo_carried | What types of cargo they carry |
fmcsa_link | Direct link to their FMCSA record |
errors | Any issues that came up |
Google Reviews β enrich_google_reviews
Pulls reputation data from Google Maps β star rating, review volume, how often the business responds, and a sentiment analysis of recent reviews.
Input | Required | Description |
|---|---|---|
company_name | β (one of these) | Company name |
website | β (one of these) | Website URL |
address | β | Business address |
google_maps_url | β | Direct Google Maps link |
llm | β | AI model to use |
Output | What you get |
|---|---|
google_business_score | Star rating |
last_review_date | Most recent review date |
days_since_last_review | How long since the last review |
reviews_response | Does the business respond to reviews? |
reviews_response_rate | Response rate % |
reviews_last_1_month | Reviews in the past month |
reviews_last_3_months | Reviews in the past 3 months |
reviews_sentiment | Positive, Negative, or Neutral |
reviews_snippets | Sample review text |
errors | Any issues that came up |
π Chain it: Use find_business_on_google first to get google_maps_url for best accuracy. Combine with enrich_company_firmographics for a full company picture.
Hotel Details β enrich_hotel_hospitality
Pulls key facts about a hotel or venue: room count, event space, pricing range, and service tier.
Input | Required | Description |
|---|---|---|
company_name | β | Hotel or property name |
website | β | Hotel website URL |
address | β | Hotel address or city/state |
max_iterations | β | Research depth (max 20) |
llm | β | AI model to use |
Output | What you get |
|---|---|
num_rooms | Total room count |
num_event_spaces | Event/meeting spaces |
event_capacity_value | Capacity number (sq.ft or seats) |
lowest_price | Low end of nightly rate |
highest_price | High end of nightly rate |
avg_daily_rate | Average nightly rate |
service_type | Full Service / Select Service / Motel |
errors | Any issues that came up |
Club Membership β find_country_club_membership
Returns the types of memberships a country club or private club offers (e.g.Β Golf, Social, Tennis).
Input | Required | Description |
|---|---|---|
company | β | Club name |
website | β | Club website URL |
max_iterations | β | Research depth (max 20) |
llm | β | AI model to use |
Output | What you get |
|---|---|
membership_types | Comma-separated list of membership types |
errors | Any issues that came up |
Theatre Seating β find_theatre_seating_capacity
Returns the total seating capacity of a theatre or venue, with a source citation.
Input | Required | Description |
|---|---|---|
website | β | Theatre website URL |
llm | β | AI model to use |
max_iterations | β | Research depth (max 15) |
Output | What you get |
|---|---|
seating_capacity | Total seats |
source | Where the number was found |
errors | Any issues that came up |
Job Openings β job_openings
Checks how many open jobs a company has β including Indeed ratings, review counts, and a breakdown of roles matching your search titles.
Input | Required | Description |
|---|---|---|
company | β | Company name |
website | β | Website URL |
location | β | City and state |
titles_to_search | β | Specific job titles to look for |
llm | β | AI model to use |
max_iterations | β | Research depth (max 20) |
Output | What you get |
|---|---|
indeed_rating | Company rating on Indeed |
indeed_reviews | Review count |
indeed_jobs_count | Total job count on Indeed |
work_wellbeing_rating | Wellbeing score if available |
jobs | Matched roles by title |
total_count | Total openings found |
sources | Where the data came from |
errors | Any issues that came up |
π Chain it: Use with find_business_website to have a URL ready. Combine with enrich_company_firmographics to see if hiring activity correlates with company growth signals.
π― ICP Scoring
Does this company match your ideal customer profile?
ICP Formula Builder β icp_formula_builder
Takes a sample of your companies and builds a reusable scoring formula β either automatically from your data fields or from a plain English description of your ideal customer.
Input | Required | Description |
|---|---|---|
sample_companies | β | 20β1,000 company records from your list |
mode | β |
|
prompt | β | Plain English description of your ideal customer (for custom mode) |
formula | β | A pre-built formula structure (overrides prompt) |
available_fields | β | List of field names/types in your data |
llm | β | AI model to use |
Output | What you get |
|---|---|
formula | The scoring formula (save this for reuse) |
validation | Stats on how your data distributes across the formula |
missing_fields | Fields the formula needs that arenβt in your data |
enrichment_suggestions | Cosmos agents to run to fill in the gaps |
available_fields | Fields that were found in your data |
errors | Any issues that came up |
π Chain it: Enrich your sample companies with enrich_company_firmographics, classify_industry, and classify_b2b_b2c first. Then save the formula output and pass it into icp_score for every company you want to grade.
ICP Score β icp_score
Grades a single company against your ICP formula β returning an A/B/C/D letter grade, a numeric score, and a breakdown of every criterion.
Input | Required | Description |
|---|---|---|
company | β | A company data record (dict) |
formula | β | Your saved formula from |
Output | What you get |
|---|---|
overall_grade | A, B, C, D, or unscored |
composite_score | Numeric score (0β4) |
criteria_grades | Grade for each scoring criterion |
signals | Notes explaining the scoring |
errors | Any issues that came up |
π Chain it: Run icp_formula_builder once to create your formula. Then run icp_score on every company in your pipeline. More enriched company records = more accurate grades.
π€ AI Research
When you need a custom answer, not a structured data field.
OrbAI β orb_ai
A general-purpose research agent. Give it any question or instruction β it searches the web, reads pages, and returns a structured or plain-text answer.
Input | Required | Description |
|---|---|---|
input | β | Your question or research instruction |
model | β | AI model to use |
output_schema | β | JSON schema if you want a structured output |
max_iterations | β | How many research steps to take (max 20) |
Output | What you get |
|---|---|
output | Final answer (text or structured object) |
steps | Step-by-step trace of what the agent did |
reasoning | Optional explanation of the reasoning |
confidence | Optional confidence score |
source | Where the answer came from |
errors | Any issues that came up |
π Chain it: Use when no specific agent fits your question. Great for pulling custom fields that arenβt in any other agent β then feed results into icp_score.
Ask Orb β ask_orb
A quick one-question research agent. Ask it anything and get a short, sourced answer β perfect for table cells or quick lookups.
Input | Required | Description |
|---|---|---|
question | β | Your question |
Output | What you get |
|---|---|
verdict | Short answer: Yes/No/Unknown or a brief value |
detail | 1β2 sentences backing up the answer |
source | Where the answer came from |
errors | Any issues that came up |
π Chain it: Use after find_business_website or enrich_company_firmographics to answer follow-up questions about a company that arenβt covered by a dedicated agent.
π Common Workflows
These are the most common ways to chain agents together.
Find and qualify any company from just a name
find_business_website β enrich_company_firmographics β classify_industry β icp_score
Full SMB outreach chain
find_business_website β find_small_business_owner β find_person_linkedin β find_email_waterfall + find_phone_waterfall β phone_intel
Franchise location targeting
get_franchise_status β find_franchise_contacts β find_email_waterfall + find_phone_waterfall
Local business reputation check
find_business_on_google β enrich_google_reviews + classify_location_type
Build and apply an ICP scoring system
[batch enrich with enrich_company_firmographics + classify_industry + classify_b2b_b2c] β icp_formula_builder β icp_score
Verify contact before outreach
find_phone_waterfall β phone_intel β (if CALL) β reach out