CRM 2011 – How to Schedule Recurring Workflows in CRM 2011

Gonzalo Ruiz has recently been writing some excellent CRM blog entries and he has just written another fantastic blog entry

Scheduling recurring workflows in CRM

On Richard Knudson’s blog he said that two of his most popular blog entries ever were based on creating a scheduled workflow in CRM 4.

So it was with interest when I saw the current blog entry on this subject and because there isn’t any scheduling tool within CRM but this is functionality that a lot of people would find useful.  This makes articles about scheduling interesting and useful to a lot of people working with CRM 2011.

Although below the instructions taken from the excellent blog post, he does attach some warnings and this is true because you have to be very careful about clogging up the ASYNC service because if you have ever experienced it going down you will know how important it is to CRM, if it shuts down or even slows down it’s a big problem.

WARNINGS:

  • Every time you create a recurring workflow, you should carefully consider what resource consumption implications it will have. Recurring operations tend to utilize a large amount of resources which can cause lagging to the CRM Asynchronous processing service.
  • You must select a primary entity for your workflow which will never be deleted, otherwise the entire recurring workflow will be cancelled. For example, you can set the primary entity of your workflow to be systemuser and trigger it the first time regarding your own system user.
  • There is a loop detection mechanism in CRM which would cancel processes/plugins that create infinite loops as the one above. The maximum depth for a recurrence/loop is 8; however, the depth is reset after 10 minutes of inactivity. Therefore, the workflow above should work fine because it has 1 month of inactivity so each time it executes the depth will be reset and it will never be cancelled by the loop detection mechanism.

1.  Define triggers:

Define the workflow as On-Demand and Child workflow (not automatic triggers)

2.  Define process:

Define the body of the workflow to represent the set of actions that must occur every month:

3.  Add the Wait:

Now you need a way to tell the workflow engine to repeat the process every month. To do so, I will first insert a wait step that will tell the workflow engine to wait for 1 month:

After the step, I need a way to “restart” the workflow. Since there are no while/for loops in the workflow designer, we must find another solution. I will simply create a recurrence pattern by having an “Execute child workflow” step which executes itself. Because the workflow is defined as a child workflow, it will call itself every month. After I activate the workflow it looks like this:

4.  Trigger the workflow once

The first time that the workflow executes, it must be triggered manually, after that it will schedule itself monthly from the time that it was executed manually. Since it is defined as an on-demand workflow, you can simply navigate to your primary entity and trigger the workflow manually.

5.  Verify

Once your workflow has been triggered for the first time, it should appear in the system jobs grid, waiting for the next month to resume execution:

Note that “month” is not the same as 30 days, it actually uses the calendar month definition, since CRM workflow uses the .NET DateTime class. Therefore, if it was first triggered the 1st of the month, it will always trigger the 1st of the month regardless of the number of days in a month.
Advertisements

CRM 2011 – Review of CRM alternatives

Many times on this blog I have commented on and linked to article comparing CRM 2011 and Salesforce, so it was with some interest I read this article which compares five of the most popular CRM systems

The article is called salesforce alternatives – 5 systems to consider

It is a well written article because it gives a good paragraph on each of the alternatives as well as the summary below

Here I recommend five alternative cloud CRM products that are worth testing out.

Microsoft Dynamics CRM NetSuite OneWorld CRM Oracle CRM On Demand Sage SalesLogix SugarCRM
Sales
Marketing
Service
Field Service
Social CRM
Mobile
Vertical Solutions

Read more: http://www.softwareadvice.com/articles/crm/salesforce-alternatives-5-systems-to-consider-1052011/#ixzz1NJAKH1i8

Could not load file or assembly or one of its dependencies. Access is denied.

I was getting an error today complaining about loading one of the assemblies in my web service.

I spent hours adding all sorts of security privildges to the folders in windows and in IIS.

initially I had the dll name in my google search, this lead me down completely the wrong path, finally I typed in the text in the title of this blog post

In the end the problem turned out to be permission on temporary ASP.NET folder and I finally found this article on how to set permission for the Temporary ASP.NET folder, which you can read here

To assign write permissions to the Temporary ASP.NET folder

  1. Click Start, click Run, type explorer, and then click OK.
  2. In Windows Explorer, move to the <drive:>\Windows\Microsoft.NET\Framework\v2.0.50727 (or <drive:>\WinNT\Microsoft.NET\Framework\v2.0.50727, where appropriate) folder.
  3. Right-click Temporary ASP.NET Files, and then click Properties.
  4. In the Temporary ASP.NET Files Properties dialog box, on the Security tab, click Add.
  5. In the Enter the object names to select text box, type <Domain or Computer name>\RunTimeUser, and then click OK.
    Aa545633.alert_note(en-US,CS.70).gifNote:
    As appropriate, substitute the user name for the anonymous user account you created for “RunTimeUser”.
  6. In the Temporary ASP.NET Files Properties dialog box, in the Groups or user names list, select the RunTimeUser account.
  7. In the Permissions for RunTimeUser list, select Write in the Allow column. (Read & Execute and Read should already be selected in the Allow column Click OK.
  8. In the Security dialog box, click Yes.
  9. Repeat steps 3 through 8 for the Web service accounts: CatalogWebSvc, MarketingWebSvc, OrdersWebSvc, and ProfilesWebSvc.

CRM 2011 – Released – Exam MB2-868 – Microsoft Dynamics CRM 2011 Applications

I have seen today that Microsoft have released the details of the new CRM 2011 Applications exam.   I personally associate this with understanding how CRM 2011 works in general, you have to learn about what all the different modules/sections of CRM 2011 do.

I am using my knowledge of the CRM 4 equivalent but looking at the parts covered it covers marketing, sales, management and service scheduling.  I found the CRM 4 exam very useful for understanding all different parts and how they worked as a whole.

You may not be interested in the exam straight away but to keep you gold partner status everyone will have to upgrade their certifications within a year of CRM 2011 being released.  You can read more about that here

The details about the exam are below, I noticed there is quite a lot of E-Material which is good because I prefer (well don’t have much choice) to study the for the exams using ebooks.

About this ExamThis certification exam measures your ability to understand and articulate how to use, maintain and support Microsoft Dynamics CRM 2011 application including managing Microsoft Dynamics CRM 2011 marketing automation applications, Microsoft Dynamics CRM 2011 sales applications, Microsoft Dynamics CRM 2011 service management applications, and Microsoft Dynamics CRM 2011 services scheduling applications.
Exam Topics Covered

The following list includes the topic areas covered on this exam.
  • Managing Microsoft Dynamics CRM Marketing Automation Applications
  • Managing Microsoft Dynamics CRM Sales Applications
  • Managing Microsoft Dynamics CRM Service Management Applications
  • Managing Microsoft Dynamics CRM Service Scheduling Applications
Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.
Managing Microsoft Dynamics CRM Marketing Automation Applications (27 percent)
  • Identify types of core records.
    • This objective may include: record types associated with marketing lists; core record hierarchy; relationships between record types
  • Create and work with marketing lists.
    • This objective may include: creating static marketing lists; creating dynamic marketing lists; updating marketing lists; adding marketing lists to a campaign
  • Create and work with marketing campaigns.
    • This objective may include: creating marketing campaigns; creating a quick campaign for a marketing list; create phone calls with a quick campaign; send emails with a quick campaign; identify limitations of a quick campaign
  • Manage marketing campaigns.
    • This objective may include: maintain campaign information; create and maintain planning activities; create and distribute campaign activities; associate target products, sales literature, and price lists with a campaign
  • Report and analyze marketing data.
    • This objective may include: analyze marketing information with advanced find; analyze marketing information with personal views; run a campaign performance report and a comparison report; create a personal marketing chart and a personal marketing dashboard
  • Manage campaign responses.
    • This objective may include: create a manual campaign response; create a campaign response from activities; convert campaign responses

Managing Microsoft Dynamics CRM Sales Applications (30 percent)

  • Manage customer and activity records.
    • This objective may include: identify core record types; create and maintain customer records, activity records, and lead records; convert activity records to leads; convert lead records to accounts, contacts, and opportunities; create and maintain sales literature; create and maintain competitors
  • Manage opportunity records.
    • This objective may include: create new opportunity records, close an opportunity; work with opportunity views; work with opportunity lists; connect with other records; assign opportunity records to individuals or teams
  • Configure the product catalog.
    • This objective may include: create unit groups; create and maintain products; create and maintain price lists; create and maintain discount lists; manage negative prices and quantities on products
  • Process sales orders.
    • This objective may include: add opportunity products; add write-in products for opportunities; select alternate price lists; create a quote from an opportunity; activate and revise quotes; work with orders; work with invoices; convert a quote to an order to an invoice
  • Manage metrics, goals, charts, and dashboards.
    • This objective may include: configure sales metrics; configure fiscal periods; create and assign goal records; create and recalculate parent and child goal records; work with system charts from an opportunity list; create and work with new dashboards in the workplace
  • Manage personal views and reports.
    • This objective may include: use advanced find to analyze sales information; save and work with advanced find views; build a report; run built-in reports; export sales information to Excel; implement filtering capabilities
  • Work with the Outlook client.
    • This objective may include: track incoming and outgoing emails; track appointments; convert emails to leads or opportunities; use template to send emails; attach literature to emails; create custom views in Outlook; create a grouped view of opportunity records; create an opportunity view with conditional formatting
Managing Microsoft Dynamics CRM Service Management Applications (24 percent)
  • Manage service cases.
    • This objective may include: working with case lists and views; searching for case records; working with system charts for cases; creating a new case record; creating related records; assigning case records; connecting a case to another record; maintain the subject tree; add notes to a case record; resolve a case record; create recurring appointments
  • Manage the Knowledge Base.
    • This objective may include: search articles from the workplace; associate an article with a case; use existing templates to create knowledge based articles; create and maintain article templates
  • Manage queues and teams.
    • This objective may include: create and maintain queues; add cases and activities to queues; work with routing; manage queue item records ; work with queue item details; create and manage team ownership of records
  • Manage contracts.
    • This objective may include: create and maintain contract templates; create a new contract; add contract lines to a contract; associate contract lines with products; contract line allotment details; contract line pricing; resolve cases with contracts; copy contracts; place a contract on hold; renew a contract; set a contract’s calendar
  • Manage analysis and reporting.
    • This objective may include: working with the case summary table; working with customer service system dashboards; creating a personal dashboard; identifying service metrics and goals; create a monthly goal for case records; add a progress chart to a service dashboard
Managing Microsoft Dynamics CRM Service Scheduling Applications (19 percent)
  • Identify service scheduling concepts and basic record types.
    • This topic may include: service scheduling scenarios; services and resource selection rules; users and facilities/equipment
  • Set up service scheduling.
    • This topic may include: set up work hours for users and for a new record; create a new facility/equipment record; create a new service record; add a selection rule for required users and for required resources; configure account and contact service preferences; create a site; associate resources with a site; create resource groups; create a service with a same-site selection rule
  • Schedule service activities.
    • This objective may include: create a new service activity; select resources by using the scheduling engine; select specific resources; schedule a service activity with same site rules; reschedule service activities; change status of service activities; display and resolve scheduling conflicts
  • Report and analyze service activities.
    • This objective may include: working with the service calendar; working with the service activity volume report; creating personal views of service activities; creating custom reports for service activities; send a direct email from a service activity; convert a service activity to an opportunity; convert a service activity to a case