Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt automatisch werkorders maken in Dynamics 365 Field Service met behulp van Power Automate-flows. Dit is handig wanneer werkorders moeten worden gemaakt op basis van externe triggers, zoals een IoT-waarschuwing, een formulierverzending, een serviceaanvraag van een ander systeem of een wijziging in een gerelateerde record.
Power Automate-flows gebruiken de Microsoft Dataverse-connector om te communiceren met Field Service-records. Ga naar Werkorders maken met behulp van de Dataverse-web-API voor informatie over het maken van werkorders via code.
Vereiste voorwaarden
- Een Power Automate licentie (inbegrepen bij de meeste Dynamics 365 licenties).
- Ten minste een van de volgende Field Service-beveiligingsrollen die zijn toegewezen aan het verbindingsaccount van de flow. Meer informatie over het instellen van gebruikers en beveiligingsrollen.
- Field Service - coƶrdinator
- Field Service - Beheerder
- Bestaande records voor de vereiste opzoekvelden:
-
Serviceaccount (
accountentiteit) -
Type werkorder (
msdyn_workordertypeentiteit) -
Prijslijst (
pricelevelentiteit)
-
Serviceaccount (
Optie 1: Een werkorder maken wanneer een Dataverse-record wordt gewijzigd
Gebruik dit patroon om een werkvolgorde te maken als reactie op een wijziging in een andere Dataverse-tabel, zoals wanneer de status van een klantasset verandert.
Stel de trigger in
Selecteer in Power AutomateMaken>Geautomatiseerde cloudstroom.
Zoek en selecteer Wanneer een rij wordt toegevoegd, gewijzigd of verwijderd (Microsoft Dataverse connector).
Meld u aan bij de connector Microsoft Dataverse wanneer u hierom wordt gevraagd met behulp van uw Dynamics 365 referenties. Als u al een verbinding met uw omgeving hebt, selecteert u deze in de vervolgkeuzelijst. De configuratievelden van de trigger worden pas ingevuld als er een actieve verbinding tot stand is gebracht.
Configureer de trigger:
Veld Waarde Type wijzigen Gemodificeerd Tabelnaam Klantactiva Scope Organisatie U kunt eventueel een Rijen filteren voorwaarde toevoegen om te bepalen wanneer de flow wordt uitgevoerd. Bijvoorbeeld:
msdyn_operationalstatus eq 690970001(Needs Service).
Tip
Als u de stappen voor het maken van werkorders wilt testen zonder een Dataverse-record te wijzigen, maakt u een kopie van uw stroom en vervangt u de Dataverse-trigger door handmatig een stroom te activeren. Voeg invoerparameters toe (zoals tekstinvoer voor de serviceaccount-id, werkordertype-id en prijslijst-id), zodat u testwaarden kunt doorgeven wanneer u de stroom uitvoert. Nadat u hebt gecontroleerd of de werkorder juist is gemaakt, gaat u terug naar de Dataverse-trigger in uw productiestroom.
De actie Werkorder maken toevoegen
Selecteer + Nieuwe stap en zoek naar Voeg een nieuwe rij toe (Microsoft Dataverse-connector).
Selecteer dezelfde Dataverse-verbinding die u voor de trigger hebt gebruikt. Het veld Tabelnaam wordt alleen weergegeven nadat een verbinding is geselecteerd.
Stel de tabelnaam in op Werkorders.
Vul de vereiste velden in:
Veld Waarde Werkorder nummer Voer de expressie guid()in als tijdelijke aanduiding. Het veld Werkordernummer is vereist voor de gebruikersinterface van de Dataverse-connector, maar de invoegtoepassing voor automatische nummering van Field Service wijst automatisch het juiste opeenvolgende werkordernummer toe wanneer de record wordt opgeslagen. Als u een expressie wilt invoeren, selecteert u het veld, gaat u naar het tabblad Expressie in het deelvenster met dynamische inhoud, typtguid()u en selecteert u OK.Serviceaccount Selecteer het account met behulp van het zoekveld of voer de expressie concat('/accounts(', 'service-account-guid', ')')in op het tabblad Expressie als u een vastgelegde of dynamische GUID moet gebruiken. Zie hieronder voor informatie over hoe u dit kunt vinden.Type werkorder Selecteer het type werkorder met behulp van het zoekveld of voer de expressie concat('/msdyn_workordertypes(', 'work-order-type-guid', ')')in op het tabblad Expressie als u een vastgelegde of dynamische GUID moet gebruiken. Zie hieronder voor informatie over hoe u dit kunt vinden.Prijslijst Selecteer de prijslijst met behulp van het zoekveld of voer de expressie concat('/pricelevels(', 'your-price-list-guid', ')')in op het tabblad Expressie als u een vastgelegde of dynamische GUID moet gebruiken. Als u de prijslijst dynamisch ophaalt met behulp van een actie Lijstrijen in een Voor elke lus, gebruik danconcat('/pricelevels(', items('YourLoopName')?['pricelevelid'], ')')in plaats daarvan en vervangYourLoopNamedoor de naam van uw lus. Zie hieronder voor informatie over hoe u dit kunt vinden.Systeem status 690970000(Ongepland)Belastbaar falseInstructies Dynamische inhoud van de trigger gebruiken, bijvoorbeeld de assetnaam Serviceaccount: typ de accountnaam rechtstreeks in het veld Serviceaccount om ernaar te zoeken en te selecteren. Als de trigger een wijziging van klantactiva is en de activa is gekoppeld aan een account, kunt u in plaats daarvan Account (Klantactiva) selecteren in het paneel voor dynamische inhoud. Als u rechtstreeks een GUID wilt gebruiken, gaat u naar Service>Klanten>Accounts in Velddienst, opent u het account en kopieert u de record-id van de browser-URL (de waarde tussen
%7Ben%7D, of de gewone GUID als de URL niet is gecodeerd).Type werkorder: typ de naam van het werkordertype rechtstreeks in het veld Werkordertype om ernaar te zoeken en te selecteren. Als u rechtstreeks een GUID wilt gebruiken, gaat u naar Instellingen>Werkorder>Werkordertypen in Field Service, opent u het type werkorder en kopieert u de record-id van de browser-URL.
Prijslijst: typ de naam van de prijslijst rechtstreeks in het veld Prijslijst om ernaar te zoeken en te selecteren. Als u rechtstreeks een GUID wilt gebruiken, gaat u naar Instellingen>Algemene>prijslijsten in Field Service, opent u de prijslijst en kopieert u de record-id uit de browser-URL.
Opmerking
De Dataverse-connector vereist opzoekvelden om een OData-entiteitsverwijzingspad (bijvoorbeeld
/accounts(guid)) te gebruiken in plaats van een gewone GUID. Als u een lege GUID invoert, treedt er tijdens runtime eenODataUnrecognizedPathExceptionfout op. Deconcatbovenstaande expressies maken de juiste padindeling.Sla de flow op en test deze.
Optie 2: Een werkorder maken op basis van een HTTP-aanvraag
Gebruik dit patroon om een werkorder te maken op basis van een extern systeem, zoals een klantportal, ticketsysteem of IoT-platform.
Stel de trigger in
Selecteer in Power Automate Create>Instant cloud flow.
Geef de stroom een naam en selecteer Wanneer een HTTP-aanvraag wordt ontvangen als de trigger.
Selecteer Maken.
Plak in het veld voor aanvraaglichaam-JSON-schema het volgende schema:
{ "type": "object", "properties": { "serviceAccountId": { "type": "string" }, "workOrderTypeId": { "type": "string" }, "priceListId": { "type": "string" }, "instructions": { "type": "string" } }, "required": ["serviceAccountId", "workOrderTypeId", "priceListId"] }Selecteer een van de volgende opties voor wie de stroom kan activeren:
Optie Wanneer gebruikt u Alleen gebruikers in mijn huurdersomgeving Aanbevolen voor productie. Bellers moeten zich authenticeren met Microsoft Entra ID en een geldig OAuth bearer token presenteren. Gebruik dit voor interne systemen of vertrouwde service-principals. Iedereen De URL zelf fungeert als de referentie. Er is geen extra verificatieheader vereist. Gebruik dit alleen wanneer het aanroepende systeem geen Entra ID token kan verkrijgen en u ervoor kunt zorgen dat de URL veilig wordt opgeslagen. Meer informatie over het beveiligen van door HTTP geactiveerde stromen in OAuth-verificatie toevoegen voor HTTP-aanvraagtriggers.
Het HTTP-URL-veld heeft het kenmerk Alleen-lezen. Vul het veld niet in. Power Automate vult deze automatisch in wanneer u de flow voor het eerst opslaat.
Sla de stroom op. Het veld HTTP-URL wordt nu gevuld met de eindpunt-URL . Kopieer deze URL en geef deze op aan degene die het externe systeem configureert (zoals een ontwikkelaar of systeembeheerder). Het externe systeem activeert de stroom door een HTTP POST-aanvraag naar deze URL te verzenden met een JSON-hoofdtekst die overeenkomt met het schema dat u hebt gedefinieerd. Voorbeeld:
POST <paste the HTTP URL here> Content-Type: application/json { "serviceAccountId": "<account record GUID>", "workOrderTypeId": "<work order type record GUID>", "priceListId": "<price list record GUID>", "instructions": "Reported issue: equipment not functioning" }Telkens wanneer het externe systeem deze aanvraag verzendt, voert Power Automate de stroom uit en maakt een werkorder aan in Field Service.
De actie Werkorder maken toevoegen
Selecteer + Nieuwe stap en zoek naar Voeg een nieuwe rij toe (Microsoft Dataverse-connector).
Meld u aan bij de Microsoft Dataverse-connector of selecteer een bestaande verbinding. Het veld Tabelnaam wordt alleen weergegeven nadat een verbinding is geselecteerd.
Stel de tabelnaam in op Werkorders.
Wijs de hoofdtekstvelden van de HTTP-aanvraag toe aan de werkordervelden:
Werkorderveld Waarde Werkorder nummer Voer de expressie guid()in als tijdelijke aanduiding. Het veld Werkordernummer is vereist voor de gebruikersinterface van de Dataverse-connector, maar de invoegtoepassing voor automatische nummering van Field Service wijst automatisch het juiste opeenvolgende werkordernummer toe wanneer de record wordt opgeslagen. Als u een expressie wilt invoeren, selecteert u het veld, gaat u naar het tabblad Expressie in het deelvenster met dynamische inhoud, typtguid()u en selecteert u OK.Serviceaccount concat('/accounts(', triggerBody()?['serviceAccountId'], ')')Type werkorder concat('/msdyn_workordertypes(', triggerBody()?['workOrderTypeId'], ')')Prijslijst concat('/pricelevels(', triggerBody()?['priceListId'], ')')Systeem status 690970000(Ongepland)Instructies @{triggerBody()?['instructions']}Voeg eventueel een antwoordactie toe om de nieuwe werkorder-id te retourneren aan het aanroepende systeem:
- Selecteer + Nieuwe stap en zoek naar antwoord (vanuit de aanvraagconnector ).
- Stel statuscode in op
200. - Selecteer in het veld Hoofdtekst het pictogram voor dynamische inhoud en kies msdyn_workorderid in de stap Een nieuwe rij toevoegen . Dit is de unieke id van de werkorder die zojuist is gemaakt.
Zonder deze stap ontvangt het aanroepende systeem geen antwoord en treedt er een time-out op voor de HTTP-aanvraag na het wachten. Als u deze stap toevoegt, ontvangt het aanroepende systeem een
200antwoord met de werkorder-id zodra het proces is voltooid.
Waarden voor de optie Systeemstatus instellen
Gebruik deze geheel getalwaarden bij het instellen van de systeemstatus in een stroom- of API-aanroep.
| Etiket | Waarde |
|---|---|
| Ongepland | 690970000 |
| Ingeroosterd | 690970001 |
| Wordt uitgevoerd | 690970002 |
| Afgesloten | 690970003 |
| Geboekt | 690970004 |
| Geannuleerd | 690970005 |
Overwegingen
Accounteigendom voor stroomverbindingen
Werkorders die zijn gemaakt door een flow, zijn eigendom van het verbindingsaccount dat in de Dataverse-connector wordt gebruikt. Zorg ervoor dat dit account de juiste beveiligingsrol heeft en dat werkorders die door de stroom zijn gemaakt, worden weergegeven in de verwachte weergaven en wachtrijen.
Onderliggende records
Met de actie Een nieuwe rij toevoegen wordt alleen de koptekst van de werkorder gemaakt. Als u werkorderproducten, -services of -servicetaken wilt toevoegen, voegt u een afzonderlijke stap voor het toevoegen van een rij toe voor elke onderliggende tabel (msdyn_workorderproduct, msdyn_workorderservice, msdyn_workorderservicetask) en stelt u het opzoekveld Werkorder in op de ID die door de stap voor aanmaken is geretourneerd.
API-frequentielimieten
Power Automate stromen zijn onderhevig aan dataverse-API-limieten. Voor scenario's met grote volumes kunt u overwegen het Dataverse Web API-batcheindpunt te gebruiken of stroomuitvoeringen te verspreiden met behulp van een geplande trigger met batchverwerking.
Dubbele werkorders vermijden
Als een stroom regelmatig op dezelfde trigger wordt uitgevoerd, voegt u een voorwaarde toe om te controleren of er al een werkorder bestaat voordat u een nieuwe maakt. Gebruik een actie Lijst rijen die is gefilterd op de bronrecord-ID om bestaande werkorders te controleren.
Foutafhandeling
Voor productiestromen voegt u de stap Een nieuwe rij toevoegen samen in een Scope actie en voegt u een parallelle vertakking toe die is geconfigureerd om heeft gefaald uit te voeren. Gebruik deze vertakking om de fout te registreren of een melding te verzenden. Voor door HTTP geactiveerde stromen voegt u altijd een antwoordactie toe, zodat het aanroepende systeem een succes- of foutstatuscode ontvangt in plaats van een time-out.