{"id":10064,"date":"2026-06-29T10:04:59","date_gmt":"2026-06-29T10:04:59","guid":{"rendered":"https:\/\/www.process.st\/help\/?post_type=ht_kb&#038;p=10064"},"modified":"2026-06-29T10:04:59","modified_gmt":"2026-06-29T10:04:59","slug":"file-upload-fields-in-power-automate","status":"publish","type":"ht_kb","link":"https:\/\/www.process.st\/help\/docs\/file-upload-fields-in-power-automate\/","title":{"rendered":"File Upload fields in Power Automate"},"content":{"rendered":"<p>The <strong>Get workflow run form fields<\/strong> action in Power Automate exposes three tokens for each File Upload field in your workflow. These tokens give you direct access to uploaded file URLs and filenames without parsing JSON.<\/p>\n<p>This article covers the tokens available for File Upload fields and how to use them in your Power Automate flows.<\/p>\n<p><em><strong>Users:<\/strong> To create a Power Automate connector or an API key, you must be an Administrator.<\/em><\/p>\n<h2>Available tokens for File Upload fields<\/h2>\n<p>When you add a <strong>Get workflow run form fields<\/strong> action to your flow and select a workflow that contains a File Upload field, three dynamic content tokens appear in the Power Automate designer:<\/p>\n<ul>\n<li><strong><code>_urls<\/code><\/strong> \u2014 A comma-separated string of the uploaded file URLs. Use this when you need a quick, flat list of download links.<\/li>\n<li><strong><code>_names<\/code><\/strong> \u2014 A comma-separated string of the uploaded filenames. Use this to display or log filenames without fetching the full file data.<\/li>\n<li><strong>JSON array<\/strong> \u2014 The full structured response for the field, returned as a JSON array of file objects. Use this when you need complete metadata about each file (for example, to loop through files individually with an <strong>Apply to each<\/strong> action).<\/li>\n<\/ul>\n<h2>Use File Upload field tokens in a flow<\/h2>\n<p>To access File Upload field data in your Power Automate flow:<\/p>\n<ol>\n<li>Add the <strong>Get workflow run form fields<\/strong> action to your flow and configure it with the workflow run ID, workflow, and task that contains the File Upload field.<\/li>\n<li>In a subsequent action, click <strong>Add dynamic content<\/strong>.<\/li>\n<li>Search for the name of your File Upload field. The three tokens (<code>_urls<\/code>, <code>_names<\/code>, and the JSON array) appear in the list.<\/li>\n<li>Select the token that fits your use case:\n<ul>\n<li>For a quick list of file links \u2014 select the <code>_urls<\/code> token and pass the comma-separated string to an email body, a message, or a text field in another app.<\/li>\n<li>For a list of filenames \u2014 select the <code>_names<\/code> token.<\/li>\n<li>For per-file processing \u2014 select the JSON array token and wrap the next step in an <strong>Apply to each<\/strong> action to iterate over individual file objects.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>Updating File Upload fields<\/h2>\n<p>File Upload fields cannot be updated through the <strong>Update workflow run form fields<\/strong> action. Attempting to do so returns a <code>400<\/code> error with the message:<\/p>\n<blockquote><p>Files can only be uploaded to File Upload fields via the upload endpoint.<\/p><\/blockquote>\n<p>To add files to a File Upload field programmatically, use the dedicated file upload endpoint in the <a href=\"https:\/\/developer.process.st\">Process Street API<\/a> instead.<\/p>\n<h2>Related articles<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/microsoft-power-automate\/\">Microsoft Power Automate<\/a> \u2014 overview of the Process Street connector, triggers, and actions<\/li>\n<li><a href=\"https:\/\/www.process.st\/help\/docs\/form-fields\/\">Form fields<\/a> \u2014 all available form field types in Process Street<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Get workflow run form fields action in Power Automate exposes three tokens for each File Upload field in your workflow. These tokens give you direct access to uploaded file URLs and filenames without parsing JSON. This article covers the tokens available for File Upload fields and how to use them in your Power Automate [&hellip;]<\/p>\n","protected":false},"author":22,"template":"","meta":{"_acf_changed":false,"available_plan":"All plans","available_product":"Integrations","footnotes":""},"ht_kb_category":[194],"ht_kb_tag":[],"class_list":["post-10064","ht_kb","type-ht_kb","status-publish","hentry","ht_kb_category-integrations"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/10064","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\/22"}],"version-history":[{"count":3,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/10064\/revisions"}],"predecessor-version":[{"id":10077,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/10064\/revisions\/10077"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/media?parent=10064"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_category?post=10064"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_tag?post=10064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}