Plugin Development for Dynamics CRM Workshop in November


Developing Dynamics CRM plug-ins is hard, right? Well, not really; there just happens to be a lot to know and understand about both the development process and the actual implementation process.

Our teaching methodology involves you writing a lot of plug-ins, after all, doing is the best way to learn, right? We will have between fifteen and twenty exercises, some of which will be conducted in class, some of which will be assigned as homework. Again, lots and lots of hands–on lab work to help you reinforce the concepts of plug–in development.

The Agenda

Here are the high–level topics that we’ll cover:

  • Plugin architecture and design
  • Setting up your development environment
  • Developing a basic plug–in
  • Deploying plug-ins
  • Debugging plug-ins
  • Developing custom workflow activities
  • Maintenance and troubleshooting
  • Additional miscellaneous topics

Download the full syllabus here.

The Specifics

When: Thursday, November 12th and Friday, November 13th. 8:00am–4:00pm Central time

Where: “In the cloud.” This is virtual training with each student receiving their own development server for the duration of the class. We’ll be conducting the class using GoToMeeting.

How Much: We are offering two types of tickets:

  • Standard Seat: $895 per person
  • Premium Seat: $1,495 per person.

The Premium Seat includes 4 hours of post-workshop consulting services to help you get through some of the challenges that you may face with your first plugin development project.

*** A 10% discount is applied for two or more students.

Eventbrite - Plug-in Development with Dynamics CRM (November)

What is required to attend the workshop?

In order to be effective in this class, I need you to be knowledgeable in two things:

1. I need you to be a .NET developer, because we’ll be coding in C# and using Visual Studio to create our plug-ins.

2. I need you to know and understand Dynamics CRM. Without a firm grasp of how the product works, there is no way for you to create a plug–in that interacts with the Dynamics CRM system.

How about some goodies?

Did I mention that I’ll be giving you the same tools and templates that I use to do my own plug–in development? Well, I am. This will really jump–start your plug–in development efforts.

Got any questions?

If so, just let me know.

Want to hear what others have to say about this workshop?

Check out these comments from previous students":

I found Mitch Milam’s workshop to be a great way to jump-start my plug-in development. Besides presenting class material in such a way that it was easy to comprehend, Mitch also provided Visual Studio templates. These templates proved to be extremely useful because they take care of the necessary plumbing when writing plug-ins, speeding up the development time. Additionally, the labs we worked on in class covered real-life scenarios directly applicable to my day-to-day work. In fact soon after the workshop, I solved a business problem by building a plug-in that was based on one of the labs we worked on in class.

Natalya Pinsker, Baltimore, MD

Mitch’s Plug-in Development workshop helped me get out of the gate and a good way down the path of C# development for Microsoft Dynamics CRM – including both Plug-ins and Workflow Assemblies.

Mitch is an excellent instructor who responds to all questions and helps people along at their own pace.

I highly recommend this workshop for anyone who is looking to get into the Microsoft CRM development game. It will accelerate your process and save you more than enough time to pay for itself.

Aron F.

Your class was an eye opening experience. In addition to learning about Plug-In Development this class exposed me to so many other aspects of Microsoft Dynamics CRM that I was not aware of.

Marlon R. Joseph, Application Analyst III, Houston Baptist University

Next Steps

Ready to get your plug-in groove on?  Click the this button:

Eventbrite - Plug-in Development with Dynamics CRM (November)

August Training: Turn your .NET Developer into a Dynamics CRM Developer


Course Description

If you are looking to get started with Dynamics CRM development, and are looking for an instructor-led, hands-on workshop, then let me introduce you to Turn your .NET Developer into a Dynamics CRM Developer.

In case you did not know, Microsoft decided to only offer the Extending Dynamics CRM course via eLearning, starting with Dynamics CRM 2013. eLearning, which is a self–study program, is great for many people, but I think students gain a tremendous amount of learning and understanding from having an instructor who works with Dynamics CRM development on a daily basis. This student-instructor interaction combined with the ability for the student to ask questions and obtain clarifications, makes this course all the more valuable.


This class is taught by Mitch Milam, nine–time Microsoft Most Valuable Professional for Dynamics CRM and an independent consultant specializing in Dynamics CRM architecture, development, and training.


We have taken the topics normally covered by the official Microsoft Extending Dynamics course, and expanded their depth quite substantially. Instead of a three–day course, this is a five–day course with most of the extra content being the addition of a large number of hands–on labs. The information covered is relevant to both Dynamics CRM 2013 and 2015.


Monday, August 31st through Friday, September 1st.

Class starts at 8:00am CST and will last five or six hours per day, depending on the day. Please budget the entire day so that you have time to complete the homework assignments.


This is an Internet-based workshop. Classroom time and discussions will be facilitated using GotoMeeting. Each student will be given their own virtual development environment for the duration of the course. This will allow for the completion of labs and homework without causing conflicts with the other students.

Ready to Make the Investment?

The price per student is $2,495 with the class limited to 20 students.

Eventbrite - Turn your .NET Developer into a Dynamics CRM Developer (August)

A 10% discount applies for two or more developers.

We are also offering a payment plan of $239.00 per month, for 12 months.

Contact me (mitch at xrmcoaches dot net)  for more information on either of these options.

July’s Free Dynamics CRM Webinars


Here are the webinars available this month:

Dynamics CRM JavaScript Debugging Basics

We will discuss the basics of debugging your Dynamics CRM JavaScript should you encounter issues with your code.

Wed, Jul 7, 2015 11:00 AM – 12:00 PM CDT       Register Now

Contracting, Outsourcing, and Partnering on your Dynamics CRM Projects

In this webinar we will discuss the some general principles to keep in mind when working with contractors, outsourcers, and partners when you are implementing or customizing Dynamics CRM

Wed, Jul 21, 2015 11:00 AM – 12:00 PM CDT       Register Now

I just can’t brainstorm without a whiteboard



I’m at the office today working on some new business initiatives mainly because I have two huge whiteboards in my office (custom made by me, by the way) and it turns out that I just can’t seem to brainstorm without writing on the wall.

I don’t know if it is because I have a different energy level when I am standing, or if it the challenge of all the open and unadulterated space that flips a bit in my mind that opens the doors to creativity, or what.

If two or more people are involved, a whiteboard is almost a requirement, but can be rather limiting should one or more of them not be in the room with you (a more common situation these days, given the amount of remote work that occurs).

Back in the mid-1990’s I joined a small consultancy in San Diego and I was dumbfounded to find that they didn’t have a single whiteboard in the whole place.  Heck, I moved from Texas with two! This was a situation that was quickly remedied and I no longer had to endure thought-sessions using only a legal pad.

So this Saturday finds me in the quiet at the office huddled up with my coveted blankness bouncing ideas off the wall and waiting for something to stick as I draw a path that will be the future of my business.

Only this time, I’ll use the new Microsoft Office Lens product to record my work. We are in to 2000’s after all. Smile


Another thing that just makes me giggle: The massive multi-color erasable marker pack:


Brainstorming image courtesy of pakorn at

Working on your personal brand


This Spring I was teaching a Dynamics CRM course at Minnesota State University Moorhead and we got into a discussion of personal branding and what you [as a college student] should think about.

I realize that a lot of this could apply to others as well, so I’m reposting it here.

I wanted to complete the circle on a conversation we had in class one day regarding personal branding. Here are a few thoughts you might wish to consider as you progress in your career:

Internet Domain Name:

You should try and secure your own domain name. It should be some combination of your first, middle, and last names, such as:




Start off trying for a .com address, but those are more than likely gone. There are many other options but the most popular are .me, .name, .net, and .info.

It is not necessary to actually put up a web site at this point, you just need to keep someone else from using your name. You can actually put it to use when you create your blog (as we’ll take about in a minute).


Your Twitter handle also needs to be a variation of your name, and is possible, try and make it be the same as your domain name.


Your LinkedIn profile needs to read and look like a well–polished resume and should include a photo of yourself in a professional setting. Not on the beach drinking an adult beverage. LinkedIn profiles also need to be kept up to date so that they always reflect your current status and accomplishments. I can’t tell you how many times I have had people comment, “…on your LinkedIn profile.”


What about Facebook, you might ask? Well, and this is just a professional opinion, but I only use Facebook for my friends and family. If you would like to establish a company presence on Facebook, it is quite easy to create a Facebook Page. Again, it is on Facebook and connected to you, but also separate at the same time.


At some point you will have to have a blog – or several, if you are like me. Everyone has something to say and quite honestly, the world is a better place when people share what they know. My basic rule has always been: If it takes me more than 30 minutes to find it or create it, and if it is not of strategic value to either me (or my company) or my customer, then I’ll write something about the experience. Sometimes the articles are lengthy and take quite a while to produce, while others are just a few minutes work. Both can be valuable to someone who has run into the same issue that you did.

There are several blog engines available, but I use WordPress for all of my sites. I made this decision back in 2005–6 and I can quite honestly say that I have never regretted the decision. It is infinitely customizable and almost all of the major (and minor) web–hosting providers offer WordPress hosting.

When it comes to content, there are really two kinds of blogs: Personal and Professional. Some people combine these two and offer only a single type of content, while others keep their personal and professional lives separate. I personally started off with a single blog then split off my personal thoughts and articles and put them under a new blog that was just “me.” My main blog I just use for technical writing at this point. At some point you may need to make this decision for yourself, depending on what you have to say.

Additional Material:

I would also advise you listening the following podcasts:

Announcing my Mentoring Program


Hi Everyone,

I decided to formalize my mentoring program to hopefully open the door to more organizations. This is a process that I conduct for customers on a fairly regular basis which fills a niche and a requirement when you need assistance, but do not have the need or budget for a full-blown consulting engagement.


I often run into customers who need additional help with either an architectural issue or a project they are working on. Many times, they do not have a need for a full-blown consulting engagement, but need to have access to someone they can bounce ideas off of when they hit a roadblock or a fork-in-the-road and need help with an architectural decision.

How it Works

When you sign up for our Mentoring Program, you are actually purchasing five hours of advisory services at a discounted rate.

We typically work out a schedule of conference calls or screen-shares in blocks of 30 or 60 minutes, depending on your requirements. This can be weekly calls, bi-weekly,or as required.

Typical Scenarios

Here are a few scenarios that I have done in the past:

  • Architecture design questions
  • Skills development roadmap
  • Training program design
  • “What-if” scenarios
  • Code-reviews

For More Information

To sign-up visit our Mentoring Program page.

Thanks, Mitch

Announcing Twenty-One Squared: Self-Study Training for Dynamics CRM



Twenty-One Lessons in Twenty-One Days

xRM Coaches

I have conducted a lot of training over the past two years but found that I was always missing connections to new students, mostly due to scheduling conflicts or just by them having too busy a schedule to take off work for a couple of days.

Even after I moved most of my training to the half-day model, I still had people who had interest, but no time.

That led me to explorations of other training solutions, one of which is a series of self-study courses I call Twenty-One Squared.

The Twenty-One Squared Concept

I wanted to break things into bite-sized chunks of content that anyone could consume in their own time, at their own pace, while also enabling them to get fairly immersed in a topic.

Each lesson is designed to take between 15 and 60 minutes to complete, depending on the subject matter.

These will be hands-on exercises where you not just read about what to do, you actually do it.  Much like the design of my instructor-led courses.

Topic Areas

I am working through the final processes of the following topic areas:

  • Dynamics CRM Administration
  • Introduction to Dynamics CRM JavaScript
  • Advanced Dynamics CRM JavaScript
  • Introduction to Dynamics CRM .NET Development

Training Format

Each course consists of a training and exercise guide and each lesson is mostly self-contained, though some lessons build on previous topic areas and concepts.

Additional supporting materials are provided as is needed by the course.

Need Additional Information?

If you would like to sign up to be notified as the courses become available, the please complete the following survey:

My goal is to make these available in the next few weeks, depending on availability and interest.

Please let me know if you have any other comments or thoughts on the concept or the materials.

Upcoming Webinar: JavaScript Development with Dynamics CRM


I am very excited to announce that my workshop on Dynamics CRM JavaScript Development is now ready. The goal of the class is for me to give you a very thorough introduction to using JavaScript within Dynamics CRM.


Monday, September 8th through Thursday, September 11th. 1:00pm-5:00pm each day.


Online using GoTo Meeting.


This is a hands-on workshop with each student provided their own virtual development environment for the duration of the class.


$895 per person (multi-student discounts available)

Note: Due to the interactive nature of this workshop, it will be limited to 10 students.

Eventbrite - JavaScript Development with Dynamics CRM (September)

Student Prerequisite Knowledge:

  • Each student must have working knowledge of Dynamics CRM 2011.
  • Knowledge of JavaScript is also required.

Note: For those students that have not worked with JavaScript previously, a short introduction webinar will be conducted the week of September 1st (actual date TBD). Students attending this webinar will be expected to have completed the accompanying self-study materials before Monday’s class begins. Everyone must be ready to run on Monday for the main class.


Each classroom day will run from 1:00pm to 5:00pm (CST) with the virtual environments available for student use until midnight of September 4th.

And thanks to our virtual development environments, the majority of our time will be spent actually developing JavaScript solutions for Dynamics CRM.

Think labs. Lots and lots of labs. And homework. There will be homework.

We’ll cover the following topics:

  • Creating a development environment
    • Setup
    • Source control
    • Working in teams
    • Working with Visual Studio
  • Working with Web Resources
  • Working with Solutions
  • Working with Forms
    • JavaScript libraries
    • Form events
    • Form Event Handler Execution Context Reference
  • Working with the Xrm.Page Object Model
    • Working with Collections
    • Data operations
    • Tabs and Sections
    • Working with Controls
    • Working with iFrames
    • Working with Navigation Items
  • Ribbon button and JavaScript connection
  • Opening Dynamics CRM Forms and Web Resources via JavaScript
  • Using the XrmSrcToolkit to CRM-related data operations

We will be using about 75 of the methods found in the Xrm.Page object model so you should leave class with a fairly good understanding of where things are and how to access them.

If we have time, we will also cover some of the freely available JavaScript components that can be used to aid in your development efforts and to increase your user’s productivity.

Students will also receive a draft copy of my upcoming book on Dynamics CRM JavaScript development along with sample code and utility web resources that should help you kick start your CRM JavaScript development efforts.

Please email me if you have any questions: mitch at crmaccelerators dot net

Eventbrite - JavaScript Development with Dynamics CRM (September)

Upcoming Webinar: Plugin Development with Dynamics CRM


I am holding another Dynamics CRM Plugin Development workshop next month. The goal of the class is for me to teach you everything I know about plugin development.


Monday, September 15th through Thursday, September 18th. 1:00pm – 5:00pm CST each day.


Online using GoTo Meeting


This is a hands-on workshop with each student provided their own virtual development environment for the duration of the class


$895 per person (multi-student discounts available)

Note: Due to the interactive nature of this workshop, it will be limited to 10 students.


Eventbrite - Plug-in Development with Dynamics CRM (September)


  • Plugin architecture and design
    • The Dynamics CRM execution pipeline
    • The how, why, and where of plugging into Dynamics CRM
    • Performance considerations
    • Working in the sandbox
  • The development environment
    • Setup
    • Source control
    • Working in teams
  • Deploying plugins
    • To CRM
    • In a solution
    • To CRM Online (if applicable to the student population)
  • Debugging plugins
    • Synchronous vs. asynchronous
    • Full-trust vs. sandboxed
  • Custom activity architecture
  • Design features
  • Deployment
  • Asynchronous process monitoring
  • System job cleanup and maintenance
  • Open-lab time
  • Upgrade scenarios
  • Code-recovery of lost source plugin code

Thanks to our virtual development environments, the majority of our time will be spent actually designing and developing real-world plugins. Think labs. Lots and lots of labs.

Students will also be asked to bring one project with them that they would like to create while additional resources are available to them. This is strictly optional, but it is available.

In addition to the workshop materials, each student will receive additional tools and code templates to help increase their productivity as a Dynamics CRM plugin developer.

Finally, all students are free to keep any work produced during their lab-time as well as the tools and templates used in class.

Eventbrite - Plug-in Development with Dynamics CRM (September)

Announcing the Becoming a Dynamics CRM Technical Architect Class



Hi Everyone,

As was described in this week’s webinar, I’m holding the first Becoming a Dynamics CRM Technical Architect class starting at the end of this month.

Here are the specifics of the class:



  • Six week duration
  • Two sessions per week
  • Two hours each session
  • Limited to 20 students
  • Cost: $2,495



Week Tuesday Thursday
1 August 26th August 28th
2 September, 2th September, 4th
3 September, 9th September, 11th
4 September, 16th September, 18th
5 September, 23rd September, 25th
6 September 30th October 2nd



  • Week 1: Dynamics CRM tools and technologies
  • Week 2: Feature–based scenarios
  • Week 3: Feature–based scenarios
  • Week 4: Feature–based scenarios
  • Week 5: Case study and system design (Scenario #1)
  • Week 6: Case study and system design (Scenario #2)


If you are interested in attending the Becoming a Dynamics CRM Architect class, which starts later this month, then please complete the following survey:

Students will be selected on a first-come, first-served basis.  I am giving the webinar attendees first access.  The general announcement will be made tomorrow.

If you have any questions or comments, please let me know.

Thanks, Mitch