A common request of the 2011 version of CRM was the ability to create a dashboard for a group of users, but restrict access to that dashboard from the rest of the organization. An example would typically be an administrative dashboard, which would be very useful to have, but not ideal for standard users to be able to access. This was possible to do in 2011, but required building personal dashboards/views/charts etc., and then sharing each individual component of the dashboard with the specific users who would be viewing it. It is a somewhat confusing process to most users.
In steps CRM 2013. Very similar to the role based forms that were introduced in 2011, we now have the ability to control dashboard access in a very simple way via security roles.
Hitachi Solutions America, Ltd., a leading provider of global industry solutions based on Microsoft Dynamics AX and Microsoft Dynamics CRM, today announced it has acquired Customer Effective, a leading provider of industry-focused Microsoft Dynamics customer relationship management (CRM) solutions. This acquisition provides Hitachi Solutions with expanded capabilities and industry IP (Intellectual Property), particularly in the financial services sector. It also further increases its capacity with the addition of around 90 highly-skilled CRM resources throughout North America.
With this acquisition, Customer Effective will immediately become part of Hitachi Solutions America, Ltd. Customer Effective leadership and employees will remain in place and be integrated into Hitachi Solutions’ Global CRM practice. Scott Millwood, their CEO, will become the Senior Vice President of Hitachi Solutions Global CRM practice.
“Hitachi Solutions maintains a very strategic and highly selective acquisition strategy,” said Mike Gillis, Global Chief Operating Officer, Hitachi Solutions America, Business Solution Group. “Customer Effective met our strict standards because of their passion for customers, their leadership in Microsoft Dynamics CRM, their industry focus, strong Microsoft partnership and our close cultural alignment.”
To read the full Press Release and learn more, please visiti: http://www.customereffective.com/
One of the most exciting new features in Microsoft Dynamics 2013 is the addition of Business Process Flows. Yes they are pretty, guided and thoroughly ‘modern’, but more importantly they seek to replicate real world business process inside of an enterprise application. The real world processes do not have to bend to fit the constraints of data entry, multiple windows, or a pile of fields on forms. Instead, users are given only the interfaces they need at that point in time.
If you are not familiar with Business Process Flows in Microsoft Dynamics 2013, there is a picture of one below. These are presented as an area on top of forms in CRM that guide check lists and data entry into a form. As the stages of the process change, so does the color and little flag at the top. Administrators are free to change the stages and the content required to move to the next stage. The entered data can trigger additional workflows within CRM in the background. Multiple processes can be applied to a single form or record. A recent example we built for Opportunities was for a company that wanted one process for regular sales cycles, and another shorter one for use at trade shows. Users could quickly toggle between the two processes. That is the ‘what’ of Business Process Flows. Below we take a look at the top five reasons why you should use them.
One common question asked during CRM implementation is what are best practices around data archival for historical data?
My first recommendation is remember that the value of CRM is directly related to the data in CRM. Having historical data in CRM and discovering relationships between that data can give you valuable insights into your customer base. if you archive too much data, you limit the usefulness of CRM.
So if disk space is not a premium, and there are no overriding business policies that dictate data be removed from CRM, my recommendation is to leave archival data in CRM, but deactivate it so it does not appear in your active record views. Inactive records can be found by viewing the inactive records view or using Advanced find, but they will not appear in standard active record views.
However, maybe you are on CRM online and have a limit to how much storage is available, or you have corporate policies that dictate that data over a certain age cannot be accessed, it is possible to archive data from CRM.
Using tools like Scribe insight or SQL Server Integration Services (SSIS), you can copy data to an external data warehouse. CRM also includes a bulk delete engine, which can be used to periodically delete any data from an entity that is over X months old. Bulk delete is located in the Settings—>Data Management area.
So the combination of exporting archival data and periodically deleting exported data can be used together to satisfy most data archival requirements. Just be sure before removing the data that it won’t be needed for any other purposes inside of CRM.
There is an interesting thing happening in CRM-land. Financial and tech media outlets, such as Business Insider, Fool.com, and Seeking Alpha are questioning the accounting practices, financial health and future direction of Salesforce.com. Elsewhere, enterprise tech analysts from Gartner, CRM Magazine, and CIO Today are singing the praises of the new and improved Microsoft Dynamics CRM. While these things are clearly unrelated to one another, to those of us in the trenches of the Microsoft CRM world it reinforces what we have long suspected; that Salesforce spends a ton of resources on sales, marketing and attrition efforts, and most implementations become cost prohibitive through time. Microsoft Dynamics, on the other hand, is going through a transformation that positions it as a true leader in service, marketing and sales.
Salesforce.com, “House of Cards”
One of the most scathing analysis came from Fool.com, which asked if Salesforce was a 'House of Cards'. “While Salesforce's revenue growth rate has been impressive, the company's operating profit has been negative for the past three years, and the losses have been accelerating.” It goes on: “Operating expenses have grown faster than revenue, and each additional dollar of revenue seems to cost the company more than the previous one.”
Microsoft Dynamics CRM 2013 Update Rollup 2 was released last week for CRM Online and On Premises.
There are a number of exciting features in the new update. Probably the things that will get the most attention are full support for Internet Explorer 11, IOS 7, and iPad Air.
I wanted to highlight a couple of items that many people don’t know about. These are not emphasized in the knowledge base article, but they are things that have made some of our clients very happy.
So this adds up to a significant update. You will want to be sure to test it in your non production environments and move to production soon, especially to get the updated compatibility with newer browsers and mobile devices.
If you use CRM Online, your environment has probably already been updated. If you use the Outlook Client, you will want to download the update (or get it from Windows Update when it is released that way).
I also recommend listening to the Professional Field Engineering Update Rollup 2 podcast (embedded below) for more information about what’s new in UR 2.
I was recently at Convergence 2014 in Atlanta, and in talking to some experienced users of Microsoft Dynamics CRM, I was surprised to learn that they were unaware of all of the improvements in CRM for Phones.
CRM for Phones is based on Mobile Express, which was first introduced in CRM 3. In previous versions, many users ignored Mobile Express due to its very limited feature set; however it has come a long way in CRM 2013. If you haven’t taken a look at what is new, it is definitely worth a second look.
All this adds up to a very usable CRM phone client. Some use cases where CRM for phones works especially well:
We covered the process of deploying CRM for Phones in Day 9 of our 12 days of CRMas
CRM 2013 has a lot of treats for the end user that make the overall experience that much sweeter. One such treat, the “Phone” format, was first introduced in the December 2012 service update, but has been expanded upon for CRM 2013. In the December update there were some phone number fields that already had the new format for out of the box entities, such as main phone, business phone, etc. The fax number was not included in this release, and for good reason. The purpose of the “Phone” format was not that it provided automatic formatting for data entry, but that it enabled those fields to be clickable and optimized for devices to leverage for a phone call. Obviously a fax number wouldn’t need this feature, so the new format was not used. Yea, you got it, like a mini telephony integration feature. And it’s so useful for those of us with telephony software on our computers like lync. Here is how it works.
In a recent post I covered common misconceptions about CRM multiple currency capabilities. In this post, I’m going to expand on how you can use multiple currencies in CRM reports.
If you use multiple currencies in you CRM environment, a common request is to adjust reports, like pipeline reports, to the currency of the user viewing the report.
Multiple currency capability was added way back in CRM 4.0, but I find that many people don’t fully understand how multi-currency works, and there are some common misconceptions.
In this post, I want to document some of the things you need to know about dealing with multiple currencies.
Customer Effective is proud to announce that four of their customers have been recognized by Microsoft® with Microsoft Dynamics 2014 Customer Excellence Awards. These customers will be honored by Microsoft executives at an awards luncheon on Wednesday, March 5, at Convergence 2014 Atlanta, the premier Microsoft Dynamics user conference.
The 2014 Customer Excellence Awards, which are presented in 17 categories, recognize and celebrate Microsoft Dynamics customers that have achieved notable accomplishments using their Microsoft Dynamics solutions. Customer Effective’s award winners include, Melissa Singer of Signature Flight Support; CSX Transportation; Herschend Family Entertainment Corporation; and, Nucor Corporation.
“We are very excited for our clients to receive recognition for their success and we send out a big CONGRATULATIONS to each of them!” said Scott Millwood, CEO of Customer Effective. “We are fortunate to work with a great group of world class clients and our whole team is proud of the work we have accomplished together. True CRM success requires a great deal of collaboration and investment together, and we appreciate the effort from every person on the combined teams that put in the long hours to get to this point. Thank you very much!”
DNS Round-Robin has been around since Eve researched bad apples on the Internet. Perhaps not quite that long. At one time, it was a serviceable way to balance the load across several resources simply by "changing" the IP of the destination in DNS.
As better methods came along, the flaws DNS Round-Robin have been overcome. Some of those flaws include:
While working with a client, we made an interesting discovery. They had lost the button on the subgrid on some of their entities. This button will pop-out the associated view for the related entity in question. Picture below, it is the one that when hovered over, displays "See the records associated with this view."
When we were working on the navigation on the form for Account, (though this would be the case on any entity) they had removed many of the related entities. Their theory was that they were displaying the data within a subgrid on the form, so they could reduce clutter on the navigation of the related entities. The unintended consequence of some of these removals was that it also removes the button noted above.
The ensuing search on Bing was filled with entries regarding the behavior of the + button on subgrids and wasn't germane to the problem we had. Finally we stumbled across the following link by Jason Lattimer : http://community.dynamics.com/crm/b/jasonlattimersblog/archive/2013/10/29/context-sensitive-sub-grid-commands-in-crm-2013.aspx which effectively describes the issue we had encountered. We give full credit to Jason for his excellent write up on this problem.
The easiest way to determine if you are having a similar issue is the following (we will use Contact on the Account form as the example, but this could easily be translated for other subgrids on other forms) :
1. Open an account using the form that you have the subgrid for contacts on.
2. Pull down the Related Records view from the dropdown next to the particular account as pictured below.
3. If the related entity is NOT listed, that is likely your subgrid problem.
To resolve the issue, you will open the form in question from your solution or the default solution.
1. Open the form and click on Navigation as pictured below:
2. Once you have selected that, the Side Navigation bar becomes available and the right side available to pick the relationships from. Here is a screenshot to show you that view:
To summarize, the resolution to the disappearance of the button and functionality was to add the related entities back on the navigation within the form.
In today’s dynamic working environments, it is becoming increasingly common for people that work from different areas within an organization to need access to records from the same entity in Microsoft Dynamics CRM, opportunity records for example. Access teams solve this problem by sharing the records with all the members of the team, regardless of other permission restrictions, in a much different way from Owner Teams.
In taking a deeper look into Access Teams, it will help to contrast this against the traditional Owner Teams in CRM. Owner Teams (Ownership) and Access Teams (Sharing) will be explored at both the individual and team level.
Owner Teams (Ownership)
The typical initial approach for defining access to records for a user or team-owned entity is by user ownership. When assigning records to users, they are granted permissions only to records they own. This provides for a very simple model, yet very restrictive in that only one user is granted permissions through ownership. Due to the CRM user to Business Unit relationship, this record also gets linked to the respective Business Unit.
When assigning records to a team versus a user, you can grant multiple users access to the record via ownership. This overcomes the inflexibility of user ownership by allowing access to any sub-set of users. It’s important to note that ownership information of records does not require any additional storage because it is all contained on the records themselves. This fact, when coupled with the argument that determining access by ownership is faster than sharing, proves it to be a more efficient model.
Following the same user-owned entity example, when the user does not have organization level access to the entity, the system will have to check ownership for access to the record. These checks vary depending on individual or multiple records are being retrieved.
When accessing an individual record, the system will check both the user and any owner teams they are a member of for ownership. All security role information for both the user and owner team will be retrieved from cache and used to compare against the information on the record. If the appropriate permissions are granted, a full retrieval of the record is performed.
When accessing multiple records, the system will check both the user and any owner teams they are a member of in much the same way as individual records. The one difference is that it will be compared against all of the records from the query and where the appropriate permissions have been granted, a full retrieval of the records is performed*.
*“For efficiency, this is performed within the query to the database server. The list of owner teams a user is a member of that can have ownership read access to the type of record being queried is retrieved in memory within the query as a Common Table Expression. An in memory join to the table of records being queried is performed doing a join on the ownerid column, filtering out any records owned by other users or by teams the current user is not a member of. This allows SQL Server to apply rich query optimization and indexing to perform the query as efficiently as possible and reduce the data returned to the application server to only the results set.”- Scalable Security Modeling with Microsoft Dynamics CRM 2013 by Roger Gilchrist
Some important design considerations should be considered when trying to determine which approach to use. Retrieval times to records using the ownership model grows independent of the amount of data in the system. With the sharing model retrieval times grow in direct proportion to the amount of data shared with the user. Although the pure number of teams in the system does not cause any impact, the number of owner teams a user is a member of can slow down retrieval times.
Access Teams (Sharing)
Whenever talking about the scalability of sharing in CRM, it helps to have an understanding of how it is accomplished. Two tables are involved whenever sharing a record, the SystemUserPrincipal and PrincipalObjectAccess tables.
§ The SystemUserPrincipal table contains the security principal information, the User’s Role, Team, Business Unit and Organization and their relationship to other security principals.
§ The PrincipalObjectAccess (PoA) table stores the sharing rules between the security principals and individual records for each entity. This includes the specific permission's to read, write, assign, share, etc. as well as all inherited permissions from cascading shares.
In order to determine access, the SystemUser table is compared to the SystemUserPrincipal table to understand which records the user has permissions. In the second step, the record set is compared to the POA table to understand what permissions are granted for the records.
When accessing an individual record, access privileges are retrieved and validated before the record is opened. The highest level privileges are determined and access is granted where appropriate.
When accessing multiple records, all the records that match the query are returned and joined to an in memory table that is created with the records of the type the user can access directly through sharing or indirectly through team sharing and compared and appropriate access granted.
Sharing was designed to fill a gap and not necessarily be the primary method for general access. If sharing is used in large scale deployments, it can result in significant data needs to store the sharing rules. Determining access to a record requires more processing power than ownership-based access. Access teams work well in highly flexible and dynamic business environments, although they cannot be used as resources in Service Scheduling.
Users can be a member of a greater number of access teams than owner teams before any performance impacts are noticed. Multiple access teams can be linked to a single record, allowing different access types to be defined for the same record. Access team types are defined at the form level and applies to all records for an entity type and can be used in conjunction with role- based forms to present different views determined by the users security role.
Lastly, it should not be forgotten to address when to remove an access team or revoke permissions for the team. Even though the records from an entity may be purged, the team will still exist until removed.
Access teams and owner teams each have their own strength's and weaknesses. Hopefully with a greater understanding of each topic, it will be more clear when to use one approach versus another. Keep in mind, that owner teams and access teams can both be implemented to take advantage of the strengths of both models. Access teams cannot own a record, they simply provide access through sharing. In deployments with very large volumes of data, sharing should be carefully considered. In managing the lifecycle of an access team’s existence both the granting and revoking of permissions and the team itself should be considered.
In 2011, I wrote a post describing how user synchronization filters could be managed using the filter templates added in Microsoft Dynamics CRM 2011. this post was well received, but something felt missing about it. Because while the filter templates enabled administrators to set filters, and security roles allowed administrators to prevent users from modifying their synchronization filters, there was no easy interface for managing user synchronization filters or modifying the synchronization filter templates. Some users went the unsupported route and updated via SQL, but there has never been a really easy to use tool to update and manage the filter templates in a supported way.
Fast forward to 2014. My colleague Scott Sewell and I were discussing this with fellow MVP Tanguy Touzard, and he took our suggestions and added a fantastic tool to his free Toolbox for Dynamics CRM. This tool works in a fully supported manner, and supports both CRM On Premise and CRM Online.
Using the Sync Filter Manager, you can update or create new System Synchronization Filters and Filter Templates from system views, reset users to the default rules, or apply additional filters to selected users.
Go to the system view tab (if a view with the desired filter does not yet exist, create it first). Select the view that you want to make the default filter for an entity.
Click “update” and select “Synchronization Filter Template from selected view.”
You will then be prompted to select the template that you wish to update.
Keep in mind that synchronization filters are applied to users the first time they synchronize with CRM.
Go to the Users tab
Search for a specific user, or click the search button to display all users in your organization.
Select the user that you wish to reset to the default filter template. Click the “reset to the default Local Data Rules” button.
You can also change the default templates, rename templates and change the description, deactivate/deleted a specific user’s filters, and more.
Keep in mind that you can only have one default template per entity—you can have multiple templates, but just the default for each entity is what the users will receive as their filters when they synchronize with Microsoft Dynamics CRM the first time.
If multiple filters per entity are necessary, my recommended approach is to make a filter that applies to all users the default template, then set up additional templates for the other filters. When users are added, they will receive the default filters, then you just apply the appropriate additional filters to those users as needed.
When working with queues in CRM we noticed that a contact was created every time an email was brought into the queue. These contacts had an owner of “System". This prevented the user from seeing all of these contacts since security was set to see only items in their business units.
To eliminate the creation of every contact from an email, we had to find the user account that installed CRM and the email router. We logged into CRM with that account and unchecked the box "Automatically create records in Microsoft Dynamics CRM".
This checkbox can be found under File, Options and then the email tab.
The reason this happens is because CRM has a default user setting that allows contacts to be created automatically if the recipient of the email doesn't already exist in CRM. While this feature can be useful if desired, not everyone will want this to happen, so it is good to know how to disable it.
When implementing CRM, we all want the implementation to go smoothly; however, there are decisions made during the implementation that can make the implementation more difficult. The following are some common mistakes that some companies make when implementing CRM. Avoiding these mistakes will help ensure that your CRM deployment is successful.
In Microsoft Dynamics CRM 2011, the Team concept that was used is now known as Owner Teams in Microsoft Dynamics CRM 2013. The new version of CRM also introduces a new team type called Access Teams. Two fundamental differences between an Owner Team and an Access Team involve ownership and sharing. As the name implies, a member of an Owner Team inherits permissions to the records because the team owns the record. Access Teams are different in that permissions are granted to the records via sharing.
Now that there are two team types, when should you use one over the other? Since owner teams are a known concept with the two previous releases of CRM, only the best practice of when to use them will be defined in comparison to access teams.
Microsoft refers to an access team, as a lightweight team specifically designed to accommodate high volume sharing scenarios. One benefit for using Access Teams is the simplified administration. After an access team template has been defined for an entity, the team is created for you automatically and membership is managed by simply adding or removing users to the team sub-grid on the form, and that's it. All of the sharing permissions defined in the template configuration are automatically imposed for all records for that entity granting all team members the applicable permissions.
Since access teams do not require a security role, using access teams can reduce the overhead in scenarios where one is not needed. The overhead being referenced here requires further background information. Keep in mind that security roles are cumulative, so the permissions defined in both the roles of the user and the team factor in. In an effort to mitigate any impact of this overhead, the system will cache the cumulative permissions for each user when they log into CRM. This cache will get flushed due to inactivity or a server restart, which in turn can cause a delay in the initial connection when the user logs in, if they have a large number of security roles and/or teams with security roles. Also, whenever team membership changes or the security roles for the team change, the user's cache will get flushed and re-calculated on the next log on. In a rapidly changing environment, this can introduce significant performance impacts to the system. Therefore access teams without a security role, which avoid this performance impact potential, are recommended for this type of environment.
Another area of overhead access teams help avoid deals with the Principal Object Access (POA) table. The POA table records all of the sharing rules between users/teams and each entity. Each record in this table defines the permissions between the User/Team and the entity records with which it has been shared, including the ability to read, write, assign, share, etc. as well as the privileges that have been inherited from any cascading share that is held separately from the explicit privileges. By using access teams, this approach can significantly reduce the number of records needed in the POA table.
As shown in graphic above, a small team with just two members can reduce the overall number of shares by fifty percent. Instead of two share records needed per entity record, only one from the team to the entity record is required. In the case of larger groups, the benefits to the POA table can be exponential.
For rapidly changing environments where ownership is not needed, access teams can provide many benefits. Access teams are also easy to manage access to records which may not explicitly defined by a security role. Lastly, keep in mind owner teams and access team can be combined to take advantage of both access team and owner team benefits.
We often run across the need to do a simple business card capture with a mobile device and have them sync into Microsoft CRM. Using some popular mobile apps along with Microsoft Outlook, this can be done in a few simple steps.
First, Get an App. I used an iPhone/iPad app called ScanBizHD. It is available in iOs, Windows and Android. It costs 9.99 from any app store.
It should not require any additional set-up other than installation. The paid version lets you sync directly with the contacts on your phone, which in my case was synced with Exchange.
Microsoft Dynamics CRM 2013 includes plenty of new features to close gaps and further chase down the elusive codeless business logic configuration. One of those features I would like to highlight is the powerful new ability to now schedule your workflows to run Synchronously, in real-time. If you’re new to CRM the gravity of this might not be immediately apparent. If you’re a CRM veteran… I’ll give you a minute to allow your heart rate to settle… ok? let us move on.
When you upgrade to Microsoft Dynamics CRM 2013, you will notice a big change in subgrids on forms.
The Customer Effective team has three webinars planned over the next six weeks highlighting Microsoft Dynamcis CRM 2013 in the Manufacturing and Transportation Industries.
Join us for an "Afternoon Snack" on January 23rd, February 6th and February 27th!
January 23rd: Turbo Charge Your Contract Selling Cycle with CRM for Manufacturing
Join the Customer Effective team for a short, 30-minute snack of our Dynamics CRM2013 solution for contract selling. Our team will give you a short background on who we are and our experience in your industry and then we'll dive into the product. We'll demonstrate how CRM gets you closer to your sales goals. CLICK HERE TO REGISTER
February 6th: Accelerate Your Quote to Order Process with CRM for Manufacturing
Join the Customer Effective team on Thursday, February 6th for a FREE 30-minute webinar on how Dynamics CRM 2013 is being used in the Manufacturing Industry to enhance the Quote to Order selling process. Click Here to Register Now
February 27th: Microsoft Dynamics CRM 2013 in the Transportation & Logistics Industry
Join the Customer Effective team for this 30-minute webinar on Thursday, February 27th to see how we've helped other companies in the Transportation and Logistics Industry improve their processes with Microsoft Dynamics CRM. REGISTER TODAY!