Microsoft Dynamics 365
IEG4 is a Microsoft Gold Partner and, reflective of the fact that some councils have already made Microsoft Dynamics 365 (D365) part of their ongoing strategy, with the latest build of our online forms framework we have built functionality to integrate our online forms with D365.
These is comprised of three key elements:
1) Online form pre-population
2) The ability to update a case status as a form is started, saved, and submitted
3) The ability to add a completed version of the form (PDF) and any evidence uploaded to the case
We will walk through what this functionality is and how it is enabled.
Online Form Pre-population (from Dynamics CRM)
IEG4 has a consistent methodology for external applications to populate data into our online forms already. This extends that capability to handle D365 specifics too.
What this means, without reading the technical stuff below, is that in practice is that when a form is started the data from D365 is automatically within the form to save re-keying.
The method is using a post as follows with a variety of different tokens that enable pre-population:
POST https://<url-to-form>/launch HTTP/1.1
Content-Type: application/x-www-form-urlencoded
autostart=prepop
&x-api-key= <key>
&prepop.whoareyou.Firstname= <D365 account first name>
&prepop.whoareyou.Surname= <D365 account surname>
&prepop.whoareyou.AddressFieldsAddressLine1= <D365 account address line 1>
&prepop.whoareyou.AddressFieldsAddressLine2= <D365 account address line 2>
&prepop.whoareyou.AddressFieldsAddressLine3= <D365 account address line 3>
&prepop.whoareyou.AddressFieldsAddressLine4= <D365 account address line 4>
&prepop.whoareyou.AddressFieldsPostcode= <D365 account address postcode>
&prepop.whoareyou.DaytimeTelephoneNumber= <D365 account telephone number>
&prepop.whoareyou.MobileTelephoneNumber= <D365 account mobile number>
&prepop.whoareyou.Email= <D365 account email address>
&consumerId= <D365 account id>
&consumerCaseId= <D365 account case id>
&consumerSource=d365
Case Status Updates
IEG4 has a consistent methodology for external applications to populate data into our online forms already. This extends that capability to handle D365 specifics too.
When an online form is started we update the case with the form’s reference and also the case’s status. I.e. when it is started the status is set to 'In-progress'.
Then change this status as necessary. The following events show the status set:
when moving from one page of a form to the next (In-progress)
when the user saves it (Saved)
when a user submits it (Submitted)
What this means, without reading the technical stuff below, is that in practice is that when a form is started / saved / submitted, the case status in D365 is updated.
This uses the standard Microsoft D365 Web API (RESTful) /incidents as shown below:
POST https://<URL-TO-D365-API>/incidents
{
“incidentid”: <D365 case id>,
“<statusField>”: <status field code for in-progress>,
“<formReferenceField>”: <unique form reference>,
“<formModifiedOn>”: <date the form was last modified on>
}
Form PDF/Evidence Uploads
When the form is submitted we will automatically update the status as per above but we will also automatically append a PDF containing the contents of the completed form.
Plus, where supporting documentation/evidence has been uploaded this can also be automatically appended to the case's timeline.
The following illustrating a piece of evidence (an image) having been added.
What this means, without reading the technical stuff below, is that in practice is that when a form is submitted, the form PDF and any evidence uploaded is automatically added to the timeline in D365.
This uses the standard Microsoft D365 Web API (RESTful) /annotations as shown below:
POST https://<URL-TO-D365-API>/annotations
{
"mimetype": <mime type will be the mime type of the file uploaded as detected by the browser. The mime type for the form pdf will be ‘application/pdf'>,
"subject": <subject from matrix - see Table 1 below>,
"filename": “<filename of form pdf>.pdf",
“documentbody": <base64 encoded version of the form PDF> ,
"isdocument": true,
"objectid_incident@odata.bind": "incidents(<D365 case id>)"
}
The case ID is included in the update which is what links the document appropriately.
Last updated
Was this helpful?