Workflow Elements Home

Current Version: 1.0.5.2, released September 10th, 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 from the App Source, or for CRM 2015 and earlier check out the download page for older versions.installFromAppSource
button_download-for-dynamics365-or-crm

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

26 thoughts on “Workflow Elements Home

  1. Pingback: Microsoft Dynamics CRM | Field Service–Customer Reports - Microsoft Dynamics CRM Community

  2. It would be great to use the Query feature to prepare a list of people (through some complex parameters, fetchxml) and put that list as Recepients

    Like

  3. Related to the above, my biggest headache with workflows is when an entity has many related records e.g. A quote and quote products. You want to update a quote product while running a workflow from the quote and apply a change to a related quote product (or all related quote products) based upon a criteria. Ability to start a child workflow where the input parameter of the child workflow is the quote id where you are running the first workflow from would help. So in that way on child workflow first check criteria could be where parent quote I’d = quote id from parent workflow. This is pretty much impossible for me out of the box. Or did I miss something?

    Like

  4. Have a look at North52 formulas. I haven’t come across a problem that I haven’t been able to solve using it. At my current client we are using it to write some seriously complex business logic, including integration to SAP. the logic is written using an easy to understand language and has a ton of functions including fetchxml support

    Like

    • I’ve seen North52 before and it’s pretty impressive what they’ve built (and they charge accordingly). I’m not trying to build a workflow package to do everything for everyone; I want to build a simple solution to let the average non-technical user do some really cool things that should be available out of the box.

      Like

  5. I like this workflow solution as it gives you more control and it’s a simpler setup. With North52 solution what happens is that they add so many plugins and steps as part of scheduled formula that it affects overall system performance.

    Liked by 1 person

  6. Hi Aiden-

    This solution is absolutely amazing. Thank you for taking the time to write this AND take requests for additions! 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.

    THANK YOU!
    -Joe

    Liked by 1 person

  7. Hi Aiden,

    I’ve attempted to use the “Get a Table (Default Styles)” to send an email with the invoice products related to a the parent Invoice but instead I get an email with all Invoice Products in my system. Would you happen to know where I might have went wrong in my setup?

    Like

  8. Hi Aiden,

    First of all I would like to thank you for creating this wonderful solution!! I tried using “Add product to Order” and product description is not available when using the “Write-in Product Name”. Is it possible to be added to the workflow?

    Thanks
    Mario

    Like

  9. Hi Aiden,

    Question about “Run on Query Results”. Can this be used to run workflows on sibling records?

    For example, I have a membership record of a certain type and I want to know whether contact has another membership record of a specific type. If that record is found, run workflow on it, if it is not found then run a workflow to create it.

    Thanks again!

    Like

    • Hi Reggie,

      The view would be something like: “Membership (of Type other), with a Contact, with a Membership (of Type this one), where Membership of type this one contains data.” That should give you just the other memberships.
      Run the query to check the number of results. If there is one, call “Query – Run Workflow on Results” with the same view and the workflow. If there isn’t one, create the record.

      Enjoy!

      Like

  10. Hello Aiden, this sounds amazing. I will try this soon. One requirement that I have run into is to query for a single record based on certain filter criteria (say Name) from an entity that is not related to the record that triggered the workflow. For example, say, you have a Custom Settings entity where you store certain global parameters (say Approval Limit) and you want to query the record and use the result in the workflow. Is this possible to add? Thanks.

    Like

    • Hi. Thanks for the comment. You can do that now using the activity – just build your view the way you normally would in an advanced find and make sure the value you want is the first column in the results. You’ll be able to get the field value in one of the “Single Value” return results.

      Like

      • That’s great – thanks! Would it be possible to update this unrelated record within the workflow?

        Like

      • Hi. You sure can do it, in a round-about way. If your related record was “Custom Setting” and you want to set a field, you’d have to have a workflow on ‘Custom Setting’ that has the update logic, and mark it as a child workflow. In the main workflow, call the activity ‘Workflow – Run on Query Results’ with the query for the custom settings. You won’t be able to pass any values into the child workflow unfortunately, but you may be able to retrieve any values you need by writing a query on the child.

        Like

  11. Pingback: Workflow Elements - Marcello Tonarelli Blog - Dynamics CRM Users - DUG

  12. I’ve just downloaded this and its brilliant! I needed to add a Order Line to every Order and this has made it possible. Is there any plans to add the ability to add additional fields to the “Sales – Add line item” workflow? I have some custome fields that I’d like to be able to add this way.

    Liked by 1 person

    • Hi Gary,

      Thanks! I tried a few tricks to allow that but didn’t have any success – what I wanted to do was return the line item as an output parameter so you could set whatever fields you want. The code was valid, but the workflow itself would ignore the order detail as a return parameter.

      One hackey way to do it is to have a field on your sales order that mirrors the field you want to set on the order details, so you have order detail “Other Description” and on the order, “Detail’s Order Description”. In your workflow, set the order’s field and then create the order detail. You’d add a workflow on the order detail so on create of the detail, update the detail’s Other Description with the field from the Order. If you had multiple line items, you’d update the order field before you create each item. It’s definitely hackey but should do the job.

      Good Luck! Aiden

      Like

      • Hi Aiden

        Thanks for the quick response, i’ve been reading it over and over trying to get my head round how to make it work. I’m really not sure what you mean, probably the mix of not enough CRM skill and its been a long day.

        Gary

        Like

      • Hi Gary,

        I didn’t write that very well, so I think I deserve most of the blame 🙂 The idea I was going for is that you can’t push a value from the Order to the Order Detail, but if you’re on the Order Detail then you can pull a value from the Order.

        Add a new field to the Order that the Order Detail will pull from. Then, set up a workflow that runs on the Order Detail when it’s created, which sets your field on the detail, setting it to the new field on the Order. In your main Order workflow, instead of trying to set a field on the detail you just need to set the field on the Order, and create the Order Detail (and that workflow will set the field to whatever you set on the order).

        Hope this helps clear things up. If not, I’ll shoot you an email and we can get into more detail.

        Thanks,
        Aiden

        Like

  13. Hi Aiden
    That makes sense, thank you for clearing that up and thank you for writing these workflows. They are making my life easier with CRM.
    You don’t have anything to add Price List Items to products do you?
    Thanks,
    Gary

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s