Fuzzy Lookup
Matches items against a lookup table using fuzzy matching algorithms.
Overview
The Fuzzy Lookup node finds matching entries in a table using approximate matching. It supports three algorithms — semantic (AI-powered), trigram (character similarity), and exact — with optional AI post-processing for refined results.
Use it to:
- Match customer names against a master list
- Find products from a catalog with typos or abbreviations
- Reconcile data between two sources with inconsistent formatting
- Match addresses, company names, or any fuzzy text data
Parameters
| Parameter | Description | Required |
|---|---|---|
| Source Type | Lookup table source: Lido Table, Excel File, or Google Sheet | Yes |
| Table / File | The lookup table to match against | Yes |
| Field Mappings | Match rules with algorithm, input field, and lookup column | Yes |
| Score Combine Method | How to combine scores: Weighted Average, Max, or Min | Yes |
| Minimum Confidence | Confidence threshold (0-100, default 30) | Yes |
| Output Mode | Best Match, All Matches, or Top N | Yes |
| Split Matches as Items | Output each match as a separate workflow item | No |
| No Match Behavior | What to do when no match found: Output null, Skip, or Error | Yes |
| Additional Output Columns | Extra columns from the lookup table to include in output | No |
Source Types
| Source | Description |
|---|---|
| Lido Table | Use a table from the workflow's Lido spreadsheet |
| Excel File | Use an .xlsx or .xls file from cloud storage |
| Google Sheet | Use a Google Sheets spreadsheet |
Match Algorithms
Each field mapping uses one algorithm:
| Algorithm | Best For | Description |
|---|---|---|
| Semantic | Names, descriptions, meaning | AI-powered meaning-based matching. Supports multiple lookup columns combined. |
| Trigram | Typos, abbreviations | Character-level similarity (3-character sequences) |
| Exact | IDs, codes, strict values | Exact string matching with optional case sensitivity |
Field Mapping Options
Semantic: Select input expression + one or more lookup columns (joined with spaces for matching) + optional PCA settings + weight.
Trigram: Select input expression + single lookup column + weight.
Exact: Select input expression + single lookup column + case sensitivity + weight.
Scoring
When multiple field mappings are used, scores are combined using the Score Combine Method:
| Method | Description |
|---|---|
| Weighted Average | Average scores weighted by each field mapping's weight |
| Max | Use the highest score across all field mappings |
| Min | Use the lowest score across all field mappings |
AI Post-Processing (Optional)
| Parameter | Description |
|---|---|
| Enable AI Post-Processing | Turn on AI re-ranking of match results |
| Top N for AI | Number of candidate matches to send to AI (1-100) |
| AI Instructions | Natural language instructions for the AI re-ranker |
| AI Output Columns | Additional columns for the AI to generate |
Settings
| Setting | Description |
|---|---|
| Execution Mode | Once per item (default) or Once |
| Output Mode | How to output results when running once |
| Batch Size | Items to process concurrently (1-5, default 5) |
| Stop on Error | Stop workflow if a match operation fails |
Output
For each match found:
{
"lookupColumn1": "Acme Corporation",
"lookupColumn2": "New York",
"confidence": 85,
"additionalColumn": "value"
}
Access matched data in expressions:
- Confidence score:
{{$item.data.confidence}} - Lookup column value:
{{$item.data.companyName}}
With Split Matches as Items enabled, each match becomes a separate item.
With Output Mode "Top N", multiple matches are returned ranked by confidence.
Examples
Match Customer Names
Match incoming order names against a customer database:
[Get Table (orders)] → [Fuzzy Lookup (customer table, semantic)] → [Insert Rows]
- Source Type: Lido Table
- Add Semantic field mapping: input =
{{$item.data.customerName}}, lookup column = "Company Name" - Set Minimum Confidence to 60
- Set Output Mode to Best Match
Match with Multiple Algorithms
Combine algorithms for better accuracy:
[Data Extractor] → [Fuzzy Lookup (product catalog)] → [If (confidence > 70)] → Insert Rows
- Add Semantic mapping for product name (weight 2)
- Add Exact mapping for product code (weight 5)
- Score Combine Method: Weighted Average
Fuzzy Lookup from Excel File
Match against an external Excel reference file:
[Google Drive Trigger] → [Data Extractor] → [Fuzzy Lookup (Excel file)] → [Insert Rows]
- Source Type: Excel File
- Upload or reference the Excel lookup table
- Select the worksheet and starting cell if needed
Tips
- Semantic matching works best for natural language fields (names, descriptions)
- Trigram matching is faster and handles typos well
- Combine multiple algorithms for more robust matching
- Use higher weights for more reliable fields
- Set Minimum Confidence to filter out poor matches — 30 is a good starting point
- AI post-processing can refine results but adds latency and cost
- The lookup table data is cached with content hashing — repeated lookups are fast
- For Lido Tables, data is loaded client-side; for Excel/Google Sheets, fetched server-side