Home / Nieuws / Activeer Power Automate met een custom button op de startpagina van de entiteit
15 juni 2020
Door: Niels Minnee

Activeer Power Automate met een custom button op de startpagina van de entiteit

Featured image for a blog about calling a Power Automate by using a custom button

Dit blog bestaat uit drie delen:

  • Deel 1: Een custom button aanmaken
  • Deel 2: Schrijven van JavaScript-functies
  • Deel 3: Het maken en testen van een Power Automate

De eisen:
Selecteer op de Contact homepage binnen Dynamics 365CE minimaal 2 en maximaal 8 contactrecords en stuur ze een e-mail. Die e-mail moet worden ondertekend met de gegevens van de uitvoerende gebruiker.

EEN CUSTOM BUTTON AANMAKEN

Voordat we gaan beginnen download je eerst de Ribbon Workbench tool. Deze tool is geschreven door MVP Scott Durow.

Gebruik de website van Develop1 om de Managed Solution te downloaden en te importeren in je Development Instance. Natuurlijk is het mogelijk om aangepaste of custom buttons te maken en te beheren door het bewerken van de RibbonDiff Xml, maar dat is een zeer tijdrovende klus en een typefout is snel gemaakt.

Als je vastzit aan het werken met Ribbon Workbench, gebruik dan de klantenfeedbackportal om contact op te nemen of om de How To’s te lezen.

Okay, laten we beginnen!

Hieronder tref je een overzicht aan van de stappen die ik zou nemen om aan de eisen te voldoen.

Stap 1

Open https://make.powerapps.com, selecteer de juiste omgeving, navigeer naar Solutions en Create a Solution. In dit geval heb ik een oplossing aangemaakt met de naam “MyButtonSolution”.

Stap 2

Voeg de entiteit toe waar de custom button moet verschijnen. Bij deze opdracht is het de Contact Entity. Wanneer daarom wordt gevraagd, selecteer dan geen componenten. En ook geen formulieren, afbeeldingen of attributen. Selecteer niets dat direct gerelateerd is aan de Contact Entity.

De RibbonDiff Xml is het enige wat nodig is om de vereiste wijzigingen aan te brengen. Die wijzigingen vormen de oplossing die straks wordt toegevoegd aan de Contact Entity. Het toevoegen van andere componenten levert alleen maar vertraging op bij het openen, bewerken en publiceren van de wijzigingen. De onderstaande schermafbeelding toont een afbeelding en een JS-bestand. Deze zullen later worden gebruikt.

Stap 3

Nadat de “MyButtonSolution” is voorbereid kunnen we de Ribbon Workbench Tool openen. Aangezien ik nog geen manier heb gezien om deze te openen via https://make.powerapps.com navigeren we via de “Old Solution Overview Page”. Gebruik de Open Solution Button of Popup Window om “MyButtonSolution” te openen. De Ribbon Workbench tool downloadt de content en de editor laadt alle Solution Elements.

Stap 4

De opdrachtbalken van de Contact Entity worden getoond. De editor maakt hierbij een onderscheid tussen de HomepageGrid, SubGrid en Form. In onze situatie gaan we een knop toevoegen aan de HomepageGrid.

Zelf geef ik er de voorkeur aan om de custom button(s) naast de OOB delete knop te plaatsen. Selecteer en sleep een knop van de Toolbox naar de HomepageGrid.

Stap 5

Selecteer de knop die je hebt toegevoegd en werk de eigenschappen van de knop bij met Button Properties. Probeer je te houden aan een naamgevingsconventie voor knop-id’s, opdracht-id’s en dergelijke. Als afbeelding gebruik ik liever alleen SVG. Je kunt https://www.flaticon.com gebruiken voor SVG-afbeeldingen, maar stel voordat je de SVG downloadt eerst de kleur in op #777777.

Als je geen opdracht aan de knop toevoegt, wordt de knop niet weergegeven. Vaak voeg ik de algemene opdracht Open URL https://www.dynamicpeople.com toe en gebruik die opdracht voor testdoeleinden.

 

Stap 6

Een van de eisen was dat de knop alleen moest worden weergegeven als er minimaal 2 en maximaal 8 contactrecords zijn geselecteerd. Dit kan worden afgehandeld met behulp van een Enable-regel.
Navigeer naar de Enable-regels en maak een nieuwe regel aan met daarbij een SelectionCountRule-stap. Laat de optie Default and InvertResult leeg. Stel de optie AppliesTo in op SelectedEntity en de Min en Max op 2 en 8. Voeg deze regel na het aanmaken toe aan de opdracht.

Stap 7

De wijzigingen die in de Ribbon Workbench Interface zijn aangegeven, worden omgezet naar een bijgewerkte RibbonDiff Xml en die kan met een klik op de knop worden gepubliceerd.

De GIF hieronder toont het resultaat en is een beetje een spoiler. In deel 2: Schrijven van JavaScript-functies gaan we dieper in op de materie.