Menu
Maakt je organisatie gebruik van zowel AFAS als Office365? Dan biedt Microsoft Power Automate (voorheen Flow) mogelijkheden om deze twee systemen met elkaar te laten samenwerken, zonder dat medewerkers hiervoor handmatige handelingen hoeven te doen.
In mijn vorige blog heb je kunnen lezen hoe je met Power Automate dossieritems uit AFAS op kunt halen. In deze blog beschrijf ik hoe je het bijbehorend bestand kunt ophalen en hoe je dat document met bijbehorende metadata kunt opslaan op de gewenste locatie in SharePoint.
Goed om van tevoren te weten: er wordt gebruik gemaakt van premium connectoren, waarvoor een aanvullende licentie nodig is!
Resultaten van de GetConnector
Run de Flow met HTTP request (zoals beschreven in deel 1) eenmaal en kopieer de body van de output van de HTTP request.
Maak vervolgens een actie ‘Parse JSON’ aan, waarbij je het schema kunt genereren op basis van het voorbeeld door hierin de body van de output te plakken.
Ontvangen resultaten gebruiken
Van de resultaten die via de GetConnector naar voren komen krijg ik het nummer van het Dossieritem en Relatienummer terug.
Deze gegevens ga ik gebruiken om het bestand op te halen wat bij het Dossieritem hoort.
Op basis van Dossieritem het bestand ophalen
Het nummer van het Dossieritem heb ik als variabele ingesteld:
Vanuit AFAS is het niet mogelijk om de gegevens van een dossieritem en de details van het bestand via één GetConnector op te halen, vandaar dat ik via een andere GetConnector de details ophaal (GUID en bestandsnaam) van het bestand dat hoort bij het Dossieritem.
De output van deze HTTP request gebruik ik weer in een ‘Parse JSON’ actie. Vervolgens stel ik de GUID (unieke nummer) in en de bestandsnaam als variabele.
Om de bestandsnaam te kunnen gebruiken in de HTTP request moet de spatie worden vervangen door ‘%20’.
De expressie die ik hierbij gebruik:
replace(variables('OrigineelBestandsnaam'),' ','%20')
Vervolgens kan ik het bestand ophalen via de fileconnector:
Stel vervolgens de File Content samen, deze is nodig om het bestand te kunnen maken in SharePoint. Dit doe je door de output weer op te nemen in een ‘Parse JSON’ actie en vervolgens een Compose actie:
Alle voorbereidingen zijn nu getroffen om het bestand een plek te geven op SharePoint.
Om het document op de juiste locatie op te slaan voeg je de actie ‘Create file’ toe aan de Flow en voer je de waarden in waar het document moeten worden opgeslagen. De SharePoint locatie wordt dynamisch bepaald en zit daarom in een variabele. Voor de File Content gebruik je de output van de Compose actie.
Bijwerken van de metadata
Naast dat het document wordt opgeslagen op de juiste locatie is het wenselijk dat de juiste metadata wordt aangevuld. In dit geval is dit een waarde uit de taxonomie en de titel die hetzelfde moet zijn als de bestandsnaam.
Het bepalen van de SharePoint site laat ik hier verder buiten beschouwing, wat enkel van belang is om te weten, is dat ik de SharePoint site dynamisch vaststel en dat dit niet voor elk dossieritem hetzelfde is. In Flow bestaat namelijk de actie ‘Update file properties’, aangezien de SharePoint site dynamisch wordt bepaald kan deze niet gebruikt worden. Om het toch mogelijk te maken om de metadata bij te werken kies voor de actie ‘Send an HTTP request to SharePoint’.
Als SharePoint site wordt dezelfde variabele als in de vorige stap gebruikt. Kies voor de POST method. Kies vervolgens voor de Uri om de update te kunnen uitvoeren, waarbij de GetByTitle dezelfde is als de Folder Path uit de vorige stap en je het ItemId kunt ophalen als dynamische content vanuit de vorige stap.
Vul in de Body de formValues in die je wilt bijwerken. Vul bij FieldName de kolomnaam in en bij een kolom van het type ‘Beheerde metagegevens’ voer je de FieldValue in, in het format: “<<Standaardlabel>>|<<unieke id>>”.
Voor Title wil ik dezelfde waarde gebruiken als de bestandsnaam, maar dan zonder de bestandsextensie ‘.pdf’. Hiervoor gebruik ik de volgende expressie:
replace(body('Create_file')?['Name'],'.pdf','')
De Flow is gereed om in gebruik te nemen!
These Stories on Power Automate
Jong, dynamisch en enthousiast.
Veel kennis en ervaring in het brede vakgebied van ICT. Gespecialiseerd in SharePoint en Microsoft 365.
Nog geen reacties
Voel je vrij om te reageren...