With CRM 2011, workflows integrate with WF4 giving us all the power of the WF4 engine and designer. Nevertheless, there are some caveats to this approach. First, for now, custom XAML workflows are only available on premises (for the same reason as custom workflow activities are only available on premise: They cannot be sandboxed). Second, importing custom XAML into CRM requires the highest privilege (deployment administrator) and the organization must be configured to support XAML workflows (disabled by default).
These are the steps to follow before you import custom XAML:
- Ensure you are a deployment administrator. To verify this, you can try to open the Deployment Manager. If you are able to do so then you have the privilege. Otherwise you will need to ask your deployment administrator to add you as a deployment administrator (in DM) or to import the custom XAML for you.
- Make sure that the organization supports declarative (XAML) workflow. To do so, you should run this script in powerShell:
$setting = Get-CrmSetting CustomCodeSettings
Now you are all prepared to import custom XAML. This is probably the easiest way to import a custom XAML workflow:
- Create a workflow using the CRM process designer and select the primary entity you will use.
- Add the workflow to a solution
- Export the solution as unmanaged and you will find a xaml file in the solution zip file under a folder called Workflows
- Edit the xaml file in Visual Studio 2010
- Replace the xaml file in the original solution zip file
- Import the solution back to CRM and voila.