In this lesson we explore custom skills and how they extend Azure AI Search functionality. Custom skills let you enrich content in ways built-in cognitive skills cannot handle out of the box—especially when your scenario requires domain-specific extraction, labeling, or transformation. Imagine a law firm that receives thousands of contracts in mixed formats (PDFs, Word docs, scanned images). These files contain legal clauses—termination conditions, payment terms, confidentiality clauses—that must be extracted, labeled, and indexed for precise search. Ingesting the raw documents alone is not enough when you need proprietary logic, domain-specific tagging, or redaction. Built-in skills may miss those specifics, so the firm implements a custom skill (for example, hosted as an Azure Functions endpoint) to extract text, detect and label clauses, summarize key sections, and return enriched metadata to the search index.Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.

- Extract text and layout from incoming contracts (OCR for scanned pages).
- Identify, label, and tag legal clauses (domain-specific classification).
- Summarize or surface only the relevant parts and flag risky or sensitive content.
- Return enriched fields and metadata so Azure AI Search can index the enhanced content.

- Enhanced document processing: Connect to Document Intelligence (formerly Form Recognizer) to extract structured data—tables, key-value pairs, and named fields—from unstructured PDFs and scanned forms (invoices, contracts, receipts).
- Machine learning model integration: Call Azure Machine Learning or other hosted models to run sentiment analysis, domain-tuned classification, intent extraction, or entity linking.
- Custom business logic and governance: Apply rules to tag high-risk clauses, redact personally identifiable information (PII), compute compliance scores, or run transformations before indexing.

| Resource Type | Typical Purpose | Example |
|---|---|---|
| Document Intelligence | Extract structured fields and tables | Parse invoices, receipts, and contracts |
| Azure Machine Learning | Domain-specific model scoring | Classify clause types or risk levels |
| Custom API / Business Logic | Rule-based transformations, redaction | Tag high-risk clauses, redact PII |
- Implementation: Custom skills are web APIs (HTTP endpoints). Host them on Azure Functions, App Service, containers, or any HTTPS-accessible service.
- Invocation: The Azure AI Search enrichment pipeline sends data to the custom skill via HTTP POST. The skill processes inputs and returns structured JSON that the pipeline consumes for further enrichment or indexing.
- Contract: The skill receives a “values” array of records and must return a “values” array mapping recordIds to outputs so the pipeline can correlate results.
Custom skills follow a simple JSON contract: send a “values” array of input records and return a “values” array with matching recordIds and enriched outputs. Ensuring this schema is implemented correctly lets the enrichment pipeline map inputs to outputs reliably.

- Azure AI Search — What is Azure Search?
- Azure Functions overview
- Document Intelligence (Form Recognizer) overview
- Azure Machine Learning documentation