- CRM for Phones – What can and cannot be done, customization options and where it is available
- Inline Multi-Party Lookup – walkthrough of the feature in CRM 2013
Friday, November 22, 2013
It was a somewhat quiet week this week. Here is this week’s news:
If you are interested in Marketing Automation take a look at CustomerEffective’s Marketing Automation with CRM and SilverPop. It discusses the basic ideas and terminology of marketing automation and some of your options to accomplish it.
McGladrey talks about some of the new features in CRM 2013. CRM 2013 has several features that customers have been asking for. Access Teams provides a good flexible security option. Also previously if customers wanted tool tips for a field it would require extensive development work, now tool tips are available as part of the built-in functionality.
The CRM Team was busy this week, here is what they posted about:
Also Develop1 wrote about how to Add the Add Activity Buttons back to CRM 2013. This change will add the different Activity types to the bottom of the record ellipsis so new Activities can be added quickly.
That about covers all of this week’s news. Since you have some extra blog reading time, you should check out my (somewhat late) coverage of CRMUG Summit 2013.
Here is a summary of my main takeaways from CRMUG Summit 2013. You can checkout the full review of each day if you like as well.
- Use CRM 2013 as an opportunity to "re-launch" and set up CRM's position in the organization. Make it exciting!
- Do not over-customize
- 2011 endpoints will be supported at least through v7 (2011=v5, 2013=v6)
- Custom Mobile apps do not require an IFD
- Change in how scripts load in UR 12-14. Upgrade to UR 15 where this is fixed
- Use Outlook Critical Update with UR 11 for best performance
Top 7 Server Optimizations
1. If UR < 10, adjust the EnableRetrieveMultipleOptimization setting for your organization
2. Enable SOAP and XML Compress for Faster Outlook CRM Client
3. Tune Threads (if you have a dedicated machine) to use all the available resources, this is dependent on the number of CPUs.
4. Follow SQL Server best practices – Set Max Degree of Parallelism to 1, look at Microsoft White papers, separate OS/Data/Log/Temp TB drives, and watch performance metrics.
5. Create custom indexes
6. Run the recommended scripts to clean up the POA table (every 6 months) and AsyncOperationBase Table (Workflows, monthly).
7. Adjust the Email Router settings if you have a large number of emails (by default it grabs up to 1000 waiting emails every 60 seconds)
CRM for Outlook
1. Minimum requirements = minimum performance
2. Offline Client = Mini CRM System. This requires more power and more planning. Also keep Data Security in mind and consider encryption.
3. Antivirus software can drastically slow down your performance if it has a URL scanner. To fix, whitelist your URL.
4. Update the System Synchronization Settings. Change Address Book from 1 hour to 24 hours; change the other settings to an hour or greater.
5. Turn off MapiCaching on low power machines.
6. Keep up to date on your patches.
7. Keep your inbox small. There are some ways to improve performance if you must have a large inbox such as some registry changes and keeping an eye on your OST Fragmentation.
8. Update the Outlook Filters, Sync Rules.
9. Use the Diagnostic cool to clear temp files and create log files when the issue can be reproduced.
10. Download the Trace File Viewer from CodePlex to make reviewing issue log files easier.
Internet Explorer Best Practices
1. Use AD Group policy to roll out changes
2. Add CRM to local or trusted sites
3. Want to make use of the temporary internet cache for images and Java Script. Adjust the SSL settings to cache files such as icons.
4. Keep in mind common issues: different default browsers, multiple toolbars, etc.
Moving Workflows that have team/user references - create a configuration entity with one record, link this record at the beginning of the workflow and use it to get the records you need. When creating this, import it with the GUID to force it to be the same between environments.
Long running workflows - instead of a wait create a different type of record. Set up a bulk delete job to delete records that meet the wait condition. Start the rest of the workflow (child) off the delete. (Scheduling Recurring Workflows)
CRM 2013 Actions are the opposite of custom workflows.
Custom workflows are written in code and instantiated through the UI.
Actions are written in the UI and instantiated through code.
Auto Save probably will not cause many issues in real life. Create is still explicit. Generally people will work on record for a while and then leave and possibly come back to do more work. Workflow should be going off of actual field change.
CRM 2011 UR 15 or UR 15v2 for Outlook will work with CRM 2013.
Snapshot Chart - Use custom entity to manually capture month-end stats, use this to build charts
When moving to CRM 2013 - make sure all reports are going off the filtered views. This is the supported method and will ensure that they do not break with the table structure changes (no more extension base table)
In CRM 2013, dashboards can support security roles (similar to role-based forms)
Reporting Tools and Resources
- For help with editing XML a good blog is CRM Chart Guy. These are business charts, not 3D or flashy.
- Scribe Online Replicate – easy to use tool to mirror the database
- Metadata document generator (CRM toolbox) – view all entities, attributes, options
- Metadata entity viewer – Generate Visio diagram for specific entities; do not include the User entity due to the number of connections it has
- SQL2Fetch – converts SQL to FetchXML
Recommended BI Tools
Reporting 201: Dashboards
“If you can’t measure it, you can’t manage it”
Executives want analytics and business intelligence. Dashboards can assist with adoption and get executives to begin using the system.
- Power BI for Office 365
- SQL Server (many good features in SQL server 2012)
Dashboards in 2013
In CRM 2013, Dashboards now can have Security Roles associated with them. There is also a new color palette.
Advanced Find has been improved to include an outer join (not in, does not have), which can improve our dashboards.
Often we want to show data as it was at a specific point in time. This can be done with a plugin if you have developer resources.
Smaller companies can create this by creating a separate custom dashboard entity with fields such as number of open cases, number of new accounts, etc. Whatever you want to show in the chart will be a field on the entity. On the first of each month, use a view to gather the information then manually enter it. You can even add fields from another system if you need. Then display a chart of this custom dashboard entity records. You can later build a plugin or use scribe to auto-fill this data.
You can include an iFrame on your dashboard and point it to a URL already in SharePoint. You may need to uncheck the cross domain checkbox, but you can only do this if it is a system dashboard. You can also use an iFrame to display a CRM report, it is more usable if it is a report that does not require a parameter to be selected.
Web resources allow you to display things such as websites and maps. If you display a map you can even overlay this with CRM data. To do this you will need code to grab the data and display, you can support drill down with more code. There are some managed solution examples online.
Changes in CRM 2013
There should not be many changes to reports in CRM 2013 as long as you are using the filtered views. This is the supported method and respects security.
Consider using SQL 2012, you can auto-replicate to create a reporting database.
Dashboards are changed to support Security Roles. There is no more right-click to get dashboard link. The default dashboards have been changed. There have also been design improvements – responsive design, simplified/cleaner layout, individual pieces can be expanded.
System Jobs cannot be reported on within CRM, you will need to use a SSRS/Fetch XML report. You could also create a custom “Audit” type entity that would track workflow progress.
To schedule a report, follow these steps: (1) Create RDL, (2) Schedule in CRM, (3) Find snapshot and set up that to send automatically. Make sure you are grabbing the most recent snapshot to send.
The Report Wizard is good for basic reports. You cannot get count, only sum of number fields. This is not really improved in CRM 2013; the idea is it should be simple for end users.
Reporting Tools and Resources
For help with editing XML a good blog is CRM Chart Guy. These are business charts, not 3D or flashy.
Scribe Online Replicate – easy to use tool to mirror the database
Metadata document generator (CRM toolbox) – view all entities, attributes, options
Metadata entity viewer – Generate Visio diagram for specific entities; do not include the User entity due to the number of connections it has
SQL2Fetch – converts SQL to FetchXML
Recommended BI Tools
- QlikView – link back to CRM, Full Display Control, Join multiple
- GoodData – Online System, expensive
Microsoft Q & A
In this session they discussed the announcement of Business Process templates for CRM 2013. They also mentioned that the Business Process engine will be improved in the future to include branching and workflow-like functionality.
Top Issues with Upgrading to CRM 2013
Main issue has been unsupported customizations such as the version 4 endpoints. Also CRM for Outlook issues where the client cannot connect, this is just a configuration issue. 2400 organizations had been updated successfully at that time (10/24/2013).
Ask the MVP’s: System Administration
A Panel of MVPS’s
This was another great session. It is impossible to record, retail and pass on all the information. Good news – they are working on a CRM 2013 Field Guide so that may contain a lot of this information.
How can I encrypt a field in the database?
You can use TDE Disk encryption on the full database if on premise with SQL enterprise. If online, you can use a plugin to encrypt and decrypt. This can be field specific, but keep in mind you will need it to translate anytime the field is shown including Reports and Advanced Find.
Auditing user login was hot topic. The issue with the out of the box auditing is that it captures the login when Outlook is opened even if they do not access CRM data. Some other options are IIS logging if you are not using ADFS, Sonoma Control Tour (User adoption tool, does not track reads), Zero2Ten tool, etc. There is also a new SDK function available for this (getCRMAccessAudit) or you can build a start page with a Click here and audit that.
There is no way to report on Auditing with CRM online. On Premise it can be done by reading SQL. Better option is to create custom entity to track specific fields for auditing.
Upgrading 2011 to 2013
Use the Legacy compatibility tool to find scripts/code that needs to be updated. Make sure you test everything! Take time to look at the new functionality and take advantage of the new features.
This is a major navigational change even if everything else is kept the same. Training is very important – users need to know how it is useful and why they should use it. Build excitement for the new product. Show it as a tool to help them be more efficient. Simplify as much as possible. Build awareness and ask for feedback, allow everyone to be a part of the rollout.
Basic Configuration Efficiencies (Quick Wins)
Use Views, dashboards, scheduling and emailing reports, etc. Good Icons for custom entities. Simplify the site map and ribbon. Use drop downs Create Dialogs when appropriate – allows for quick form entry, create records with related records, and you can include all the important fields to improve data compliance.
Partner Showcase: ADXStudio – Portals and Customer Communities
Portals allow you to keep your data in CRM while having it open to customers online. These portals can respect your branding such as logos, colors, font, etc. Thes portals can be integrated with other systems and shared on your website of Facebook. The platform is also extensible with ASP.Net so you can add even more integration if necessary.
The ADXStudio portals are set up to use many different authentication standards including social. Using social authentication allows you to use credentials they already trust instead of needing to maintain credentials.
The portal can provide social engagement for customers such as forums, events, blogs, surveys, comments, etc. This gives customers a way to be social about a product without being on social media. Don’t just monitor social – create a community platform.
ADXStudio also has a Help Desk Solution. Customers enter their issues in the portal and the solution ensures that there is effective resource and issue management. It includes a knowledgebase where customers can look for existing issues to resolve their problem without a ticket. If they cannot find it, then they can create a new case, receive updates, and monitor it all through the portal. If customers need to pay for tickets, this is handled through a separate system so your database does not need to be PCI compliant.
For more information you can check out Demo.adxstudio.com.
Techie Talk: Workflow Activities Panel
Getting Started with Custom Workflows
If you are just getting started with Custom Workflows there are several things to check out.
Jim Wang’s book and Blog
CRM Administration Bible – some information on starting custom workflows and plugins
Codeplex – many custom workflows are already here, you may not even need to make your own
TIP: Moving Workflows with User/Team References
If you have a workflow that references a specific User, Team, or Queue you may run into an issue when moving it between environments. This occurs when the User/Team/Queue/etc. was created separately in each environment, meaning they each have a different GUID. There are a few ways to get around this.
Create a Configuration entity with only one record. This will have a field for all the fields you need in the workflow. As the first step of your workflow, add a link to this configuration entity. Now you may wonder how we can prevent the same issue from occurring with this record. What you need to do is create the configuration entity via import with the GUID, this will force it to be the same. (Note: This is the same technique that could be used for Users/Teams but generally this problem is noticed after the fact.)
Another option is to use the Zero2Ten Exact Replica “Deep Copy Tool” which will Mirror data within each environment. If you clone the environment all the GUIDs will be the same except for Business Units.
Best Practice: Long Running Workflows (Long Timeouts)
It is not a good idea to have a large number of waiting workflows, especially those that are waiting for a long time. You may not have a problem if there are not too many waiting but waiting workflows are never dormant, they are always in memory.
If you need to wait, wait for a specific date so the job will sleep. If you are waiting for a condition such as “Process execution date is after close date” this will continuously run because the Process Execution date is currently changing (Is it done now? Now? Now? How about now?)
One way to get around this is the technique outlined in Gus Gonzalez’s blog Scheduling Recurring Workflows. The concept here is to create a “placeholder” record at the end of workflow 1. Then schedule a bulk delete to delete these “placeholders” when the desired condition is met. Start the next workflow (the piece after the wait) on the delete of that record.
CRM 2013 has the concept of Actions. These are processes built through the user interface that can take input and give output. These can only be instantiated with code. This makes them the opposite of custom workflows that are written in code and instantiated through the user interface.
Workflows can now run as the user who triggered the workflow. This can add security if you do not want users to be able to trigger certain actions even through workflow.
In 2013, you can also specify if the workflow should fire before or after the event. Create can only fire after the event. Delete can only fire before. Others can fire either before or after.
Always Check for a Condition – when the workflow starts, check it meets the requirements even if it is called by a parent. If you are emailing, check the record has an email address.
Always Check Conditions after a Wait – Make sure you can still do what you want to do
Use Child Workflows – break workflows into manageable pieces
Use a workflow to trigger other workflows – avoid having a large number of workflows going off one action. Check conditions in the parent to determine the child that should be called.
Here are some tools that came up to deal with hot issues:
If you need real-time goal-like functionality, check out North52’s calculated fields tool. It is a formula manager and is free for the first 10 formulas.
If you want to run a workflow on all children records for a given record, look for CodePlex’s “CRM 2011 Distribute Workflow Activity”
Keep it Classy CRM Administrators
How to get support
Be prepared with all the information (All users? Does it work on another computer? Rollup? All environments?). Also look at the event viewer and logs to see if there is any messages that could be helpful. Check if they have done the Windows updates. Listen to the whole issue and see it happen, have screenshots as part of the issue documentation. If there are many pieces, break these out and let support determine if they are related.
Check forums for answers, but be careful that answers given do not void your warranty.
Don’t freak out unless it’s happened at least twice. Be careful of using the B-word – “Bug”. No costs for these tickets but they will look for a workaround.
Rollup Best PracticesAlways stay 1 rollup behind; wait until others have found any issues. Read the ful KB article and ensure that everything is updated and tested in a development environment first. Make sure Windows Update is not running is not running on the server.
If currently on UR 11, go next to 14 or 15. If not going about 11, still release the Critical Update for CRM for Outlook. The Critical on Demand Update includes Sandboxing (Outlook will not affect CRM and vice versa) as well as health monitoring.
For the upgrade to CRM 2013, it is best to be on UR 14 or above. This will be a faster upgrade because scripts are already upgraded and some database updates are already done.
PerformanceKeep an eye on stalled or failed system jobs. Be careful with Wait operations and do not use these if it will run for 6 months. These issues can impact performance. Make sure old Async jobs are cleared out.
There are some system maintenance jobs that run every day at the time of install. If you notice your system is slower every afternoon at the same time, these may need to be moved. Stagger the jobs. Use the CRM 2011 Job Editor to do this.
Keep in mind that design changes can impact performance. Instead of creating new fields, try repurposing system fields. Custom Fields should not be included in System fields. This issue will be fixed in CRM 2013.
Use Performance traces and index recommendations. Use the DM Usage stats to determine if indexes are beneficial.
For Auditing, only keep data that you really need. Clear out old data. Use Row Page Compression.
Use your fastest disk for your TempDB. It should not be on the same disk.
CRM 2013The new Auto Save feature that is part of CRM 2013 may affect some of your workflow and plugin design. When the commit fires on the save, the workflow will fire. This can be disabled but this is depreciated. Create is still explicit, so users will have to hit save. In the real world, it will probably not cause numerous saves; usually you will work on a record for a while then maybe come back and edit more. Workflows should be running on actual field change.
Synchronous workflows run live on the form. The refresh happens in frame, no need to refresh the page.
When upgrading, be sure to set the flag to ensure that indexes are maintained.
CRM for Outlook in CRM 2013When you upgrade to CRM 2013, users can keep the old Outlook client if it is rollup UR 15 or UR 15v2 (when released). All features will work except you cannot go offline.
The CRM 2013 CRM for Outlook includes Server Side Sync. The sync will take place directly between CRM and Exchange. This will work with CRM 2011 UR 15. This means that a tracked conversation will automatically track at the server, no need to always keep Outlook open.
Email Router logs will not be in CRM. There will be easy to read errors, the ability to view emails, etc.
How to become a CRM Superstar
Gus GonzalezChris Cognetta
Becoming a CRM Superstar does not necessarily mean you are a CRM MVP, it just means you do your job better than other people in the same position. It is a love and passion for the product. It requires commitment to present, blog and help the community. This is not a career goal by a love.
For more information about CRM MVP’s you can check out Gus Gonzalez’s blog – 20 Questions with 20 MVP’s.
CertificationsCertifications can be good to set yourself apart and also to give a depth of knowledge in areas you might not use. They do not actually prove you can do the work but shows companies you are serious. Also, the number of certified people that work for a company impacts their partner level.
The new Certifications for CRM 2013 will be harder. There will be a separate CRM Online certification that will not require as much.
Certification in SQL or C++ may mean more because they show you understand things behind the scenes.
How to LearnTo learn more about CRM you can sign up to present on a topic you are not very familiar with, this will cause you to learn it.
Organize a study group. You can learn together. This is a focused time that provides accountability. Try building a solution for a fictional company including system hierarchy and SSRS Reporting.
Set up your own VM or use a CRM Online trial. Test and play.
Get on twitter and follow all the MVPs and Product team. Follow Dynamics Communities.
Friday, November 15, 2013
This week was fairly informative with some helpful tips for real life as well as some ideas for the future.
PowerObjects had a very helpful blog this week – How to Mass Send Emails in Draft Status. When working with E-mail records via workflow there are two actions: Send E-mail (a new E-mail) and Create E-mail. There is no action to send a draft email. There is a way around this, what you need to do is change the E-mail status to Pending Send and set the Number of Delivery Attempts to 0. This will cause the E-mails to get picked up and send. I really, really wish I knew this before I manually sent several hundred stuck, draft E-mails.
PowerObjects also posted about how to add an Image to a record in CRM 2013. As you know, there is a new data type of “image” available in 2013. This allows you to easily store a picture for your contacts or perhaps a logo for businesses you work with.
A topic that many people asked about at Summit was how to deploy CRM for Outlook. CustomerEffective wrote a great blog – Enterprise Deployment of Microsoft Dynamics CRM for Outlook – that covers your options and things to keep in mind.
Donna Edwards wrote a very detailed article for the MVP Award Program blog about Business Process Flow. It is interesting to see how this will work. It is very nice that the flow can be associated with specific security roles, similar to forms. So this allows us to control which users have access to which processes.
The CRM team is trying to help use with our upgrade to 2013 by showing the pieces we should see in each menu. If you have made any kind of modifications to the site map, these should be preserved in the upgrade but you could be missing something you want to see. This article is a good way to check. The CRM Team also posted about working with Activities right in the Activity Feed. Now you can complete Activities, create new Activities and even filter the Activity list from directly within the Activity Feed. Interesting Note – one of the available filters is “Overdue” but this filters on UTC time not your time zone, so you will see some discrepancy there from what you may expect.
Sonoma Partners presented a great use case for Custom Actions – The End of Configuration Entities. Custom Actions are created through the user interface but instantiated through code. Consider a case where you have a plugin that needs a certain piece of data like a Server URL (Sonoma’s example) but you may need to update this (say for your different environments). Previously you could create a separate configuration entity that the plugin could look at for the information. Now, you can have it call the Action and get the information it needs that way. Then when changes are necessary, a user can simply edit the action.
Chris S also wrote an interesting blog on the New Features of Workflows especially how you can use Synchronous workflows. Most interesting tidbit for me was that if you stop a synchronous workflow as “Cancelled” it will throw an error message out to the user.
Remember the Industry-Specific solutions Microsoft released? Forceworks broke those down for us in – Unpacking the Industry Templates for Dynamics CRM 2013. Take a look because there may be a solution that can help you get started.
Saturday, November 9, 2013
Due to last week’s late blog, it is a short one today. Also it seems many of the CRM 2013 blogs are beginning to get repetitive, it will be exciting as more and more users get on 2013 and have new discoveries to share.
PowerObjects has stayed busy this week with blogs about new features in CRM 2013.
You can take a tour of the CRM 2013 iPad App which shows some screenshots and discusses the set up. Keep in mind users will need to have a Security Role with the “CRM for Tables”privilege turned on. Some entities will automatically be in theiPad app and others you can enable from the Entity settings. Check out the handy chart within the blog about which Entities can be enabled and the permissions available.
PowerObjects also talked to us about how to Implement Access Teams. Access Teams are different from regular teams because they “are not used to grant ownership to a record but instead they grant access to records via sharing.” To implement an Access Team, you need to enable a record for Access teams, create the team then add the grid to the form. Users can add users to this grid on the form to grant them the Access Team pre-defined access to the record. You can also create Access Team templates but records created from this are based on the template as of the time the child team was created (does not stay up to date with changing template permissions). Also since these Access Teams are just sharing not Owning the record, records will not show up in a user’s “My” views.
The CRMSoftwareBlog shared Turnkey’s 4 Reasons to Get Excited about Microsoft Dynamics CRM 2013 Release. Here are the four items they touched on:
- New User Experience – the new user experience is intuitive and helps users be more productive with the drop down menus to access all areas and features like the quick create button.
- New Social Capabilities. Yammer is a social network for the business. It allows users to communicate from where they are working and collaborate with the whole organization and even people outside the organization. MarketingPilot is a complete Marketing Management solution that will be fully integrated with CRM 2013. NetBreeze gives companies the ability to monitor the social sentiment over a wide range of social channels. It allows organizations to analyze and act on social intelligence.
- Guided Processes allow customizers to build the business process and visually move users through it. Users can see where they are, what has been done and what needs to be done. Users can switch between processes to something that better fits their role or that particular account.
Mobility options allow users to work on the go and from anywhere.
Have a great weekend!