Bulk Execute On-Demand Workflow with Kingswaysoft SSIS

Recently I read a discussion in a mailing list on how to execute large number of on-demand workflow and out of curiosity, I tried to look for the method that was discussed, which uses Microsoft Dynamics CRM for Outlook as elaborated here:


I tried that method with 7000 records and apparently it took long time for me to finish the operation and makes my Outlook application not usable for long period. So, I think there should be another way to do this, as I was presenting the SSIS toolkit in the last Melbourne CRM UG, I recalled that there’s “Execute Workflow” functionality in Kingswaysoft’s SSIS toolkit.

So out of my experiment, I set up a simple SSIS project to execute On-Demand Workflow on Contact record to give the value on email field:


And create a simple SSIS process as follow:

1. Contact Data Source:


2. Destination To Execute Workflow with Batch Size of 200 (I learned this batch size from SF, where their bulk operation is limited in 200 for performace, unsure about Dynamics CRM)



3. The Result

7000Records Complete


The whole operation that took hours when using Microsoft Outlook client, now accomplished within 4 minutes and 55 seconds (approximately 5 minutes)! It is accomplished with relatively simple and intuitive process.

Below is the result on contact records:

ContactBefore ContactAfter




2 thoughts on “Bulk Execute On-Demand Workflow with Kingswaysoft SSIS

  1. How would I use a workflow to create an on-demand process that would update multiple contacts under a single account with excel data? I wouldn’t be adding contacts, only updating existing contacts. The people in the excel sheet would be the same as the contacts under the account. The contacts in the excel would be linked to those in the CRM by means of a tagged id number. Can I create a workflow to do this, or would I need to use a plug in?

    • if I understand your question correctly, you want to run an on-demand workflow against a list of contacts in a spreadsheet.

      Then there are a few options here:
      1. use SSIS + Kingswaysoft, use excel data source and use KingswaySoft destination to execute workflow based on the contact id.
      2. Use a temporary entity in Dynamics where you have a lookup to contact (to resolve based on the contact id) and then run the on demand workflow against them. once finished, delete the records.

Leave a Reply

Please log in using one of these methods to post your comment:

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 )

Connecting to %s