Automate Document Creation
Recently I had the requirement to automate document creation with Document Core Packs. You can do this via classic workflows, like explained in this article:
But on the one hand, whenever you open the solution explorer and want to add a new classic workflow, you are presented a message, telling you that classic workflows are already quite outdated and you should have a look at Power Automate.
And on the other hand, this classic workflow references a CRM record (document template), so you will have to reconfigure it in each of your environments, since the template will have a different GUID accross your environments.
So I had a look, how to achive the same via Power Automate.
Trigger
We start with adding a new flow, that triggers on update of a record using the Common Data Service (current environment) connector, since we can define the filtering attributes there, so that our flow doesn't trigger on every update, but only when our attribute of interest is being changed.
In our case we look for a workorder, where the statecode is changed to inactive:
Object Type Code
To generate a document for a record, the mscrm-addon automerge record relies on a link to the underlying record. This link has to be in the same format, like the link created in classic workflows, when you add the "record url". Which means we have to query the object type code of our underlying record.
For some system entities like contact (1), account (2), user (8) a.s.o the object typecode is always the same, but for entities introduced via solutions, e.g. "Field Service" solution or for custom entities, the object type codes can be different accross your environments.
To get the object type code, we have to do a web API call, which means we have to ellaborate our CRM url first.
This is done by initializing a variable with following formula:
Then we add an "Invoke http webrequest" action, where we call the web api to get the object type code for our record, in our case the msydn_workorder entity:
Finally we intialize another variable where we assemble our record URL:
Document template
As a next step we have to fetch our document template, by adding a list records action and searching for the document template based on its name and entity:
Create Document
Then we create a mscrm-addons auto merge item to create the document, by addind a CDS create record action. We choose the auto merge action, define a name, add the record URL:
Do until
Then we have to wait until the document has been created. In classic workflows you would have defined a wait condition, while in Power Automate you achieve this with a "do until" action. The do until action queries your auto merge record until it reaches statecode inactive:
Attach document
Finally, when your document has been created, you have another create record step, where you create another mscrm auto merge item, that attaches the created document as a note to the underlying record.
We choose auto merge action "Attach to Entity" and add the record url:
and we link the created document
At the end you could also add steps to clean up the auto merge items created by this flow. Or you define a recurring bulk delte job that regularly cleans up these items.
When i try to attached image, show error, I don't know why. Then i try Delimiti. Its an other great option for automate document creation and for build contracts using forms.
ReplyDeleteThanks