cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
DonnaSneddon85
Frequent Visitor

Form Processor - Save document that has been analyzed

Hi guys,

 

Does anyone know how i can save the document that i have analyzed with the form processor?

 

My scenario is -

 

FormProcessor1 - user uploads file which then populates most fields for DispatchForm. On the DispatchForm, user has a few more fields to complete before pressing save and saving the details to a sharepoint list. I would like to also be able to save the document which has been analyzed with the form processor but i cannot see how to do this.

 

Can anyone help?

 

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
JoeF-MSFT
Power Apps
Power Apps

Hi @DonnaSneddon85,

 

Thanks for the question. This one is an interesting case. Here's a possible solution:

For this walkthrough I have a simple Power App with the AI Builder Form processor control and two fields where I want to extract the invoice id and total amount present on the invoice. I bind those two values from the Form processor control to the corresponding text inputs.


1.png

2.png

 

The easiest way to save the extracted items + the original document is by calling a Power Automate flow from Power Apps that will do these actions. So, let’s go ahead a create a flow in Power Automate:

  • Create a new Instant flow:

    3.png

  • Give it a name and select the PowerApps trigger:

    4.png

  • In the flow authoring experience, add an action and select the SharePoint connector:

    5.png

  • And select as action Create item

    6.png


  • Select the SharePoint site and the list you want to insert the information. Then for each of the columns you want to fill select the Ask in PowerApps option

    7.png

  • Now let’s add another action, Add attachment.

    8.png

  • Again, here select your SharePoint site and list. For the Id field, select the ID output coming from the previous step.

    9.png


  • For the File Name input, enter any file name that works for you. For example: MyInvoice.pdf (if the invoices you process are not pdf, but jpeg images for example, you will need to change the File Name to MyInvoice.jpeg)

  • For the File Content input select again the Ask in PowerApps option If you don’t see it, it might be hidden behind the see more option.

    10.png

  • The following step is a bit tricky, so please bear with me.
    • Remove the item you just added to the File Content input.

      11.png

    • On the flyout pane, go to Expression and type dataUriToBinary()

      13.png

    • With that expression written put the text cursor between the two parentheses and then go back to the Dynamic content option and click on the Addattachement_FileContent

      14.png

      15.png

  • You can now save your flow. In my case, the whole flow looks like this:

    16.png

 

  • Now let’s go back to the Power App. Select the button that will save the information, and go to the Action menu, click on Power Automate and then select the flow we just created.

    17.png

 

  • Now it will ask you to provide the different inputs that the flow expects. Specify them. For the one regarding the document use the following formula: FormProcessor1.OriginalImage (Your Form processor might have another name, replace FormProcessor1 by your custom name if this applies)

    18.png

    19.png

 

  • And that’s it! We can now run the app. When clicking on the save button it will call the flow that will save the item on my SharePoint list along with the document.

 

20.png

 

21.png

 

Hope this helps you on your journey with AI Builder Form processing. Let us know if you have any additional questions where we can help with.

View solution in original post

11 REPLIES 11
JoeF-MSFT
Power Apps
Power Apps

Hi @DonnaSneddon85,

 

Thanks for the question. This one is an interesting case. Here's a possible solution:

For this walkthrough I have a simple Power App with the AI Builder Form processor control and two fields where I want to extract the invoice id and total amount present on the invoice. I bind those two values from the Form processor control to the corresponding text inputs.


1.png

2.png

 

The easiest way to save the extracted items + the original document is by calling a Power Automate flow from Power Apps that will do these actions. So, let’s go ahead a create a flow in Power Automate:

  • Create a new Instant flow:

    3.png

  • Give it a name and select the PowerApps trigger:

    4.png

  • In the flow authoring experience, add an action and select the SharePoint connector:

    5.png

  • And select as action Create item

    6.png


  • Select the SharePoint site and the list you want to insert the information. Then for each of the columns you want to fill select the Ask in PowerApps option

    7.png

  • Now let’s add another action, Add attachment.

    8.png

  • Again, here select your SharePoint site and list. For the Id field, select the ID output coming from the previous step.

    9.png


  • For the File Name input, enter any file name that works for you. For example: MyInvoice.pdf (if the invoices you process are not pdf, but jpeg images for example, you will need to change the File Name to MyInvoice.jpeg)

  • For the File Content input select again the Ask in PowerApps option If you don’t see it, it might be hidden behind the see more option.

    10.png

  • The following step is a bit tricky, so please bear with me.
    • Remove the item you just added to the File Content input.

      11.png

    • On the flyout pane, go to Expression and type dataUriToBinary()

      13.png

    • With that expression written put the text cursor between the two parentheses and then go back to the Dynamic content option and click on the Addattachement_FileContent

      14.png

      15.png

  • You can now save your flow. In my case, the whole flow looks like this:

    16.png

 

  • Now let’s go back to the Power App. Select the button that will save the information, and go to the Action menu, click on Power Automate and then select the flow we just created.

    17.png

 

  • Now it will ask you to provide the different inputs that the flow expects. Specify them. For the one regarding the document use the following formula: FormProcessor1.OriginalImage (Your Form processor might have another name, replace FormProcessor1 by your custom name if this applies)

    18.png

    19.png

 

  • And that’s it! We can now run the app. When clicking on the save button it will call the flow that will save the item on my SharePoint list along with the document.

 

20.png

 

21.png

 

Hope this helps you on your journey with AI Builder Form processing. Let us know if you have any additional questions where we can help with.

View solution in original post

Hi @JoeF-MSFT ,

 

Thank you so much for this detailed answer. This worked perfectly! 🙂

 

Hola JoeF-MSFT.

Esto lo puedo hacer pero con Excel?

JoeF-MSFT
Power Apps
Power Apps

Hola @YuraJap,

¡Gracias por preguntar!

Sí es posible. Al construir el flow veras que hay acciones para escribir en una hoja de Excel. La acción más común para escribir en una hoja de Excel es Agregar una fila a una tabla.

 

JoeF-MSFT_0-1618058209785.png


¿Qué caso de uso quieres construir? Ya me dices si necesitas más información.

Yo creé una aplicación con dos funciones principales.

1: Scannear facturas y guardarlas en una base de datos (excel)

2: Visualizar mis facturas guardadas.

Para esto creé una app en PowerApps, entrené un modelo con IA Builder.

En esta parte mi idea es guardar los datos que me extrae de la factura y poder guardar el documento cargado en el FormProcessor para luego poderlo visualizar con un PDFViewer. Los datos extraídos se me guardan correctamente.

YuraniArroyo_0-1618290933509.png

 de esta manera estoy guardando la información que requiero:

YuraniArroyo_1-1618291066555.png

Pero, yo ahí no estoy guardando de manera correcta el "PDF", ahí solo estoy guardando el contenido en base64. Cuando reviso la base de datos (Excel), me guarda de esta manera:

YuraniArroyo_2-1618291323487.png

 

Había creado este flujo con la idea de poder guardar los "PDF" cargados en el FormProcessor, pero no me funcionó:

YuraniArroyo_3-1618291816634.png

El documento guardado me aparece así cuando lo abro:

YuraniArroyo_4-1618292051085.png

YuraniArroyo_5-1618292100888.pngYuraniArroyo_6-1618292112208.png

Y en el PDFViewer que lo quiero visualizar me aparece esto:

YuraniArroyo_7-1618292152070.png

Le agradezco mucho mi atención y espero que me puedas colaborar. Muchas gracias @JoeF-MSFT 

 

 

JoeF-MSFT
Power Apps
Power Apps

Hola @YuraniArroyo,

 

Gracias por la información. 

¿Has probado en el campo File Content en la acción de OneDrive a usar la expresión dataUriToBinary como explico en mi primer mensaje arriba?

 

¡Ya me dices!

Hola @JoeF-MSFT  muchas gracias, lo logré con el DataUriToBinary 😄 

YuraniArroyo_0-1618347730364.png

Ahora bien, lo que no sé es cómo hacer para guardarlo en el campo de excel para luego visualizarlo en un PDFViewer. Tengo esta escena: en las siguientes imágenes voy a mostrar dos pantallas diferentes: 1. Es una galería para ver mis facturas que tengo guardadas en mi base datos y la siguiente pantalla es para ver los detalles  y el pdf de cada factura seleccionada.

YuraniArroyo_1-1618348188057.pngYuraniArroyo_2-1618348246111.png

Espero que me entiendas. Muchas gracias

JoeF-MSFT
Power Apps
Power Apps

¡Qué bien @YuraniArroyo!

Ahora viene la parte más compleja. En el visor PDF no se puede poner directamente una URL de OneDrive. Necesitas crear otro flujo que abra el PDF y lo retorne a la Power App. Este enlace explica cómo hacerlo: Viewing PDFs from SharePoint within PowerApps | All Things 365 (masteroffice365.com) (El ejemplo es para SharePoint, pero debería ser valido para OneDrive también).

Muchas gracias por tu ayuda@JoeF-MSFT . No he podido solucionar. Yo ya pude guardar el PDF en OneDrive, pero no he podido guardar ese enlace o la URL en la base de datos (Excel).

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Power Apps Community Call Jan. 2022 768x460.png

Power Apps Community Call

Please join us on Wednesday, January 19th, at 8a PDT. Come and learn from our amazing speakers!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Top Kudoed Authors
Users online (2,958)