Add Actionable Messages to your Playbooks in Dynamics 365 Sales -part 1

Posted by

Finally I’m going to implement Playbooks in our company’s Dynamics 365 Sales environment. If Playbooks would be available for custom entities I would have done this earlier, but unfortunately it’s not possible (yet). Please vote up the idea to make this available: Enable Playbooks for all entities, including custom entities.

Anyway, we’re going to use Playbooks in our Sales process. So the use case it that the back office of our Sales department is supporting our sales people in preparing the proposal and quote for the (potential) customers. To be able to do so they need to get the formal commitment from the departments involved, like Legal (compliance), Finance (screening, bank guarantees), Calculation, etc. So I setup a demo of a Playbook template with tasks, but since we’re (still) an e-mail driven organisation the back office was not convinced that setting a task on somebody’s name would make the difference. They suggested to use e-mail with voting buttons and the possibility to give a reason for their response. Talking about buttons and structured information sounds like Actionable Messages to me. So I ended up creating Power Automate Flows to get this done.

The idea is to use a Playbook template with a number of tasks and track their progress. When a Playbook is started from an Opportunity record, the tasks are created and that will be the trigger to create the Actionable Messages and add them to the Playbook record as well.

Here is the overview of the first Flow:

I use a trigger condition so the flow will only trigger when a task is created regarding a Playbook instance:
@equals(triggerOutputs()?[‘body/_regardingobjectid_type’],’msdyn_playbookinstances’)

The following actions will get the details of the regarding Playbook, Opportunity and Creator.

In the next actions I initialize some variables that are used in the JSON of the Actionable Message.
Please read my previous blog post how to register your application at the Developer Dashboard.
You can set the scope of submission to the test users option for an auto-approval.

The Originator id is created when the application (as new provider) is registered there.

In the Compose action I’ve pasted the JSON code from the Adaptive Cards designer , wrapped it with the necessary HTML code and added the dynamic content. You can find the complete example code here.

Next action is to create an Email message and set the regarding field to the Playbook record id.
For demo purpose I use the same user as sender and receiver.

Then I use the bound action SendEmail to send the Email message (I love it).

That’s it. Now for every task that is created from a Playbook an Actionable Message is added and sent.

The Actionable Message in this example looks like this:

In part 2 I will show you the receiving flow that is used to process the actions from the Actionable Messages.