Documentation Index
Fetch the complete documentation index at: https://docs.extruct.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This page collects fuller reusable column templates for AI Tables.
Column Guide covers how to choose and configure columns, including minimum working shapes. This page is the cookbook: copy a pattern, then adapt name, key, prompts, labels, and schemas to your workflow.
Prerequisites
export EXTRUCT_API_TOKEN="YOUR_API_TOKEN"
Generate tokens in Dashboard API Tokens. For full setup, see Authentication.
Endpoints used
How to use these templates
Wrap one or more template objects in column_configs, then send them to Create columns.
Wrapper example:
{
"column_configs": [
{
"kind": "agent",
"name": "Description",
"key": "company_description",
"value": {
"agent_type": "research_pro",
"prompt": "Describe what the company does in under 25 words.",
"output_format": "text"
}
}
]
}
Before you copy:
- on
company tables, built-in company fields are created automatically
- on
company and people tables, custom agent columns get baseline row context automatically
- most prompts on
company and people tables should not mention company_name, company_website, full_name, profile_url, or role explicitly
- if a template references another column, that dependency is intentional
When you add new columns to an existing table, usually run only the new work with mode: "new" afterward.
Company research templates
Description
{
"kind": "agent",
"name": "Description",
"key": "company_description",
"value": {
"agent_type": "research_pro",
"prompt": "Describe what the company does in under 25 words.",
"output_format": "text"
}
}
ICP Summary
{
"kind": "agent",
"name": "ICP Summary",
"key": "icp_summary",
"value": {
"agent_type": "research_pro",
"prompt": "Identify the company's ideal customer profile. Summarize the primary buyer, company type, and likely use case in 2-3 short bullet points.",
"output_format": "text"
}
}
Employee Count
{
"kind": "agent",
"name": "Employee Count",
"key": "employee_count",
"value": {
"agent_type": "research_pro",
"prompt": "How many employees does the company currently have?",
"output_format": "numeric"
}
}
Annual Revenue
{
"kind": "agent",
"name": "Annual Revenue",
"key": "annual_revenue",
"value": {
"agent_type": "research_pro",
"prompt": "What is the company's latest annual revenue or ARR? Prefer the most recent reliable figure and use revenue, not total funding.",
"output_format": "money"
}
}
Founded Date
{
"kind": "agent",
"name": "Founded Date",
"key": "founded_date",
"value": {
"agent_type": "research_pro",
"prompt": "When was the company founded?",
"output_format": "date"
}
}
Pricing Notes
{
"kind": "agent",
"name": "Pricing Notes",
"key": "pricing_notes",
"value": {
"agent_type": "research_pro",
"prompt": "Summarize the company's pricing model and publicly visible price points as a short bulleted list. Include plan names and prices when available.",
"output_format": "text"
}
}
Recent News
{
"kind": "agent",
"name": "Recent News",
"key": "recent_news",
"value": {
"agent_type": "research_pro",
"prompt": "List the company's most important news from the last 12 months, newest first. Include date, headline, and URL.",
"output_format": "json",
"output_schema": {
"type": "object",
"properties": {
"articles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": { "type": "string" },
"headline": { "type": "string" },
"url": { "type": "string" }
}
}
}
}
}
}
}
Competitors
{
"kind": "agent",
"name": "Competitors",
"key": "competitors",
"value": {
"agent_type": "research_pro",
"prompt": "Find the company's closest competitors and alternatives. Prefer companies that solve the same core problem for a similar buyer. Return one object with a competitors array. Each competitor should include name, domain, and short_reason. If you are not confident a company is a real competitor, leave it out.",
"output_format": "json",
"output_schema": {
"type": "object",
"properties": {
"competitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"domain": { "type": "string" },
"short_reason": { "type": "string" }
}
}
}
}
}
}
}
Expansion Signals
{
"kind": "agent",
"name": "Expansion Signals",
"key": "expansion_signals",
"value": {
"agent_type": "research_pro",
"prompt": "Identify and summarize the company's expansion signals using job postings, press releases, new office mentions, executive hires, and product launches. Focus on geographic, product, or market expansion. Return a short evidence-dense summary with dates when available.",
"output_format": "text"
}
}
URLs and LinkedIn templates
LinkedIn Company URL
{
"kind": "agent",
"name": "LinkedIn URL",
"key": "linkedin_company_url",
"value": {
"agent_type": "research_pro",
"prompt": "Find the company's official LinkedIn company page URL.",
"output_format": "url"
}
}
LinkedIn Company Data
Requires:
{
"kind": "agent",
"name": "LinkedIn Data",
"key": "linkedin_company_data",
"value": {
"agent_type": "linkedin",
"prompt": "{linkedin_company_url}",
"output_format": "text"
}
}
LinkedIn Activity Summary
Requires:
{
"kind": "agent",
"name": "LinkedIn Activity",
"key": "linkedin_activity_summary",
"value": {
"agent_type": "llm",
"prompt": "Summarize the recent LinkedIn activity as a bulleted list with names, dates, and links.\n\nLinkedIn Company Data\n---\n{linkedin_company_data}\n---",
"output_format": "text"
}
}
Careers Page URL
{
"kind": "agent",
"name": "Careers URL",
"key": "careers_page_url",
"value": {
"agent_type": "research_pro",
"prompt": "Find the company's official careers or jobs page URL.",
"output_format": "url"
}
}
Crunchbase URL
{
"kind": "agent",
"name": "Crunchbase URL",
"key": "crunchbase_url",
"value": {
"agent_type": "research_pro",
"prompt": "Find the company's Crunchbase profile URL.",
"output_format": "url"
}
}
Derived llm templates
Pricing Model
Requires:
{
"kind": "agent",
"name": "Pricing Model",
"key": "pricing_model",
"value": {
"agent_type": "llm",
"prompt": "Select the company's primary pricing model.\n\nPricing Notes\n---\n{pricing_notes}\n---",
"output_format": "select",
"labels": [
"Free",
"Freemium",
"Subscription",
"Usage-Based",
"Custom Quote",
"One-Time Purchase",
"Marketplace Take Rate"
]
}
}
HQ Country From Company Profile
Requires:
{
"kind": "agent",
"name": "HQ Country",
"key": "hq_country",
"value": {
"agent_type": "llm",
"prompt": "Extract the company's headquarters country from this company profile.\n\nCompany Profile\n---\n{company_profile}\n---",
"output_format": "text"
}
}
Revenue Band
Requires:
{
"kind": "agent",
"name": "Revenue Band",
"key": "revenue_band",
"value": {
"agent_type": "llm",
"prompt": "Classify the company's revenue into exactly one band based on this structured revenue data.\n\nAnnual Revenue\n---\n{annual_revenue}\n---",
"output_format": "select",
"labels": [
"<$1M",
"$1M-$10M",
"$10M-$50M",
"$50M-$100M",
"$100M-$500M",
"$500M+"
]
}
}
Buyer Type
Requires:
{
"kind": "agent",
"name": "Buyer Type",
"key": "buyer_type",
"value": {
"agent_type": "llm",
"prompt": "Select the company's primary buyer type.\n\nDescription\n---\n{company_description}\n---",
"output_format": "select",
"labels": [
"SMB",
"Mid-Market",
"Enterprise",
"Consumer",
"Developer",
"Public Sector",
"Healthcare Providers",
"Financial Institutions"
]
}
}
Prioritization JSON
Requires:
company_profile
expansion_signals
annual_revenue
recent_news
{
"kind": "agent",
"name": "Prioritization",
"key": "prioritization",
"value": {
"agent_type": "llm",
"prompt": "You are a go-to-market analyst. Score ICP fit and buying intent. Return ONLY valid JSON with: icp_fit_score, icp_fit_reasoning, buying_intent_score, buying_intent_reasoning, positive_signals, negative_signals, recommended_action, recommended_action_reasoning, outreach_hook.\n\nCompany Profile\n---\n{company_profile}\n---\n\nExpansion Signals\n---\n{expansion_signals}\n---\n\nAnnual Revenue\n---\n{annual_revenue}\n---\n\nRecent News\n---\n{recent_news}\n---",
"output_format": "json",
"output_schema": {
"type": "object",
"properties": {
"icp_fit_score": { "type": "number" },
"icp_fit_reasoning": { "type": "string" },
"buying_intent_score": { "type": "number" },
"buying_intent_reasoning": { "type": "string" },
"positive_signals": {
"type": "array",
"items": { "type": "string" }
},
"negative_signals": {
"type": "array",
"items": { "type": "string" }
},
"recommended_action": { "type": "string" },
"recommended_action_reasoning": { "type": "string" },
"outreach_hook": { "type": "string" }
}
}
}
}
If you want people-finder evidence in downstream scoring, first create a separate llm summary column from the people output, then reference that summary instead of the raw company_people_finder result.
Leadership Finder
{
"kind": "company_people_finder",
"name": "Leadership",
"key": "leadership",
"value": {
"roles": [
"CEO",
"Founder",
"operations leadership",
"revenue leadership"
]
}
}
Engineering Leadership Finder
{
"kind": "company_people_finder",
"name": "Engineering Leaders",
"key": "engineering_leaders",
"value": {
"roles": [
"Head of Engineering",
"VP Engineering",
"platform leadership",
"security leadership"
]
}
}
Decision Makers
{
"kind": "company_people_finder",
"name": "Decision Makers",
"key": "decision_makers",
"value": {
"roles": [
"VP Sales",
"sales leadership",
"revenue operations",
"business development leadership"
]
}
}
Work Email
Requires:
full_name
profile_url
company_website
Configured with kind, name, and key only. No value field is required.
{
"kind": "email_finder",
"name": "Work Email",
"key": "work_email"
}
Direct Phone
Requires:
full_name
profile_url
company_website
Configured with kind, name, and key only. No value field is required.
{
"kind": "phone_finder",
"name": "Direct Phone",
"key": "direct_phone"
}
Department
{
"kind": "agent",
"name": "Department",
"key": "department",
"value": {
"agent_type": "llm",
"prompt": "Classify this person into the most likely department based on their current role.",
"output_format": "select",
"labels": [
"Executive",
"Engineering",
"Product",
"Design",
"Sales",
"Marketing",
"Operations",
"Finance",
"HR",
"Legal",
"Customer Success",
"Other"
]
}
}
Seniority
{
"kind": "agent",
"name": "Seniority",
"key": "seniority",
"value": {
"agent_type": "llm",
"prompt": "Classify this person's seniority level based on their current role.",
"output_format": "select",
"labels": [
"C-Level",
"VP",
"Head",
"Director",
"Manager",
"Individual Contributor",
"Founder"
]
}
}
Reverse Email Lookup
{
"kind": "reverse_email_lookup",
"name": "Profile from Email",
"key": "profile_from_email",
"email_column_key": "work_email"
}
Scoring templates
All scoring examples below use the recommended pattern: agent + output_format: "grade".
Market Fit Score
{
"kind": "agent",
"name": "Market Fit",
"key": "market_fit",
"value": {
"agent_type": "research_reasoning",
"prompt": "Assess this statement about the company: The company fits a B2B fintech ICP. Use the default 1-5 grade scale. If there is not enough evidence to score confidently, return Not found.",
"output_format": "grade"
}
}
Execution Readiness Score
{
"kind": "agent",
"name": "Execution Readiness",
"key": "execution_readiness",
"value": {
"agent_type": "research_reasoning",
"prompt": "Assess this statement about the company: The company looks ready for near-term partnership or outreach. Use the default 1-5 grade scale. If there is not enough evidence to score confidently, return Not found.",
"output_format": "grade"
}
}
AI-Native Score
{
"kind": "agent",
"name": "AI Native",
"key": "is_ai_native",
"value": {
"agent_type": "research_pro",
"prompt": "Assess this statement about the company: The company is fundamentally AI-native rather than merely adding lightweight AI features. Use the default 1-5 grade scale. If there is not enough evidence to score confidently, return Not found.",
"output_format": "grade"
}
}
Enterprise Fit Score
{
"kind": "agent",
"name": "Enterprise Fit",
"key": "enterprise_fit",
"value": {
"agent_type": "research_pro",
"prompt": "Assess this statement about the company: The company clearly sells to enterprise customers. Use the default 1-5 grade scale. If there is not enough evidence to score confidently, return Not found.",
"output_format": "grade"
}
}
Competitive Axis Score
{
"kind": "agent",
"name": "SMB vs Enterprise",
"key": "axis_smb_enterprise",
"value": {
"agent_type": "research_reasoning",
"prompt": "Evaluate where this company sits on the spectrum from SMB to Enterprise. Consider pricing, sales model, product complexity, and customer size. Use this scale: 1 = pure SMB, 3 = mid-market, 5 = pure enterprise. If there is not enough evidence to score confidently, return Not found.",
"output_format": "grade"
}
}
Common chains
URL -> LinkedIn fetch -> summary
linkedin_company_url
linkedin_company_data
linkedin_activity_summary
Research -> classification
pricing_notes
pricing_model
company_people_finder
email_finder
phone_finder
For design guidance before copying templates, go back to Column Guide.