Current Version: 1.0.4, released June 13th, 2017

Workflow Elements is a free solution for Dynamics 365 that gives you the tools to build workflow in ways you never thought possible. You can query for records (even filtering it to related records), insert tables into emails and tasks, format dates any way you want and more, all with a clean, easy to use interface.

In less than 5 minutes you can write a workflow that sends a fully customized itemized receipt to a customer with all of their product information. Normally you’d have to find a developer to write custom code for you, but not anymore. You can download for Dynamics 365 or 2016 below, or for CRM 2015 and earlier check out the download page for older versions.


I’m always looking for new ways people are using Workflow Elements so leave a comment or hit me up on Twitter (@AidenKaskela). If you experience any issues, check out the Reported Issues page to let me know so I can get it fixed.

What are workflow activities?

A workflow is a set of instructions that you combine to give CRM functionality to suit your business needs (Trigger: When an invoice is paid; Check: If the customer is an individual; Action: send an email confirmation). A workflow activity is one of the instructions, like a tool in the toolbox. Microsoft provides a lot of tools to let you do basic actions, but we need so much more. Fortunately, they’ve provided a way to expand on that with custom workflow activities.

A custom workflow activity can have input parameters and output parameters that you can interact with in your workflow. Having these simple mechanics available lets you build limitless custom activities. Whether it’s as simple as a math problem (you need to take in a number and return the square) or a complex integration, custom activities open up a whole world of customizations for the CRM user or Admin.

How are people using Workflow Elements?

Generate an full invoice and email a bill

One client of mine is deals with support cases, and when a case is resolved he generates an invoice, queries for the amount of billable time spent on the case, add a product to the invoice for the billable time, generates a bill for the invoice from a Word Template, renames the document to include the invoice number, attaches the newly renamed document to an email, and sends it to the customer on the invoice. He was able to build a fully automated billing system with a handful of activities and no custom code.

Email record details when somebody updates a record

I have a client who has a lot of events and all of the setup data is housed in Dynamics 365, and when some of the records change they want a manager emailed with the old and the new values. They set up workflows to run on change, and used an activity to get audit details for the record, then sent out an email with the details. This always ensures a second set of eyes on any changes to critical data (which can happen pretty easily with auto-save).

Send an email as an itemized receipt

I have a the step by step details for how you can do this for yourself. The organization has a workflow that runs when an invoice is paid. They have a query run to retrieve the invoice details for that invoice, then embed the table into an email. 5 minutes to set up and a clean, professional looking email.

Use custom date formats in an email

When you’re emailing somebody and want to include a date from Dynamics, you don’t have any flexibility about how it’s displayed. In some cases you might want the date to read “Tuesday, July 4, 2017”, or “7/4/2017 12:30 pm”,  and in others it could be “20170704 1230”. You can build up a custom date format and show a date time field however best fits your scenario.

And what are people saying?

We’ve just scratched the surface with this, but we’re already using it for weekly alerts to users for overdue follow-up, weekly activity emails to the sales managers, shipment notifications with line item detail from the invoices, sending quotes with the line item details to contacts and emails to our customers with all of the contacts in their organization so we make sure we keep the contact information clean and up-to-date.

– Joseph Markovich, Information Technology, Okaya Electric America