Configuration Guide
Complete reference for all configuration optionsThis guide provides a comprehensive reference for all configuration options available in the Airtable Lead Enricher. Use this to customize the actor's behavior for your specific needs.
Processing Modes
Choose how to run the enricher. Each mode has different requirements.
| Mode | Description | Airtable Config? | Required Fields |
|---|---|---|---|
batch |
Read from Airtable view/filter, enrich, write back | ✅ Yes | airtable.apiKey, airtable.baseId, airtable.tableId, airtable.inputFields |
single |
Enrich specific Airtable records by ID | ✅ Yes | Same as batch + recordIds array |
api |
Standalone mode - no Airtable needed | ❌ No | Only companies array |
Example Configs by Mode
Batch Mode
{
"mode": "batch",
"airtable": {
"apiKey": "patXXXX",
"baseId": "appXXXX",
"tableId": "tblXXXX",
"inputFields": {"companyName": "Company Name"}
}
}
Single Mode
{
"mode": "single",
"recordIds": ["recABC123", "recXYZ789"],
"airtable": {
"apiKey": "patXXXX",
"baseId": "appXXXX",
"tableId": "tblXXXX",
"inputFields": {"companyName": "Company Name"}
}
}
API Mode (No Airtable)
{
"mode": "api",
"companies": [
{"companyName": "Acme Corp", "website": "https://acme.example"}
]
}
companies array instead.
Airtable Configuration
Required for: batch and single modes only. Not needed for api mode.
airtable.apiKey REQUIRED (batch/single)
Personal Access Token for Airtable authentication.
Format: Starts with pat (e.g., patKeHwfnyPGvDBqR.256fce...)
Get it: airtable.com/create/tokens
Scopes needed: data.records:read, data.records:write
airtable.baseId REQUIRED (batch/single)
Your Airtable base identifier.
Format: Starts with app (e.g., appPrgvMR47ajmY5w)
Get it: From URL https://airtable.com/appXXXXXX/...
airtable.tableId REQUIRED (batch/single)
Table identifier within the base.
Format: Starts with tbl (e.g., tblez6ty6e5hJCfoe)
Get it: Click ... on table → "Copy table ID"
airtable.viewId OPTIONAL
Filter to specific view.
Format: Starts with viw
airtable.filterFormula OPTIONAL
Airtable formula to filter records.
Examples:
// Only unenriched records
"NOT({enrichedAt})"
// Specific status
"AND(NOT({enrichedAt}), {Status} = 'New')"
// High-value leads
"AND(NOT({enrichedAt}), {Annual Revenue} > 1000000)"
airtable.maxRecords OPTIONAL
Max records per run. Range: 1-100. Default: 100.
airtable.inputFields REQUIRED (batch/single)
Maps internal field names to your Airtable columns.
| Internal | Your Column | Required |
|---|---|---|
companyName |
Your company name field | ✅ Yes |
website |
Your website field | ✅ Yes |
location |
Your location field | ❌ No |
{
"inputFields": {
"companyName": "Company Name",
"website": "Website",
"location": "HQ City"
}
}
"Email" ≠ "email"
airtable.outputFields OPTIONAL
Maps internal output fields to your Airtable columns.
| Internal | Description |
|---|---|
email | Contact email |
phone | Phone number |
address | Business address |
category | Business type (Google Maps) |
rating | Google rating (0-5) |
reviewCount | Number of reviews |
description | Company description |
techStack | Technologies used |
industry | Tech-specific industry |
foundingYear | Company founding year |
employeeCount | Employee count/range |
companyStage | Company maturity stage |
linkedinUrl | LinkedIn URL (Hunter) |
leadScore | Overall lead quality (Excellent, Good, Fair, Poor, Bad) |
icpScore | ICP match quality (Excellent, Good, Fair, Poor, Bad) |
summary | AI company summary |
targetCustomers | Who they serve (AI with ICP) |
valueProposition | Core value (AI with ICP) |
keyProducts | Key offerings (AI with ICP) |
outreachAngles | Sales talking points (AI with ICP) |
airtable.updateMode OPTIONAL
| Mode | Behavior |
|---|---|
append |
Only fill empty fields (default) |
overwrite |
Replace all fields |
skip |
Skip if any field has data |
Enrichment Configuration
enrichment.sources
Array of sources to use.
| Source | Data | API Key |
|---|---|---|
google_maps |
phone, address, rating, category | ❌ No |
website |
email, description, techStack, industry, foundingYear, employeeCount, companyStage | ❌ No |
hunter |
email (verified), social profiles | ✅ Yes |
Default: ["google_maps", "website"]
enrichment.concurrency
Parallel records. Range: 1-20. Default: 10.
enrichment.timeout
Seconds per enricher. Default: 60.
enrichment.hunter
Hunter.io configuration (BYOK).
{
"hunter": {
"enabled": true,
"apiKey": "YOUR_HUNTER_KEY"
}
}
LLM Configuration
llm.enabled
Enable AI features. Default: true.
llm.provider
| Provider | Default Model | Cost/Lead |
|---|---|---|
openai |
gpt-4o-mini | ~$0.001 |
anthropic |
claude-3-5-haiku | ~$0.001 |
bedrock |
claude-haiku-4-5 | ~$0.0004 |
llm.apiKey REQUIRED
Your LLM API key.
- OpenAI: Starts with
sk-proj-orsk- - Anthropic: Starts with
sk-ant- - AWS Bedrock (New!): Bedrock API key - Generate in Bedrock Console → API keys
- AWS Bedrock (Legacy): Can still use
awsAccessKeyId+awsSecretAccessKeyinstead ofapiKey
llm.model OPTIONAL
Override default model.
Correct:
us.anthropic.claude-haiku-4-5-20251001-v1:0
Wrong:
anthropic.claude-haiku-4-5-20251001-v1:0 (missing region prefix)
| Model | Inference Profile ID (us-east-1) |
|---|---|
| Claude Haiku 4.5 | us.anthropic.claude-haiku-4-5-20251001-v1:0 |
| Claude Sonnet 4.5 | us.anthropic.claude-sonnet-4-5-20250929-v1:0 |
| Claude Opus 4.5 | us.anthropic.claude-opus-4-5-20251101-v1:0 |
llm.maxTokens
Max response tokens. Default: 1000.
llm.temperature
Creativity 0-1. Default: 0.3 (factual).
Scoring Configuration
scoring.enabled
Enable lead scoring. Default: true.
scoring.icpCriteria
Your Ideal Customer Profile description.
{
"icpCriteria": "B2B SaaS companies, 50-500 employees, uses React/Angular, US-based"
}
💡 Bonus: When ICP criteria is provided, the AI generates personalized outreachAngles - 3-4 sales talking points tailored to each lead's characteristics and your ICP requirements.
scoring.weights
Custom scoring weights (must sum to 100).
{
"weights": {
"hasEmail": 20,
"hasPhone": 15,
"socialPresence": 15,
"reviewScore": 10,
"icpMatch": 40
}
}
scoring.minimumConfidence
Min data quality for scoring. Range: 0-1. Default: 0.3.
Processing Modes
| Mode | Use Case |
|---|---|
batch |
Process from Airtable view/filter |
single |
Process specific recordIds |
api |
No Airtable, JSON input |
Documentation • Configuration • Extension Guide • API Integrations