{"id":8976,"date":"2025-07-24T08:00:53","date_gmt":"2025-07-24T08:00:53","guid":{"rendered":"https:\/\/www.process.st\/help\/?post_type=ht_kb&#038;p=8976"},"modified":"2026-06-02T09:00:43","modified_gmt":"2026-06-02T09:00:43","slug":"extract-text-file-uploads","status":"publish","type":"ht_kb","link":"https:\/\/www.process.st\/help\/docs\/extract-text-file-uploads\/","title":{"rendered":"Extract Text From File Uploads"},"content":{"rendered":"<p>Extract plain text from files uploaded to <strong>File Upload<\/strong> form fields \u2014 PDFs, Word documents, spreadsheets, images, and scanned documents. The extracted text becomes a variable you can pass directly into <a href=\"https:\/\/www.process.st\/help\/docs\/ai-tasks\/\">AI Tasks<\/a> for processing, summarization, or data extraction. Uploaded files with extracted text are also searchable in the <a href=\"https:\/\/www.process.st\/help\/docs\/searching\/\">global search box<\/a>.<\/p>\n<p><strong><em>Users:<\/em><\/strong> <em>Only Administrators or a <a href=\"https:\/\/www.process.st\/help\/docs\/what-is-a-full-member\/\">Builder<\/a> with <a href=\"https:\/\/www.process.st\/help\/docs\/permissions\/\">&#8216;edit&#8217;<\/a> permission can enable text extraction on form fields.<\/em><\/p>\n<h2>Enable text extraction<\/h2>\n<ol>\n<li>Open the workflow in the editor and add (or select) a <strong>File Upload<\/strong> <a href=\"https:\/\/www.process.st\/help\/docs\/form-fields\/\">form field<\/a>.<\/li>\n<li>Click the meatball menu (three dots) next to the File Upload form field and select <strong>Settings<\/strong>.<\/li>\n<li>Switch the <strong>Extract text<\/strong> toggle to the &#8220;on&#8221; position.<\/li>\n<li>Click <strong>Apply<\/strong>.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9000\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2025\/07\/resume-file-upload-field.png\" alt=\"Toggle on text extraction in File Upload field settings\" width=\"483\" height=\"301\" srcset=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2025\/07\/resume-file-upload-field.png 483w, https:\/\/www.process.st\/help\/wp-content\/uploads\/2025\/07\/resume-file-upload-field-300x187.png 300w\" sizes=\"auto, (max-width: 483px) 100vw, 483px\" \/><\/p>\n<p>When a file is uploaded during a workflow run, the system extracts up to 512KB of plain text from it automatically.<\/p>\n<h2>OCR for images and scanned PDFs<\/h2>\n<p>OCR (optical character recognition) automatically extracts text from images and scanned documents. No additional setup is required \u2014 OCR activates automatically when text extraction is enabled.<\/p>\n<p>OCR works with:<\/p>\n<ul>\n<li><strong>Images<\/strong> \u2014 PNG, JPG, and other image formats uploaded to a File Upload form field.<\/li>\n<li><strong>Image-only PDFs<\/strong> \u2014 Scanned documents that contain images but no selectable text.<\/li>\n<\/ul>\n<blockquote>\n<p><strong>Note:<\/strong> If a PDF contains both text and images, standard text extraction is used instead of OCR. This avoids unwanted noise from attempting to recognize characters in images alongside existing text.<\/p>\n<\/blockquote>\n<p>OCR-extracted text works the same way as standard extracted text \u2014 it populates the <code>{{form.Field_name.text_content}}<\/code> variable and makes uploaded files searchable in the global search box.<\/p>\n<blockquote>\n<p><strong>Note:<\/strong> OCR currently supports English only. Contact support to request additional language support.<\/p>\n<\/blockquote>\n<h2>Use extracted text as a variable<\/h2>\n<p>Once text extraction is enabled, the extracted content is available as a variable anywhere you see the magic wand icon in the workflow editor.<\/p>\n<p>The variable follows this pattern:<\/p>\n<p><code>{{form.Field_name.text_content}}<\/code><\/p>\n<p>For example, if your File Upload field is called &#8220;Employee Resume&#8221;, the variable is <code>{{form.Employee_resume.text_content}}<\/code>.<\/p>\n<h2>Search uploaded file content<\/h2>\n<p>Files with extracted text \u2014 including OCR-processed images and scanned PDFs \u2014 are indexed and searchable in the global search box. Type a keyword from the file&#8217;s content into <strong>Search<\/strong> to find matching uploads.<\/p>\n<p>This is especially useful for locating scanned documents or images by the text they contain, without needing to open each file individually.<\/p>\n<h2>Use extracted text in AI Tasks<\/h2>\n<p>Pass the extracted text variable into an <a href=\"https:\/\/www.process.st\/help\/docs\/ai-tasks\/\">AI Task<\/a> to process, analyze, or transform the content. Common use cases include:<\/p>\n<ul>\n<li><strong>Extracting structured fields<\/strong> \u2014 Pull specific data points (names, dates, amounts) from completed forms or contracts.<\/li>\n<li><strong>Parsing tabular data<\/strong> \u2014 Extract rows and columns from uploaded spreadsheets or PDF tables.<\/li>\n<li><strong>Summarizing documents<\/strong> \u2014 Generate concise summaries of lengthy reports or policy documents.<\/li>\n<li><strong>Analyzing unstructured text<\/strong> \u2014 Identify themes, sentiment, or key takeaways from notes and feedback.<\/li>\n<\/ul>\n<p>To set this up, add an AI Task after the File Upload task in your workflow. In the AI Task&#8217;s prompt, insert the <code>{{form.Field_name.text_content}}<\/code> variable and describe what you want the AI to do with the text.<\/p>\n<p>Here are some AI Task types that work well with extracted text:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-text-parsing\/\">AI Text Parser<\/a><\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-text-summarizer\/\">AI Text Summarizer<\/a><\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-sentiment-analyzer\/\">AI Sentiment Analyzer<\/a><\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-thematic-analyzer\/\">AI Thematic Analyzer<\/a><\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-content-translator\/\">AI Content Translator<\/a><\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/ai-math-operator\/\">AI Math Operator<\/a><\/li>\n<\/ul>\n<h2>FAQ<\/h2>\n<h4>What file types are supported?<\/h4>\n<p>PDFs, Word documents, and text-based files like CSV, TXT, TSV, and ODS. Image types (PNG, JPG) are also supported \u2014 OCR extracts text from images and image-only PDFs automatically.<\/p>\n<h4>Is there a file size limit?<\/h4>\n<p>The uploaded file can be any size up to the standard <a href=\"https:\/\/www.process.st\/help\/docs\/file-upload-limits\/\">file upload limits<\/a>, but only the first 512KB of extracted text is available \u2014 roughly 100,000 words.<\/p>\n<h4>What happens if the file contains no extractable text?<\/h4>\n<p>If the file has no recognizable text content even after OCR processing, the variable returns empty.<\/p>\n<h4>What languages does OCR support?<\/h4>\n<p>OCR currently supports English. Contact support if you need additional language support.<\/p>\n<h4>Does OCR work on PDFs that contain both text and images?<\/h4>\n<p>No. If a PDF contains selectable text alongside images, standard text extraction is used. OCR only activates for image-only PDFs and image files. This prevents character-recognition noise from interfering with the existing text.<\/p>\n<p>Learn more about <a href=\"https:\/\/www.process.st\/help\/docs\/file-widget\/\">File Upload form fields<\/a> and <a href=\"https:\/\/www.process.st\/help\/docs\/ai-tasks\/\">AI Tasks<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Extract plain text from files uploaded to File Upload form fields \u2014 PDFs, Word documents, spreadsheets, images, and scanned documents. The extracted text becomes a variable you can pass directly into AI Tasks for processing, summarization, or data extraction. Uploaded files with extracted text are also searchable in the global search box. Users: Only Administrators [&hellip;]<\/p>\n","protected":false},"author":11,"template":"","meta":{"_acf_changed":false,"available_plan":"All plans","available_product":"Integrations, Workflows","footnotes":""},"ht_kb_category":[194,158],"ht_kb_tag":[495,240,580],"class_list":["post-8976","ht_kb","type-ht_kb","status-publish","hentry","ht_kb_category-integrations","ht_kb_category-build-edit-workflows","ht_kb_tag-ai-task","ht_kb_tag-data","ht_kb_tag-files"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/8976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/users\/11"}],"version-history":[{"count":17,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/8976\/revisions"}],"predecessor-version":[{"id":10033,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/8976\/revisions\/10033"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/media?parent=8976"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_category?post=8976"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_tag?post=8976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}