Create a new business process programmatically with multiple entities

Hey Guys,

Today I'm going to talk about an exciting new feature of CRM 2013/2015 environment "Business Process Flows". You can read more about the features here

While you can do this job from UI, but the idea is to automate the creation of next steps automatically. This article talks about the a plugin code using CRM SDK to achieve this.

Some Prerequisites before you start:

  1. Hands on CRM 2013 - Business process flow
  2. Hands on CRM SDK 2013
  3. Plugin Registration for CRM 2013
  4. .NET Framework 4.0 / Visual Studio 2012 or higher

Consider the scenario below:

  • Opportunity Entity
  • Custom Entity new_customflow

Please make sure you've enabled "Business Process Flows" in the entity customization for "new_customflow" entity, see below image:

  • Now go ahead and create a business flow with a custom entity

This will look like as shown below:

You're all set with designing the business Flows via CRM customizations.

  • Now when you create opportunity, it should automatically create a record for Custom Flows and link it to existing opportunity.

You'll need to write the code as below

  • This code will be registered as Plugin

For Plugins (Config) :
a. Message: Create
b. Entity: Opportunity
c. Operation: Post
d. Execution mode: Sync

Note: The workflow Id and Stage Id has to be correctly mentioned. In this sample, I've used hardcoded values which can be replaced by just doing a simple retrieve using SDK. Or you can use Early bound classes to use "WorkflowSet".

You're now all set for automating your business process flows. As you hit "next" you can see the opportunity is now listed as connected flow. In the below screenshot, notice "108".

Stages preview:


I'd like to thank Kaustubh Giri who helped me with all the testing and innovating the business processes.

Happy customizing! :)

Thanks,
Apurv