{"id":15168,"date":"2026-07-30T15:12:29","date_gmt":"2026-07-30T15:12:29","guid":{"rendered":"https:\/\/powergi.net\/?p=15168"},"modified":"2026-07-30T15:12:29","modified_gmt":"2026-07-30T15:12:29","slug":"bulk-upload-files-to-dataverse-from-power-apps","status":"publish","type":"post","link":"https:\/\/powergi.net\/de\/blog\/bulk-upload-files-to-dataverse-from-power-apps\/","title":{"rendered":"So laden Sie Massendateien von Power Apps auf Dataverse hoch"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"15168\" class=\"elementor elementor-15168\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c62a6a5 e-flex e-con-boxed e-con e-parent\" data-id=\"c62a6a5\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-479482b elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"479482b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings='{\"exclude_headings_by_selector\":[],\"no_headings_message\":\"No headings were found on this page.\",\"headings_by_tags\":[\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],\"marker_view\":\"numbers\",\"minimize_box\":\"yes\",\"minimized_on\":\"tablet\",\"hierarchical_view\":\"yes\",\"min_height\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]},\"min_height_tablet\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]},\"min_height_mobile\":{\"unit\":\"px\",\"size\":\"\",\"sizes\":[]}}' data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tTable of Contents\t\t\t<\/h4>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__479482b\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__479482b\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__479482b\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b32f2d0 elementor-widget elementor-widget-text-editor\" data-id=\"b32f2d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Some apps require to let users upload several files at once into <a href=\"https:\/\/powergi.net\/blog\/dataverse-lookup-columns-and-power-automate-filter-data-add-and-edit-rows\/\">Dataverse<\/a> (each with its own record), but the process to bulk upload files from Power Apps to Dataverse is not straight-forward.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eee216d elementor-widget elementor-widget-image\" data-id=\"eee216d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"631\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image001-2.png\" class=\"attachment-large size-large wp-image-15173\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image001-2.png 1502w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image001-2-600x316.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image001-2-768x404.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image001-2-18x9.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05acf6d elementor-widget elementor-widget-text-editor\" data-id=\"05acf6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This blog will show how to build a screen where a user can select multiple files, add a comment to each one, and upload each file to its own record in a single click, with the file saved in a file column and the comment stored in a text column.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a027adc e-flex e-con-boxed e-con e-parent\" data-id=\"a027adc\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b36d2ca elementor-widget elementor-widget-heading\" data-id=\"b36d2ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why uploading multiple files to Dataverse requires a different setup<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d308f2 elementor-widget elementor-widget-text-editor\" data-id=\"3d308f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>By default, a Power Apps form is designed to create or edit one record at a time, and Dataverse file-type columns only allow for a single file to be stored at a time (in SharePoint, the attachment column allows to upload multiple attachments to the same record).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9abd344 elementor-widget elementor-widget-image\" data-id=\"9abd344\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1200\" height=\"555\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1.png\" class=\"attachment-large size-large wp-image-15172\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1.png 1701w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1-600x278.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1-768x355.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1-1536x711.png 1536w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image003-1-18x8.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-975e0d3 elementor-widget elementor-widget-heading\" data-id=\"975e0d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Step-by-Step: upload multiple files from Power Apps to Dataverse<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eccc4ad elementor-widget elementor-widget-text-editor\" data-id=\"eccc4ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We also created a walkthrough of this in our YouTube channel, make sure to check it out!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8ba597 elementor-widget elementor-widget-video\" data-id=\"e8ba597\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings='{\"youtube_url\":\"https:\\\/\\\/youtu.be\\\/pd8XIouMiw0?si=LZWQ-yWAEgSYl5HD\",\"video_type\":\"youtube\",\"controls\":\"yes\"}' data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-38e4fa1 e-flex e-con-boxed e-con e-parent\" data-id=\"38e4fa1\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c5f3460 elementor-widget elementor-widget-heading\" data-id=\"c5f3460\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">1. Set up the screen layout<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c54050c elementor-widget elementor-widget-text-editor\" data-id=\"c54050c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Let\u2019s create a new screen and choose the <strong>sidebar layout<\/strong>, which gives us a section on the left for the file selector and a section on the right for a gallery listing the uploaded files.<\/p><div id=\"seology-cta-1\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"7280\" class=\"elementor elementor-7280\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7e3f164 e-con-full e-flex e-con e-parent\" data-id=\"7e3f164\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"background_background\":\"classic\",\"jet_parallax_layout_list\":[]}'>\n\t\t<div class=\"elementor-element elementor-element-9078c9f e-con-full e-flex e-con e-child\" data-id=\"9078c9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b99949 elementor-widget elementor-widget-heading\" data-id=\"7b99949\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Automate tasks that slow you down<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e61db5 elementor-widget elementor-widget-heading\" data-id=\"8e61db5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Free up your team\u2019s time and focus on strategic work with digital and robotic automation.<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a578907 e-flex e-con-boxed e-con e-child\" data-id=\"a578907\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c827b elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"e8c827b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"#ctc_chat\">\n\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d834237 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"d834237\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/powergi.net\/de\/contact\/\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-envelope\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b931eb6 elementor-widget elementor-widget-image\" data-id=\"b931eb6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"690\" height=\"712\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image007-1.png\" class=\"attachment-large size-large wp-image-15174\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image007-1.png 690w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image007-1-581x600.png 581w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image007-1-12x12.png 12w\" sizes=\"(max-width: 690px) 100vw, 690px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b2c696 elementor-widget elementor-widget-heading\" data-id=\"8b2c696\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">2. Create a form and connect to the Dataverse table<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ae68996 elementor-widget elementor-widget-text-editor\" data-id=\"ae68996\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Insert a form into the left section and connect it to your Dataverse table (in this blog it\u2019s a table called table_attachments).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de2f285 elementor-widget elementor-widget-image\" data-id=\"de2f285\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"531\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image009-1.png\" class=\"attachment-large size-large wp-image-15175\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image009-1.png 1397w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image009-1-600x265.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image009-1-768x340.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image009-1-18x8.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c1a896 elementor-widget elementor-widget-text-editor\" data-id=\"8c1a896\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Once the form is connected, Power Apps automatically generates data cards for every column in the table, including several default Dataverse columns we won\u2019t need.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77369fe elementor-widget elementor-widget-heading\" data-id=\"77369fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">3. Strip the form down to just the attachment card<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f9a276 elementor-widget elementor-widget-text-editor\" data-id=\"5f9a276\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>From all the generated cards, the only one we need is the attachment card. Let\u2019s copy that card and paste it inside the container that holds the form, then delete the rest of the form.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14c3778 elementor-widget elementor-widget-image\" data-id=\"14c3778\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"689\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1.png\" class=\"attachment-large size-large wp-image-15176\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1.png 1866w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1-600x345.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1-768x441.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1-1536x882.png 1536w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image011-1-18x10.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-924cbaf elementor-widget elementor-widget-text-editor\" data-id=\"924cbaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Some errors will pop-up. Just remove the code wherever there is an errot.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b4f91c elementor-widget elementor-widget-heading\" data-id=\"8b4f91c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">4. Configure the attachment control<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5fca0c elementor-widget elementor-widget-text-editor\" data-id=\"d5fca0c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Select the attachment card and:<\/p><ul><li>Increase the <strong>maximum number of attachments<\/strong> allowed (e.g., set it to 10)<\/li><li>Increase the <strong>height<\/strong> of the control so it uses more of the screen<\/li><\/ul><p>Rename the control to something clear, like attachment_fileupload, so it\u2019s easy to reference later.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b74534 elementor-widget elementor-widget-image\" data-id=\"4b74534\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"497\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-2048x848.png\" class=\"attachment-large size-large wp-image-15177\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-2048x848.png 2048w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-600x248.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-768x318.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-1536x636.png 1536w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image013-1-18x7.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-413d9d3 elementor-widget elementor-widget-heading\" data-id=\"413d9d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">5. Understand the structure Dataverse expects for attachments<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9690e8 elementor-widget elementor-widget-text-editor\" data-id=\"d9690e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If we were to create a single record, this is the structure that Dataverse would expect:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97f2873 elementor-widget elementor-widget-code-highlight\" data-id=\"97f2873\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>Patch(\r\n    table_attachments,\r\n    Defaults(table_attachments),\r\n    {\r\n        attachment: {\r\n            'FileName': \"test.txt\",\r\n            Value: \"...\"\r\n        },\r\n        comments: \"hi, this is a comment\"\r\n    }\r\n)\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8476965 elementor-widget elementor-widget-text-editor\" data-id=\"8476965\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dataverse\u2019s attachment column specifically expects a structure with two properties: <strong>FileName<\/strong> and <strong>Value<\/strong> (the actual file content).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-783f1c3 elementor-widget elementor-widget-heading\" data-id=\"783f1c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">6. Add a gallery so users can enter a comment per file<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4822c82 elementor-widget elementor-widget-text-editor\" data-id=\"4822c82\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Insert a blank gallery in the right section and add two controls:<\/p><ul><li>Add a <strong>label<\/strong> showing the file name (rename it lbl_filename). Text: ThisItem.Name<\/li><\/ul><p>\u00a0<\/p><ul><li>Add a <strong>text input<\/strong> where the user types a comment for that specific file (rename it txt_filecomments)<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bf1410a elementor-widget elementor-widget-image\" data-id=\"bf1410a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"361\" height=\"216\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image015-1.png\" class=\"attachment-large size-large wp-image-15178\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image015-1.png 361w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image015-1-18x12.png 18w\" sizes=\"(max-width: 361px) 100vw, 361px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f014f6b e-flex e-con-boxed e-con e-parent\" data-id=\"f014f6b\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3c5e303 elementor-widget elementor-widget-heading\" data-id=\"3c5e303\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">7. Connect the gallery items to the attachment control<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4c14ab elementor-widget elementor-widget-text-editor\" data-id=\"a4c14ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>To show the list of attachments that were added by the user in the gallery and allow them to add comments to each file, we need to connect the gallery to the list of files uploaded to the attachment control.<\/p><p>Just find the \u201citems\u201d attribute and use:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59f7c9c elementor-widget elementor-widget-code-highlight\" data-id=\"59f7c9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>attUploadFile.Attachments<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d6510c6 e-flex e-con-boxed e-con e-parent\" data-id=\"d6510c6\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a329069 elementor-widget elementor-widget-image\" data-id=\"a329069\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"670\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1.png\" class=\"attachment-large size-large wp-image-15179\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1.png 1872w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1-600x335.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1-768x429.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1-1536x857.png 1536w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image017-1-18x10.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ad6889 elementor-widget elementor-widget-heading\" data-id=\"6ad6889\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">8. Loop through every uploaded file with ForAll<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59c919d elementor-widget elementor-widget-text-editor\" data-id=\"59c919d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Using the code from point 5, we just need to run this for all the items inside the gallery using the ForAll function.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cff05fc elementor-widget elementor-widget-code-highlight\" data-id=\"cff05fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>ForAll(\r\n    attachment_fileupload.Attachments As FileUploaded,\r\n    Patch(\r\n        table_attachments,\r\n        Defaults(table_attachments),\r\n        {\r\n            attachment: {\r\n                'FileName': FileUploaded.Name,\r\n                Value: FileUploaded.Value\r\n            },\r\n            comments: \"hi, this is a comment\"\r\n        }\r\n    )\r\n)\r\n \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-204e5ac elementor-widget elementor-widget-heading\" data-id=\"204e5ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">9. Match each file to its comment using a lookup<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05f7bc1 elementor-widget elementor-widget-text-editor\" data-id=\"05f7bc1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>To upload the comment along with the file to the same record, use a LookUp function:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d4428d7 elementor-widget elementor-widget-code-highlight\" data-id=\"d4428d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>ForAll(\r\n    attachment_fileupload.Attachments As FileUploaded,\r\n    Patch(\r\n        table_attachments,\r\n        Defaults(table_attachments),\r\n        {\r\n            attachment: {\r\n                'FileName': FileUploaded.Name,\r\n                Value: FileUploaded.Value\r\n            },\r\n            comments: LookUp(\r\n                gal_attachmentcomments.AllItems,\r\n                FileName.ext = FileUploaded.Name\r\n            ).txt_filecomments.Text\r\n        }\r\n    )\r\n) \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1887636 elementor-widget elementor-widget-heading\" data-id=\"1887636\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">10. Test the upload<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-072e689 elementor-widget elementor-widget-text-editor\" data-id=\"072e689\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Add a button and then in the OnSelect property, add the code from point #9.<\/p><p>Run the app and test:<\/p><div id=\"seology-cta-2\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"7531\" class=\"elementor elementor-7531\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7e3f164 e-con-full e-flex e-con e-parent\" data-id=\"7e3f164\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"background_background\":\"classic\",\"jet_parallax_layout_list\":[]}'>\n\t\t<div class=\"elementor-element elementor-element-9078c9f e-con-full e-flex e-con e-child\" data-id=\"9078c9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b99949 elementor-widget elementor-widget-heading\" data-id=\"7b99949\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Are you ready to discover the joy of automation?<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e61db5 elementor-widget elementor-widget-heading\" data-id=\"8e61db5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Whether you have a project in mind or just want to know how we can help, we\u2019re happy to have a conversation<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a578907 e-flex e-con-boxed e-con e-child\" data-id=\"a578907\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c827b elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"e8c827b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"#ctc_chat\">\n\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d834237 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"d834237\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<a class=\"elementor-icon\" href=\"https:\/\/powergi.net\/de\/contact\/\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-envelope\"><\/i>\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09f26e5 elementor-widget elementor-widget-image\" data-id=\"09f26e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"534\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image019-1.png\" class=\"attachment-large size-large wp-image-15180\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image019-1.png 1342w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image019-1-600x267.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image019-1-768x342.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image019-1-18x8.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de69947 elementor-widget elementor-widget-text-editor\" data-id=\"de69947\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Each file should be created as its own record in Dataverse with attachment and comments:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79ed176 elementor-widget elementor-widget-image\" data-id=\"79ed176\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"985\" height=\"760\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image021-1.png\" class=\"attachment-large size-large wp-image-15181\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image021-1.png 985w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image021-1-600x463.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image021-1-768x593.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image021-1-16x12.png 16w\" sizes=\"(max-width: 985px) 100vw, 985px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b864ae1 elementor-widget elementor-widget-heading\" data-id=\"b864ae1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Dataverse Table Structure for Multiple File Uploads<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3c6ecf elementor-widget elementor-widget-text-editor\" data-id=\"e3c6ecf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dataverse expects two attributes or columns when creating files from Power Apps: File Name and Value (content of the file).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0778ea elementor-widget elementor-widget-code-highlight\" data-id=\"d0778ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\r\n    'FileName': FileUploaded.Name,\r\n     Value: FileUploaded.Value\r\n}\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42c447c elementor-widget elementor-widget-heading\" data-id=\"42c447c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Common issues when uploading files to Dataverse from Power Apps<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3ae87d elementor-widget elementor-widget-text-editor\" data-id=\"a3ae87d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A few sticking points come up when building this kind of flow:<\/p><ul><li><strong>Attachment errors on Patch.<\/strong> If the object passed to the attachment column is missing either the FileName or Value property, the Patch call will fail. Dataverse specifically expects those two property names.<\/li><li><strong>Leftover errors after copying the attachment card.<\/strong> After copying the attachment data card out of the form and deleting the rest of the form, you may briefly see errors in the app \u2014 these clear once the unused\/duplicate form is fully removed.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a50620 elementor-widget elementor-widget-heading\" data-id=\"8a50620\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Best Practices for Power Apps and Dataverse File Uploads<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1874cfb elementor-widget elementor-widget-text-editor\" data-id=\"1874cfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Name your ForAll loop variable. Using the \u201cAs\u201d LoopVariable Name (or a similarly descriptive name) instead of the default ThisRecord makes formulas much easier to read and maintain.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f934c9 elementor-widget elementor-widget-image\" data-id=\"8f934c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"433\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image023-1.png\" class=\"attachment-large size-large wp-image-15182\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image023-1.png 1233w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image023-1-600x217.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image023-1-768x277.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image023-1-18x6.png 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1684c9f e-flex e-con-boxed e-con e-parent\" data-id=\"1684c9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings='{\"jet_parallax_layout_list\":[]}'>\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59c842e elementor-widget elementor-widget-text-editor\" data-id=\"59c842e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Make sure to rename all the controls in the screen, it helps keep the code organized and tidy, and easier to read for your future yo<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9b9b2ff elementor-widget elementor-widget-image\" data-id=\"9b9b2ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"532\" height=\"625\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image025-1.png\" class=\"attachment-large size-large wp-image-15183\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image025-1.png 532w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image025-1-511x600.png 511w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image025-1-10x12.png 10w\" sizes=\"(max-width: 532px) 100vw, 532px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9a0272 elementor-widget elementor-widget-text-editor\" data-id=\"a9a0272\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Reuse the existing file object structure from the attachments controls if possible. Rather than manually building a {FileName, Value} object the RenameColumns function can be used to write less code:<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9f0f34 elementor-widget elementor-widget-image\" data-id=\"c9f0f34\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"832\" height=\"225\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image027-1.png\" class=\"attachment-large size-large wp-image-15184\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image027-1.png 832w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image027-1-600x162.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image027-1-768x208.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image027-1-18x5.png 18w\" sizes=\"(max-width: 832px) 100vw, 832px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-140b14e elementor-widget elementor-widget-text-editor\" data-id=\"140b14e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Add comments to the code<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce4edad elementor-widget elementor-widget-image\" data-id=\"ce4edad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"262\" src=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image029-1.png\" class=\"attachment-large size-large wp-image-15185\" alt=\"\" srcset=\"https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image029-1.png 1021w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image029-1-600x154.png 600w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image029-1-768x197.png 768w, https:\/\/powergi.net\/wp-content\/uploads\/2026\/07\/image029-1-18x5.png 18w\" sizes=\"(max-width: 1021px) 100vw, 1021px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4c994d elementor-widget elementor-widget-heading\" data-id=\"c4c994d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Upload Files to Dataverse from Power Apps with PowerGI<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2bc8063 elementor-widget elementor-widget-text-editor\" data-id=\"2bc8063\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>At <strong>Power[GI]<\/strong> we can help you create forms and platforms that your team will enjoy using, incorporating useful features such as bulk uploads to Dataverse. Learn about our <a href=\"https:\/\/powergi.net\/power-apps-consulting-services\/\">Power Apps services<\/a> or <a href=\"https:\/\/powergi.net\/contact\/\">contact us today.<\/a><\/p><p>Are you ready to discover the joy of automation?<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Table of Contents Some apps require to let users upload several files at once into Dataverse (each with its own record), but the process to bulk upload files from Power Apps to Dataverse is not straight-forward. This blog will show how to build a screen where a user can select multiple files, add a comment [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":15203,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"glossary_letter":"a","footnotes":""},"categories":[155,139],"tags":[],"class_list":["post-15168","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-canvas-apps","category-dataverse"],"glossary_letter":"a","rank_math_title":"How to Upload Files to Dataverse from Power Apps","rank_math_description":"Learn how to upload files to Dataverse in bulk from Power Apps using file columns, related tables, and a step-by-step canvas app setup. ","rank_math_focus_keyword":"Upload Files to Dataverse","_links":{"self":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/15168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/comments?post=15168"}],"version-history":[{"count":4,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/15168\/revisions"}],"predecessor-version":[{"id":15189,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/posts\/15168\/revisions\/15189"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/media\/15203"}],"wp:attachment":[{"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/media?parent=15168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/categories?post=15168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powergi.net\/de\/wp-json\/wp\/v2\/tags?post=15168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}