Use cases and templates: AWS Textract integration for AI agents
Use AWS Textract to extract text, handwriting, tables, forms, key-value pairs, and supported document-analysis features. Expense and identity-document actions return their corresponding structured results.
Single-page parsing supports JPEG, PNG, and single-page PDF supplied as a file or URL. Multi-page parsing supports PDF and TIFF stored in S3; provide the document's s3://bucket/key URI. Choose the document mode supported by the selected action.
Use the block
Integrate AWS Textract into your workflow to extract text, tables, forms, and key-value pairs from documents. Single-page mode supports JPEG, PNG, and single-page PDF. Multi-page mode supports multi-page PDF and TIFF.
Actions
AWS Textract Parser
Parse documents using AWS Textract OCR and document analysis
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
accessKeyId | string | Yes | AWS Access Key ID |
secretAccessKey | string | Yes | AWS Secret Access Key |
region | string | Yes | AWS region for Textract service (e.g., us-east-1) |
processingMode | string | No | Document type: single-page or multi-page. Defaults to single-page. |
file | file | No | Document to be processed (JPEG, PNG, or single-page PDF). |
s3Uri | string | No | S3 URI for multi-page processing (s3://bucket/key). |
featureTypes | array | No | Feature types to detect: TABLES, FORMS, QUERIES, SIGNATURES, LAYOUT. If not specified, only text detection is performed. |
queries | array | No | Custom queries to extract specific information. Only used when featureTypes includes QUERIES. |
Output
| Parameter | Type | Description |
|---|---|---|
blocks | array | Array of Block objects containing detected text, tables, forms, and other elements |
↳ BlockType | string | Type of block (PAGE, LINE, WORD, TABLE, CELL, KEY_VALUE_SET, etc.) |
↳ Id | string | Unique identifier for the block |
↳ Text | string | The text content (for LINE and WORD blocks) |
↳ TextType | string | Type of text (PRINTED or HANDWRITING) |
↳ Confidence | number | Confidence score (0-100) |
↳ Page | number | Page number |
↳ Geometry | object | Location and bounding box information |
↳ BoundingBox | object | |
↳ Height | number | Height as ratio of document height |
↳ Left | number | Left position as ratio of document width |
↳ Top | number | Top position as ratio of document height |
↳ Width | number | Width as ratio of document width |
↳ Polygon | array | Polygon coordinates |
↳ X | number | X coordinate |
↳ Y | number | Y coordinate |
↳ Relationships | array | Relationships to other blocks |
↳ Type | string | Relationship type (CHILD, VALUE, ANSWER, etc.) |
↳ Ids | array | IDs of related blocks |
↳ EntityTypes | array | Entity types for KEY_VALUE_SET (KEY or VALUE) |
↳ SelectionStatus | string | For checkboxes: SELECTED or NOT_SELECTED |
↳ RowIndex | number | Row index for table cells |
↳ ColumnIndex | number | Column index for table cells |
↳ RowSpan | number | Row span for merged cells |
↳ ColumnSpan | number | Column span for merged cells |
↳ Query | object | Query information for QUERY blocks |
↳ Text | string | Query text |
↳ Alias | string | Query alias |
↳ Pages | array | Pages to search |
documentMetadata | object | Metadata about the analyzed document |
↳ pages | number | Number of pages in the document |
modelVersion | string | Version of the Textract model used for processing |
AWS Textract Analyze Expense
Extract structured invoice and receipt fields using AWS Textract AnalyzeExpense
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
accessKeyId | string | Yes | AWS Access Key ID |
secretAccessKey | string | Yes | AWS Secret Access Key |
region | string | Yes | AWS region for Textract service (e.g., us-east-1) |
processingMode | string | No | Document type: single-page or multi-page. Defaults to single-page. |
file | file | No | Invoice or receipt to be processed (JPEG, PNG, or single-page PDF). |
filePath | string | No | URL to an invoice or receipt to be processed, if not uploaded directly. |
s3Uri | string | No | S3 URI for multi-page processing (s3://bucket/key). |
Output
| Parameter | Type | Description |
|---|---|---|
expenseDocuments | array | Detected expense documents with summary fields and line items |
↳ expenseIndex | number | Index of the expense document |
↳ summaryFields | array | Header fields such as vendor name, invoice date, and totals |
↳ lineItemGroups | array | Groups of line items (e.g., purchased items and their prices) |
↳ lineItemGroupIndex | number | Index of the line item group |
↳ lineItems | array | Individual line items within the group |
↳ lineItemExpenseFields | array | Fields for a single line item (description, quantity, price) |
documentMetadata | object | Metadata about the analyzed document |
↳ pages | number | Number of pages in the document |
modelVersion | string | Version of the AnalyzeExpense model used (multi-page/async only) |
AWS Textract Analyze ID
Extract identity document fields using AWS Textract AnalyzeID
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
accessKeyId | string | Yes | AWS Access Key ID |
secretAccessKey | string | Yes | AWS Secret Access Key |
region | string | Yes | AWS region for Textract service (e.g., us-east-1) |
file | file | No | Front of the identity document (JPEG, PNG, or PDF). |
filePath | string | No | URL to the front of the identity document, if not uploaded directly. |
fileBack | file | No | Back of the identity document, if applicable (JPEG, PNG, or PDF). |
filePathBack | string | No | URL to the back of the identity document, if not uploaded directly. |
Output
| Parameter | Type | Description |
|---|---|---|
identityDocuments | array | Detected identity documents with normalized fields |
↳ documentIndex | number | Index of the document page set |
↳ identityDocumentFields | array | Normalized fields such as FIRST_NAME, LAST_NAME, DATE_OF_BIRTH, DOCUMENT_NUMBER, EXPIRATION_DATE |
↳ type | object | Normalized field label |
↳ text | string | Field label text |
↳ confidence | number | Confidence score (0-100) |
↳ valueDetection | object | Detected value for the field, with a normalized value for dates |
↳ text | string | Field value text |
↳ confidence | number | Confidence score (0-100) |
documentMetadata | object | Metadata about the analyzed document |
↳ pages | number | Number of pages analyzed |
modelVersion | string | Version of the AnalyzeID model used for processing |