75 Wednesday, January 4, 2017 |
Suresh Maurya
Dynamics CRM Consultant at IBM

Lead Management: Lead To Opportunity Process Ribbon

With the process ribbon, users can follow a step-by-step process to make sure the correct information is gathered for different record types.

Stages and Steps in Lead to Opportunity Process

  • Qualify
    • Existing Account
    • Existing Contact
    • Purchase Timeframe
    • Estimated Budget
    • Purchase Process
    • Identify Decision Maker
    • Capture Summary

Microsoft Dynamics CRM 2013 SDK New Features - Client API

Lead Management: Qualifying Leads Outcome

To Qualify a lead click Qualify.

Qualifying a lead can result in an Account, Contact, and/or Opportunity record being created.

The following values on the lead form control the outcome of the qualification process:

  • Existing Contact: If this existing contact value is populated and the company and existing account values are not, then the opportunity that is created is associated directly with the existing contact.
  • Title: This becomes the title of the opportunity that is created.
  • Name: If the name is populated, and the existing contact is not, this becomes the full name of the new contact. Additionally, if the existing contact value is empty and the company field is populated, this contact is associated with the new account. However, the opportunity is still associated with the account.
  • Company: If the existing account is blank, this becomes the name of the newly created account.

Microsoft Dynamics CRM 2013 Setup and Upgrade New Features - Base and Extension Table Merge

Dynamics CRM 2011: Sales Force Automation

Process control in Microsoft Dynamics CRM 2011

This demo shows the different ways in which managers can gain greater control of their business processes using Microsoft Dynamics CRM 2011.

 

Delete Record In Dynamics CRM - Late Bound

Following example demonstrates how to delete record in dynamics crm using late bound.

Connection string

<connectionStrings>
<add name="connection" connectionString="Url=https://org.crm.dynamics.com; Username=user@org.onmicrosoft.com; Password=password;"/>
</connectionStrings>

 C#

using Microsoft.Xrm.Client.Services;
using Microsoft.Xrm.Sdk;
using System;

namespace CrmSampleCodes
{
class Program
{
static void Main(string[] args)
{
IOrganizationService _service = new OrganizationService("connection");

Entity contact = new Entity("contact");
contact["firstname"] = "Suresh";
contact["lastname"] = "Maurya";

Console.WriteLine("Creating Contact");

Guid contactId = _service.Create(contact);

Console.WriteLine("Contact with guid=" + contactId + " created");
Console.WriteLine();
Console.WriteLine("Deleting Contact with guid=" + contactId + " created");

_service.Delete("contact", contactId);

Console.WriteLine("Contact Deleted");
}
}
}

What's New in CRM 2011 - Dialogs

In the eighth installment of Sonoma Partner's 10-part series, we will highlight a new feature in Microsoft CRM 2011- Dialogs, a visual workflow to guide users to entering CRM data.

Email Router Demystified in MS CRM Part -3

Troubleshooting Incoming email issues

Now let’s shift our focus on troubleshooting to incoming email issues.  This is where the Email Router is going to connect to a mailbox and process the mail.  There are a few things to take into consideration when we talk about troubleshooting incoming emails.  The first one is to figure out if the user configuration is set to use Email Router or Forward Mailbox.  Each of these have different troubleshooting steps.

Email Router

Troubleshooting the Incoming Email option for Email Router is relatively simple.  It’s very similar to the Outgoing troubleshooting steps.  For this route, the user’s “Incoming Email” option must be set to Email Router:

Since this user is configured to use the Email Router for “Incoming Email” lets refer to the following mail flow diagram referenced from the earlier blog post (Email Router Demystified – Explanation) in the section labeled “E-mail Router – Incoming E-mails”:

Each step constitutes a potential problem so let’s break down each step below:

  1. Someone must send an email to the user.  Now, it’s important to ensure that the Email Router is connecting to the same mail profile that the user is using within Outlook.  I have actually run into cases where the user’s mail profile is configured for a different mailbox within Outlook and the Email Router is configured to use another one.  Typically, this is seen where the Email Address for the user in CRM does not match what is in Outlook.
  2. The Email Router connects to the user’s mailbox.  There are a few things that could be an issue here:
    1. Connecting to the user’s mailbox: This is done by what is specified in the Incoming profile, specifically what is set under Access Credentials.
    2. If Access Credentials is set to Other Specified, then this is going to be using a service account or the user’s own credentials to connect to the mailbox.  If using a service account, that account must have permissions to access user’s mailboxes.
        • You can give permissions, within Exchange, per mailbox using the Add-MailboxPermission or you can set the service account to use a Role Group such as View-only Organization Management.  However it is done, the credentials must allow for GetFolder and GetItem requests within the mailbox. 
        • Exchange is not the only protocol we can use to process incoming emails.  We can use POP3 as well.  In this case, you need to work with the POP3 provider to determine how to give access to a service account to other user’s mailbox
    3. User has not specified credentials in the Mailbox profile:

      If you have defined the Access Credentials within the Email Router to use User Specified, the user must enter in their credentials within their mailbox profile
    4. The user is not listed in the Email Router Configuration Manager after clicking on Load Data:

      This could be due to the Email Access Configuration for the user not set to Email Router for Outgoing or the user’s email address has not been approved. 
  3. Lastly, once the Email Router has processed the inbox and it has items to send to CRM, it must connect to CRM and query to see if the email should be a CRM email.  A user’s personal options dictate what emails make it into CRM.  If we go into the Personal Options for Email, what is the option for “Select the email messages to track in Microsoft Dynamics CRM”?

    Based on the setting determines what emails are created or promoted into CRM:
    • All email messages – This will promote every incoming email the user receives
    • Email messages in response to CRM email – This will promote only emails that were either sent out of CRM or they were in response to an email that was tracked within the CRM Outlook client
    • Email messages from CRM Leads, Contacts and Accounts – This will promote any emails that have an email address that correlate to a Lead, Contact, or Account
    • Email messages from CRM records that are email enabled – This will promote any emails that have an email address to any CRM records that are email enabled.

Additionally, if you are sending emails between users and you want both the outgoing and incoming emails to be created into Microsoft Dynamics CRM, you must check the Email System Setting for “Track emails sent between CRM users as two activities”

 

Forward Mailbox

If the user’s profile for “Incoming Email” is set to Forward Mailbox, then this will mean that the Email Router is going to be connecting to a Forward Mailbox and processing email from that mailbox:

  

This would mean that we would need to refer to the following mail flow diagram referenced from the earlier blog post (Email Router Demystified – Explanation) in the section labeled “Forward Mailbox”:

Again, each one of these steps indicate a potential break point in the email routing process for the forward mailbox.  You’ll notice that this is very similar to the Email Router method except that the email router is no longer connecting directly to a user’s mailbox but to a forward mailbox.  Additionally, emails are being forwarded as an attachment from the user mailbox into the forward mailbox.  Hence why we call it the forward mailbox.

Since most of what we talked about previous applies to the Forward Mailbox option, I will simply highlight them rather than going through those steps in detail:

  1. Someone must send an email to the user. 
  2. The email is being forwarded as an attachment from the primary user’s mailbox into the forward mailbox.  We use the Rule Deployment Wizard to try and help to automate this task by applying the forwarding rules programmatically for users.  However, there are situations where the Rule Deployment Wizard does not work and you must manually create this rule.  The bare necessities of the rule is that you forward the email as an attachment to the mailbox you designated as the forward mailbox:
  3. The Email Router connects to the Forward Mailbox.  The Forward Mailbox is defined within the Email Router Configuration Manager:
  4. Lastly, once the Email Router has processed the forward mailbox and it has items to send to CRM, it must connect to CRM and query to see if the email should be a CRM email.  A user’s personal options dictate what emails make it into CRM as we discussed above.

    Once the Email Router has been able to process the email for the forward mailbox, it has the ability to delete the message out of the mailbox for the forward mailbox as long as the option within the Forward Mailbox profile has been set:

    This helps maintain the size of the forward mailbox and not to retain emails that are unnecessary for the forward mailbox.

Incoming Protocols

So now that we understand the various breakpoints, we can now determine what tools we can use based on the different Incoming protocols being used.  Troubleshooting incoming issues are the same as troubleshooting outgoing email issues.  Our two options, realistically, is Exchange Web Services (EWS) and POP3. 

Exchange

When we are connecting to Exchange, we are connecting using Exchange Web Services.  We’ve already seen how we can troubleshoot EWS issues by using Fiddler and by using EWS Editor.

POP3

Troubleshooting POP3 issues are like troubleshooting SMTP issues.  To troubleshoot POP3 issues, we use a network sniffer like Microsoft Network Monitor (NetMon).

Microsoft Dynamics CRM 2013 Customization New Features - Quick Forms

Create a Record In Microsoft Dynamics CRM Using Early Bound

Create Method

To create a record use IOrganizationService.Create(entitymethod.

Parameters

Name Type Comment
entity Microsoft.Xrm.Sdk.Entity Entity object to create

Output

System.Guid

This method is implemented by OrganizationService class and OrganizationServiceContext generated in earlier chapter.

Using Early Bound

Create an instance of an entity type.

Contact contact = new Contact()
{
FirstName = "Charles",
LastName = "Brown",
Address1_Line1 = "123 Main St.",
Address1_City = "Des Moines",
Address1_StateOrProvince = "IA",
Address1_PostalCode = "21254",
new_twittername = "Chuck",
Telephone1 = "123-234-5678"
};

pass it to the create method.

Guid contactId= _service.Create(contact);

 

Following example demonstrates how to create record in Microsoft Dynamics CRM using Early Bound 

C#

using Microsoft.Xrm.Client.Services;
using Microsoft.Xrm.Sdk;
using System;

namespace Msxrmtools
{
class Program
{
static void Main(string[] args)
{
//"connection" = connection string name from config file"
IOrganizationService _service = new OrganizationService("connection");

Contact contact = new Contact()
{
FirstName = "Charles",
LastName = "Brown",
Address1_Line1 = "123 Main St.",
Address1_City = "Des Moines",
Address1_StateOrProvince = "IA",
Address1_PostalCode = "21254",
Telephone1 = "123-234-5678"
};

Guid contactId = _service.Create(contact);

Console.Write(Contact.EntityLogicalName);
Console.Write(contactId);
}
}
}

Color Grid for Dynamics 365

Color Form for Dynamics 365