Tuesday, December 27, 2016

December 2016 Blog Review

I hope all of you have been warm and enjoyed this holiday season! Let's catch up on all the CRM news from the past few weeks so we are ready to start the New Year off right!

Ledgeview Partners shared a list of their Top 10 Tips of 2016. These are some great tips to be an effective CRM user.

PowerObjects posted Make Your Own Custom Shortcuts on a CRM Dashboard in Microsoft Dynamcis 365. This is a step-by-step guide showing you how to add a list of shortcuts to a section of a dashboard.

PowerObjects also walked us through how to Change Business Process Flows Using a Workflow. This will allow administrators to automatically switch processes based on certain conditions so that users do not need to click Switch Process.

Hitachi Solutions had some holiday fun while helping us learn more about Dynamics 365:

Hosk shared Dynamics 365 - What does Include entity Metadata do. For those building solutions and curious about this little checkbox this should give you the information you need.

Sonoma Partners also talked about Dynamics 365 and posted Updates to Business Rules and Actions. This discusses changes and new features you can start using.

Mitch Milam shared a great article on Always Maintaining control of your Dynamics CRM/365 Assets. This discusses the need to have control of your system and awareness of what is going on in which environments. Also be sure to keep backups of all solutions and use Source Control for any code.

As always, make sure you look at the recent posts from CRM Tip of the Day to see if this can help with any questions or issues you are having now.

That's all for this December day. Have a Happy New Year and a CRM-filled 2017!

Wednesday, November 23, 2016

November 2016 Blog Review

Before everyone runs off for Thanksgiving, we can take a few moments to be thankful for all the CRM blogs in the world and the knowledge that they bring us. I am so thankful for CRMUG and how much I have learned over the years. This past year I was stretched and presented in webinars and at CRMUG Summit. It was such a great experience and I hope to present even more in 2017!

Now let's catch up on the news from the past few weeks.

Speaking of CRMUG Summit - check out Ledgeview Partners post: CRMUG Summit '16 Highlights Dynamics 365 Announcement

PowerObjects was sharing lots of great content here are a few I recommend you take a look at:

RSM shared Fully Utilizing the Business Process Flow in CRM. This shows some ideas for how to combine Business Process Flows with Workflows, custom fields and other out of the box customization to make a more robust solution. Your Business Process Flow can do more than just show users which fields to fill out when.

Sonoma Partners shared Activity Feeds are Made of This. There may be some confusion about Activity Feeds vs Yammer vs Activities so this blog walks through what entities are involved in Activity Feeds and how to use them effectively.

 Jukka Niiranen also posted about 365 in Reflecting on Dynamics 365. This talks about the change in CRM technology and how Microsoft is changing with the introduction of PowerApps and Flow.

As always, I encourage you to stay up to date with CRM Tip of the Day!

That's all for today! Have a great Thanksgiving!

Wednesday, November 9, 2016

CRMUG Summit 2016 Recap

CRM MVPs at the Medic booth just hanging out with CRMUGDC

Another awesome year of CRMUG Summit has come and gone. It was a great event!

If you attended, be sure to download the slides from the Summit Community. If you did not attend, be on the lookout for the "Best of Summit" Webinar series open to CRMUG members. I would recommend Basics of Becoming your Organizations CRM Guru (recording) and Advanced Techniques for Becoming your Organizations CRM guru (coming up on 11/17).

There was lots of discussion about the new Dynamics 365 release at the main keynote with Scott Guthrie and the CRMUG General Microsoft Keynote with Jujar Singh. There are so many great plans on the horizon like Cortana integrated intelligence, editable excel grids in CRM, and visual process flow designer. Keep your eyes open and looking for the exciting things to come.

Another highlight of the week was being selected as Chapter Leader of the Year for my work with the Washington, DC chapter. It is such a great honor and I am so thankful to be a part of a great chapter! I hope we can continue to grow and provide great content in 2017. (You can read the press release here)

So excited to be Chapter Leader of the Year!
Check out below to see my takeaways from some of the sessions I attended.

Post Launch: What Happens Now
Dan Madden, SEI Investments

This session was a great discussion of the user adoption story at his organization. They took some risks and drastic steps to ensure the CRM project was a success including purging old/bad data and short forms.

Here are my top takeaways:
  • The problem with hands on training is that people start Outlook and stop paying attention, minimize distractions
  • Focus on high-level features then provide support and deeper training post-launch
  • Record training sessions so these can be sent to users, takes away scheduling issues with training
  • Marketing adoption is very important! If marketing doesn't have adoption they will be pulling users out of CRM and into Spreadsheets. If users need to update data twice (CRM and spreadsheet) they will stop using CRM
  • Make use of dashboards! Do not release these on Day 1, wait until the data is there to support it. Incorporate the high level financial goals of the organization and present this data so users can see how they are achieving in these areas. Show users what their data is doing and powering - real time and transparent reporting
  • Keep forms small and expose necessary fields as others are filled in.
  • Look for meaningful wins but be careful which projects you take over (can be sunsetting other people's projects)
  • Look to solve the business and data needs, you do not need to take advantage of all new features

Keys to Marketing Automation in CRM
Dean Jones, PowerObjects

This partner showcase for PowerObjects' PowerNurture discussed what marketing is and the goal of marketing. He discussed that it is very difficult to quantify ROI for marketing because you do not know what it means. We cannot actually tell what can be attributed to the marketing. Plus everyone has a different definition of marketing.

The suggestion was to start simple and then continue to add to your marketing solution. Keep in mind you don't just market to leads, you market to customers too!

Tactical tools can help you to execute your marketing message but you need to define your marketing plan and message before this. Marketing must take ownership of this plan. Market to leads and customers in your CRM, the focus must be on both. Also the recommendation given was that all of your marketing data should be kept in CRM so you have a full picture of the person.

You want to send the right message to the right person at the right time. The shot gun approach to marketing is less effective than a targeted message.

ABC's of CRM Training
Malin Dell'Amico, Wells Fargo
Kristi Cohen , Wells Fargo

This was a great session about things to keep in mind with CRM Training but most can apply to any training you are involved in.

During training: Start off by telling users how CRM will benefit them. Show them how it will make them more efficient. Also communicate the expectations after training - what is the timeframe for using this knowledge, what are they expected to know, etc. Keep a positive attitude in training so your enthusiasm will spread to them. Also acknowledge issues and teach them how to handle them (for example, if there is duplicate data teach them how to merge. Also try to organize your training for it follow their processes and flows together.

After training: Provide something for them to use as a recap when they get back to the office. Embed videos inside CRM and links to training materials. Make sure to mark these as new when they are updated. Ensure there are power users to help with questions and additional training.

Potential Pitfalls: Check you have the right level of management buy in (not just the very top). Users should know that the training is critical, ensure that it is their top priority and limit the distractions while in class. Ensure users understand that other people are using the same system and how processes affect their data.

Different Strokes: Business Rules vs JavaScript
Donna Edwards, Tribridge

Many people are using Business Rules to replace Java Script on their CRM forms or for new form enhancements. Donna recommended to use Business Rules when you can. These should run faster because Microsoft is controlling the code, JavaScript is controlled by whoever wrote it. Keep in mind that there can be odd interactions between Business Rules and Java Script so test extensively.

Business Rules can run on the client or the server. Client (form level) will require a user to interact with the form. Server level does not require a user interaction and it will trigger even when records are integrated.

The run order is as follows: system JavaScript, custom JavaScript, then Business Rules in the order they were activated.

  • Business Rules can be included in a solution when moving between environments
  • Always set the counter action (else if)
  • Do not have JavaScript and Business Rules taking action on the same field

Getting Started with Excel Templates
Adam Vero, CRM MVP

Please download the slides for this session! So many great tips for getting started with Excel Templates along with general advice for better Excel reporting. Here were my top takeaways:
  • Dynamic Export vs Excel Templates
    • In Dynamic Export you must maintain one approved version, this is difficult to control as people may edit their personal versions
    • Dynamic Exports can include data from other versions, CRM query is built in
    • Excel Templates stores the columns but not the filters, you can choose which view you want to uses each time you run it
    • Excel Templates are managed in CRM, so users will always get the most recent version
  • Keep raw data on one tab. Make a new tab for calculations and one for the final report. Work and data tabs can be hidden.
  • If you change the template, you need to deactivate and create a new template with the same name. If done mid-day, users will need to refresh.
  • When using PivotTables, use the GetPivot data formulas to extract data from the Pivot
  • Keep your colors consistent for related dimensions for consistency within and between reports

Tools for CRM

Two more great sessions I attended were XRM Factor (6 tools, 2 minutes each, live voting, non-stop excitement!) and 8 Tools for Developers and Admins. Both provided some great tools you should check out to see if they could work in your organization.

  1. Fiddler - web debugging proxy
  2. Task Workflow Tools - custom workflow steps to extend your workflows
  3. Mobile Task Flows - walk users through tasks in the mobile or phone app
  4. Ribbon Workbench - visually edit the ribbon
  5. CRM Bookmarklets - JavaScript saved as bookmarks to "hack" your CRM (edit read only fields, show hidden fields, etc.)
  6. XRM Toolbox - pretty much anything else not on this list (and some on this list) that you might want to do with CRM. I recommend the metadada document generator to look like you did a lot of work!
  7. Metablast - visual utility for exporting metadata
  8. CRM Snoop - Plugin Troubleshooting tool
  9. LinqPad - Easily run .NET code
  10. CRM DevTools - Chrome extension visible in the F12 developer area with lots of helpful functions for admins. Downloaded as soon as I got back to the office. It is worth it just to remember the debug and diagnostic links
  11. KingswaySoft - SSIS Integration toolkit

Monday, November 7, 2016

October 2016 Blog Review

October has been a very busy month for CRM. We have had the announcement for Dynamics 365 and of course CRMUG Summit (my recap coming soon, see Sonoma's right now). Let's jump right in to all the blogs that have been flying around throughout the month.

Ledgeview Partners showed us how to create mappings in Auto-Populate Opportunities with lead Data in CRM.

PowerObjects walks through a workflow example in Using Workflows to Switch Between Business Process Flows Automatically.

Hitachi wants to keep everyone's CRM systems running smoothly and shared 15 tips and Safegurards to Speed up your CRM Server.

Sonoma Partners also posted performance tips this month in Dynamics CRM Performance Considerations. This focuses on changes inside of CRM (security, views, etc.) whereas Hitachi focuses a bit more on server and more technical items.

Also check out RSM's Two Easy Ways to Improve CRM Forms. This shows some ways to use web resources to quickly make changes such as moving check boxes to the other side or adding instruction boxes.

Everyone struggles with CRM for Outlook troubleshooting. To assist with this the Microsoft support blog posted a multi-part series giving information and troubleshooting tips. Here are a few parts I would recommend:
Of course we should also talk about Dynamics 365. So start off with PowerObjects' What is Dynamics 365? and then for more information read Hitachi Solution's Understanding Dynamics 365: What you Need to Know and How it Affects your Business.

That's all I have to share. Anything I missed? What exciting news have you been following?

Saturday, October 1, 2016

CRMUG Summit is Almost Here!

Just over a week until CRMUG Summit! Of course I am super excited and hope to see all of you there!

To get prepared, make sure you check out Julie Yack's blog, Are you Ready for #CRMUGSummit? I completely agree with all her points. Be ready to take notes and learn more than you ever thought your brain could absorb. So be prepared to focus on learning! Also wear comfortable shoes, heels are not worth it.

I will be involved in 3 Sessions at Summit:

  • Basics of Becoming your Organization's CRM Guru - Wednesday October 12, 1:45-2:45 PM - Tips for navigating CRM, intro to customizations and Advanced Find. Primary Speaker: Patrick Wright
  • Advanced Techniques to be your Organization's CRM Guru - Thursday October 13, 8-9 AM - Next steps from the earlier basics session. More on Advanced Finds and Charts. Plus an intro to workflows and security.
  • CRMUG Hands On Learning: Processes - Wednesday October 12, 3-4 PM - Walk through step by step guides on building workflows to learn more about them. I will be there with several other experts to assist if there are questions.

Plus many other great sessions from lots of great speakers. Make sure you review the full schedule and be on the lookout for encore sessions offered virtually if you can't attend in person.

There are also lots of after-hours events and vendor parties. So lots of fun to be had just be responsible so you can still make it to my 8 AM session :)

Here's a few on my radar:

Plus I will be on the lookout for current and prospective CRMUGDC Members especially at the networking lunches.

Looking forward to seeing everyone there!

#CRMUGSummit #CountOnSummit

September 2016 Blog Review

One of the big events of September was Microsoft Ignite. There are lots of highlight blogs available for you to check out or you can even watch the recordings of the key sessions. I did not watch all the sessions but I particularly enjoyed this Demo of HoloLens with Lowes. So many amazing possibilities in the future!

Let's jump into other blog news with some articles shared by PowerObjects:

Server-Side Sync is still relatively new so Microsoft produced a white paper on how it works. Check this out to gain a better understanding of the ins and outs of how your data is syncing.

If you are looking to migrate to CRM Online check out these Tips and Tricks from Dynamics CRM in the Field blog.

How to pick a partner is always a hot topic. There are so many factors to consider and things to keep in mind. Sonoma Partners offered some guidance in 5 questions to Ask When Evaluating CRM Consulting Firms.

Let's finish things off with a few notes from CRM Tip of the Day:

That's all folks!

August 2016 Blog Review

Let's start the month of August off right with some CRM Tip of the Day:

Ledgeview Partners posted Setting Up a Sales Follow-up Workflow in Dynamics CRM. This walks through a workflow example showing the planning and final logic.

Ledgeview also shared Customize Color of Dynamics CRM Icon Backgrounds. Use these steps to theme your entity icons to match the rest of your system.

If you are interested in testing out a portal solution check out Donna Edward's CRM Online Portal Trial - Step by Step Installation.

Sonoma Partners was busy this month and shared:

Hitachi Solutions posted How to Create a Voice of the Customer Survey in Dynamics CRM. Walk through these steps to create surveys that you can send to your customers directly from CRM.

Mitch Milam shared Dynamics CRM Security: Crossing Your I's and Dotting Your T's. This is a great example of the need to double check everything and never make assumptions in your system.

Speaking of security, you can also check out Leon Tribe's post on Securing Records by a Field Value in CRM. This gives an overview of how to handle a complex security situation.

PowerObjects also shared several posts this month for you to check out:

That’s all for August!

July 2016 Blog Review

Let's catch up on the CRM blogs of the lovely month of July.

For those who love to pursue certifications - check out Hosk's overview of Tips on Passing the MB2-712 Customizations and Config exam.

Ledgeview Partners shared a quick tip on Removing an Entity from Quick Create in Dynamics CRM. Remember that Activity types cannot be removed from Quick Create.

Ledgeview Partners also shared: On-Demand Workflows for Closed Opportunities in Dynamics CRM. Closed Opportunities can still be edited via workflow so this can be a good way to populate the necessary data points.

PowerObjects shared some great content this month:

Finally, Sonoma Partners shared Microsoft Announces Dynamics 365 Integrated Cloud Platform. This gives a quick overview of the announcement. There is still lots of information to come.

Thanks for tuning in!

June 2016 Blog Review

Clearly summer schedules got the best of me this year. So let's quickly get caught up on all the CRM news.

I always recommend you stay up to date with CRM Tip of the Day, here are a few to start with:

Sonoma Partners shared Get ready, Dynamics is about to get "Linked" in. This talks about the Microsoft acquisition of LinkedIn and what it could mean for the future.

PowerObjects shared tips for dealing with workflow email errors in Workflow Generated Email stuck in "Pending Send" - Get it sent!

EMEA Dynamics CRM Support posted a great overview of Workflows in Dynamics CRM. This talks about the different kinds of processes and what you need to get started.

Workflows were very popular this month and Ledgeview Partners also shared Using Dynamics CRM Workflows to Create Tasks Automatically. Follow along in their example to better understand automating activities via CRM.

One of the cool new features in CRM 2016 is Excel Templates! To learn more reach Hitachi Solutions' 5 Tips for using Excel Templates in Dynamics CRM.

That's all for June!

Tuesday, May 31, 2016

4x4 Series: Planning your Upgrade

I was asked to participate in the CRMUG 4x4 webinar series. These are quick webinars with multiple speakers sharing tips and answering questions. I also wanted to document my tips here for future reference.

Upgrades are exciting but they can be a lot of work especially in very customized systems. Check out these tips and let me know what other tips you have.

Clean up Before

Determine what you can do before the upgrade to save you time during the upgrade. For example, when going from 2011 to 2016 (as I will do later this year) make sure that you are on the latest rollup so your JavaScript is up to date and work on getting all of your integrations on the 2011 end points. Look at unsupported code early so you can deal with it ahead of time or at least have a plan in place. If you are on 2013/2015 and moving to 2016, look at the JavaScript you have and see if it can be transitioned to business rules so it will upgrade without issue.

What can Wait

Two pieces to this point: waiting to take advantage of new features and implementing a code freeze. When you train new users on the system you want to focus on getting them to do their job in a new system, you do not also want to be training on new processes and features. Focus on migrating not improving/changing right away.

Also maintain the integrity of the upgrade by implementing a code freeze or as much as possible holding off development during the upgrade window. If you are making changes in production, you will need to re-work or at least review all of these changes in your upgraded development. Prepare a plan to hold off on most requests and also be prepared to get working on them once you upgrade

Showing Value

As you work on the upgrade look for the "Big Win" tips. This can be anything that helps users or is just a flashy feature. These are great to show off in training and show upper level management so they can quickly see the value of the upgrade. These can also be used for promotion to build excitement and drive user adoption. Also look for the features that executives will care about - will this help reporting? Performance? Be prepared to promote those items too so you can build sponsorship and buy-in. If the organization can see the value of the upgrade then they will be more likely to be engaged in training, patient during the code freeze, and ready to adopt the changes.

Other Tips

I also stole some tips from our partner Dave Ireland, at Salentica:
  • Ensure you have current software, instructions, and license keys from all 3rd party vendors.  You don’t want to get to upgrade weekend only to find out you’re missing a license key or that you should have removed a managed solution from the old version prior to upgrading.
  • If coming from CRM 2013 or newer, do you have access to your CRM Encryption key?  You may need it so be sure to have it handy.  Don’t forget to ensure the encryption is active post-upgrade or Outlook clients might not be able to connect.
  • If coming from ‘pre-metro’ versions of the UI (CRM2011 or lower) allocate a significant amount of time for UI design work.  There’s a lot more white space on your canvas and there are also some new controls to play with, so take advantage.   Also test the layout of your forms on the mobile app if that’s in scope for your deployment.
  • Have all users ‘gracefully’ remove the outlook client before cutting users off from the ‘old’ CRM version.  You can either get them to disable all of their sync filters or ask them to remove the Org from their configuration.  They key is to allow the Outlook client to remove all the data from its internal database store before the upgrade.
  • Have a plan for handling regularly-scheduled integrations.  If you have integrations that run periodically or on a scheduled basis, determine how they will be impacted if your CRM is down for 24 hours.  Will the integration ‘catch-up’ or will you need to pause the integrations and run them manually once the new CRM is online?
  • Do a dry-run in UAT.  Document every step and the expected duration of each.  On go-live weekend there’s a lot of stress that isn’t present when you’re doing the upgrade in a sandbox.  If you have every step documented (even in bullet points) it will help ensure you don’t miss anything or do something out of sequence.  Tracking the times will help you set expectations with the business owners about when they need be available for testing.
  • Starting in CRM 2015, Contacts have an extra ‘system address’ added.  In previous versions, there are only 2 addresses on Account, Contact, and Lead.  Now there is an address3 on the contact record – if you use More Addresses, take note that the ‘first’ More Address might get dropped from the More Address list because it is now in the address3 slot, and no longer considered a ‘more’ address.  If this is a problem, you might need to manufacture a dummy address3 record, and bump all the other address numbers up by one to get back to where you started.
  • If you are upgrading from 2011 be aware that the File -> Properties area of the form no longer exists. So you may need to consider moving the created on/by and modified on/by onto your forms as read-only fields.

Here are some tips from the other panelists as well:
  • Plan well - inventory customizations (plugins, JavaScript, Workflows) and inventory connectivity to external systems
  • Test in a Sandbox, make use of the Code Validation tool to test your customizations
  • Clean up code - can we replace code with new out of the box features? Evaluate processes and determine if there is a better way to handle it
  • Plan your timeline. You cannot make changes in a Dev 2016 environment and then import into a lower environment. You will need to do these changes multiple times. Factor this into your project plan
  • Plan your training. How will you train? What do you roll out with the upgrade and train on? How will this impact users? Keep users informed and seek feedback. Make use of power users for improvements, engagement and also help with questions.
  • Dealing with new features - wait to implement those until after the upgrade. This gives you more time to test and review and train separately.
  • Scribe - always using web services when you are using the adaptor so everything should be straight forward to migrate.
  • Security Roles - create new base role and go through permissions to identify what is unique for 2015 that wasn't in 2011. Must compare roles because new permissions were added.

What other tips do you have? What are you doing now to prepare for your next upgrade?

Friday, May 20, 2016

May 20 Blog Review

Let's jump into a quick blog review for your Friday afternoon.

PowerObjects posted Solving Security Headaches: Display Rules Based on Security Roles. This walks through how to use the Ribbon Workbench to modify the security of your forms.

CRM Tip of the Day shared the Illustrated guide to entity creation in Dynamics CRM. This walks through what to do when creating a new entity and some questions to keep in mind. Most important tips from my point of view are PLAN (all potential users, future impact) and don't turn on anything you don't need right now (most can be turned on later if needed).

Mitch Milam expanded on this TechNet Article with What's New for Administrators and Customizers in CRM 2016 and CRM Online. Check this out to be prepared for the updates.

That's all for today. Have a great weekend!

Saturday, May 14, 2016

May 14 Blog Review

Let's jump right in to this week's blog review!

PowerObjects shared No More Whoops: Preventing Accidental CRM Emails in a Non-Production Environment. Learn from other people's mistakes and take some time to make sure your test environments cannot send emails. It is not a fun issue to deal with. Also make sure you can easilly identify test records in your live environment so you don't use a real record as a test. (I feel so bad for people whose actual last name is "Test".)

PowerObjects also posted So Many Shortcuts: Reducing Clicks in CRM 2015. This is a handy reference for all the keyboard shortcuts you need to be aware of.

Mitch Milam shared a cautionary tale in Bad Design: A Tale of De-Architecture and De-Engineering. This walks through a very common scenario where a system is over-customized and this causes problems in the future. Be aware of the custom code you are adding and document well. Be ready to test thoroughly with an upgrade and know it may break. Also remember that out-of-the-box pieces were made that way for a reason. Maybe there is a chance to simplify your business process instead of complicating the system.

That's all for today. Did I miss anything?

Have a great weekend! 

Thursday, May 12, 2016

4x4 Series: Workflows

I was asked to participate in the CRMUG 4x4 webinar series. These are quick webinars with multiple speakers sharing tips and answering questions. I also wanted to document my tips here for future reference.

Workflows are a great way to quickly and easily provide automation to help your users and your business process. It is very important to understand how they work so you can use them effectively. Here are my tips for working with workflows.

Map Out the Process

With any type of process it is important to map out exactly what you want to happen. Start with your requirements and then use a visual tool like Visio (or a white board) to draw out the steps. This is important so you can find logic errors or any pieces that may need additional thought. Ask yourself questions like:
  1. What conditions do I need to check before processing?
  2. Are there any exceptions?
  3. Does this IF need a default condition?

This is also a good time to look for pieces that can or should be broken out into child workflows. Child workflows are a great way to divide up the process into logical groups but it cannot pass it's status back to the main workflow so you have to account for that. Child workflows can also be called by other workflows. So if you notice many of your workflows are doing the same few steps, consider seeing if this can be made into a child.

Finally, drawing your process gives you something visual to share with your stakeholders. Especially in complex workflows, it is good to walk through this with your stakeholders to make sure they have thought through all the possible branches and the logic associated with them.

Test in Test

I always recommend creating your workflows in a development or test environment and using a solution to move it to the production environment. This ensures that you have an opportunity to fully test without the danger of harming any production records. It also allows you to see the outcome of the workflow and demonstrate to the stakeholders to ensure it is what is needed.

If you want to test the workflow on a larger volume of records try importing records that meet the criteria (even exporting from a production system if it is a workflow update instead of full rewrite) or using the bulk edit feature. This will allow you to quickly fire off a large number of the workflows so you can monitor the system jobs and look for any errors.

I also find that including workflows as part of a release raises the visibility. We never import solutions to production unless it is our designated release. For releases, we review all of the items going and determine which groups need to be aware of the change. So the system team has an opportunity to ask questions early and user are aware so they can provide input as well.

CRM Horror Story: My CRM horror story is from back in the days of CRM 4.0. This was before solutions so most workflows were created in live. I was a part of the CRM Team focused mainly on development, training and troubleshooting. There was another group of power users focused on reporting who had access to create workflows.

One of these reporting users created a workflow to fill in some data on certain records. He had it start when fields were edited including the Modified On field. The workflow then updated 3 fields in 3 separate steps. He turned this on and then imported 3000 records. So each of these records triggered a workflow and as that workflow ran it updated the record 3 times and triggered 3 more workflows.

This brought the CRM system to a halt! The problem was not obvious at first because we were unaware of this workflow until we evaluated the system jobs. To resolve we have to deactivate that workflow and give the reporting user a stern talking to (twice actually because he tried to do it again).

Moral of the story - limit access to create workflows, educate people on their impacts, ensure people are aware of workflow effects and TEST before releasing to production!

Review System Jobs

It is very important to know what is happening in your system. Get familiar with how the System Job view looks - how many workflows are running in a given time period, what kind of workflows, what other things do you see here. This is helpful so if there is an issue you can look and know what you are expecting to see.

Keep an eye on your suspended jobs (waiting) as well as failed jobs. If you have workflows that wait, these will appear in your suspended jobs. Edit this view to pull in additional details of the workflow (stage, regarding record details, etc.) so that you can look for items that should not be waiting.

The capabilities of Advanced Find are amazing so you can narrow down your results based on records related to the workflow to specifically see items that may need more work.

Also look at System jobs with an Error Message. This means that as it was processing it ran into an error and could not continue. These workflows are still in a waiting or suspended status. These should be manually reviewed. If you can resolve the issue, you can resume the workflow so it moves forward. If you cannot resolve it or the necessary processing was already done, then you should cancel the system job. At the end of your review you do not want any error workflows still in a waiting status.

As part of your review of System Jobs with errors, you should evaluate if the Workflow needs to be changed. For example, if the error was trying to update a task that had been closed, you can add a check condition to the workflow to check that the task is open before editing it.

Use Case: Maintenance Work

A great use case for Workflows and Dialogs is maintenance. By this I mean record edits or changes that power users may need to make that you do not want the average user to be able to make.

For example, say there is a date field that is automatically populated based on when another field is changed. If you need to set this to a date in the past you can use a dialog which asks what date it should be set to and then makes the change. (An alternative tip provided by Mitch Milam I believe is to create an "Administrator" form where all fields are editable. Make this only available to System Administrators.)

Recently we have also used this for test records. Instead of trusting that a user will handle all the steps to ensure the record is properly marked as a test - create a workflow that can be run. This workflow can append test to the name, add comments, and even reassign to a test owner.

Other tips?

Here are the tips from other panels:
  • If you can't document it in a document flow then you shouldn't do it in a workflow
  • Keep them clean - do not over-nest if statements. Try to break into child processes. More flexibility for future changes as well. Just don't forget to close all the doors by including stop workflow statements
  • Clean them up - turn on automatic deletion and use bulk delete jobs for others
  • Review system jobs to look at failed and waiting jobs, review the associated message to see if there was an error
  • "When pigs fly" conditions - talk to the manager and also the person doing the work and get them involved in the planning. Still prepare for other situations. Consider a default condition that will send an email (or queue item) for awareness.
  • Don’t underestimate the power of workflows
  • Be careful what you trigger it off of - don't want it to be called over and over again. Look at the workflow possibilities before building custom code.
  • Can combine with custom code to trigger workflows based on ribbon button clicks (JavaScript). Have script set another field that triggers the workflow.
  • Be aware of the user security and impact on the workflow. On-Demand runs as the user. Automatically triggered runs as the workflow owner.
  • Gus G tip for creating dummy records then remove with bulk delete to trigger workflow on a linked record - http://community.dynamics.com/crm/b/adopt2win/archive/2013/04/15/scheduling-recurring-workflows-in-microsoft-dynamics-crm-2011-online-and-on-premise
  • Required fields do not apply to workflow, only on the form. Users will need to populate if they are assigned the record.
  • Wait conditions - make sure to include a timeout and a way for users to cancel
  • Trigger custom error messages with real-time workflows: http://survivingcrm.com/2013/11/using-real-time-workflows-to-show-error-messages/
  • Remember you cannot trigger workflows off of updated to calculated fields

There are so many great uses for workflows! I try to never do anything twice - if I have to do it more than once I should find another solution such as a workflow, bulk edit, export, etc. So, what do you use workflows for? What are your tips for learning and creating workflows?

Sunday, May 8, 2016

May 8 Blog Review

Clearly the blog has been a bit delayed so we have a bit of catching up to do. Let's jump right in!

CRMUG has lots of exciting things happening over the next few weeks. CRMUG European Congress is next week so be on the lookout for news from that. Also the Momentum Chapter Series! The DC Chapter meeting is on Tuesday, May 10. We will feature deep dive content straight from Microsoft on top of our usual programming. Plus there's lunch! Get registered for the CRMUGDC Meeting or see if there is a similar meeting coming up in your city! As always you can stay up to date on all of the DC Chapter activities by joining our community at CRMUG.com/Washington.

Ledgeview Partners shared a quick tip in Getting CRM Columns Sorted Out. This shows users how to sort by multiple columns in a view.

PowerObjects posted a deep dive into One Click Document Generation in CRM 2016. They walk through how to create a table in the template to pull in multiple lines of data - such as multiple products from an Opportunity.

Hitachi Solutions explains how to Use Real-Time Workflows for Data Validation. Real-Time workflows allow an error message to be returned to the user when they try to complete a certain action. This logic will fire from the web version, Outlook and even the tablet app.

A quick tip from Mitch Milam - Repurposing CRM Fields, Just Say No! Do not change out of the box fields to something else for your use. Keep in mind that they were created for a reason and future versions might make use of them in different ways.

Finally, I always recommend you keep up to date with the CRM Tip of the Day. If you are a bit behind I would recommend checking out Teach our users to type-ahead and 
The Forgotten Three.

That's all I have for today. Let me know if I am missing anything!