Using Processes in Microsoft Dynamics CRM 2011

Exclusive offer: get 50% off this eBook here
Microsoft Dynamics CRM 2011 Application Design

Microsoft Dynamics CRM 2011 Application Design — Save 50%

Develop applications for any situation with our hands-on guide to Microsoft Dynamics CRM 2011 book and ebook.

$29.99    $15.00
by Mahender Pal | February 2013 | Enterprise Articles Microsoft

In this article by Mahender Pal, the author of Microsoft Dynamics CRM 2011 Application Design, we are going to use Microsoft Dynamics CRM 2011 as a platform to develop our Employee Recruitment Management System ( ERMS ). We will learn the basics of ERMS, about processes in Microsoft CRM 2011, and how we can use them to automate business processes at different levels.

In this article we are going to discuss the following topics:

  • Employee Recruitment Management System
  • Employee Recruitment Management System design
  • Setting a security model for Employee Recruitment Management System
  • Setting field-level security
  • Data model for Employee Recruitment Management System
  • Customizing entities for Employee Recruitment Management System
  • Setting a security model for ERMS
  • Setting field-level security in Microsoft CRM 2011
  • Processes in Microsoft CRM 2011
  • Importing data in Microsoft CRM 2011
  • Testing Employee Recruitment Management System

 

(For more resources related to this topic, see here.)

Employee Recruitment Management System basics

Hiring the right candidate is a challenge for the recruitment team of any company. The process of hiring candidates can differ from company to company. Different sources such as job sites, networking, and consulting firms can be used to get the right candidate, but most companies prefer to hire a candidate from their own employee network. Before starting the hiring process, a recruiter should have a proper understanding of the candidate profile that fits the company's requirements.

Normally, this process starts by screening candidate resumes fetched from different sources. Once they have resumes of appropriate candidates, the recruitment team starts working on resumes one by one. Recruiters talk to potential candidates and enquire about their skills and test their interpersonal skills. Recruiters play an important role in the hiring process; they prepare candidates for interview and provide interview feedback.

Employee Recruitment Management System design

In the employee recruitment applications, we will be using the key objects shown in the following figure to capture the required information:

The blocks perform the following tasks:

  • Company: This block stores the company details
  • Candidate: This block stores information about the candidate profile
  • Employee: This block stores employee data
  • CRM User : This block stores Microsoft CRM user information

As we are going to use Microsoft CRM 2011 as a platform to build our application, let's map these key blocks with Microsoft CRM 2011 entities:

  • Company: The term "account" in Microsoft CRM represents an organization, so we can map the company object with an account entity and can store company information in the account entity.
  • Candidate: The Candidate object will store information about suitable candidates for our company. We will use the candidate entity to store all interview related feedback, other position details, and address information. We are going to map the candidate entity with a lead entity, because it has most of the fields OOB that we need for our candidate entity.
  • Employee: In Microsoft CRM 2011 sales process, when lead is qualified, it is converted to an account, a contact, and an opportunity, so we utilize this process for our application. When a candidate is selected, we will convert the candidate to an employee using the OOB process, which will map all the candidate information to the Candidate entity automatically.

When a lead is converted to an account or contact or opportunity, the lead record is deactivated by Microsoft CRM 2011.

Let's talk about the process flow that we are going to use in our employee recruitment application. Recruiters will start the process of hiring a candidate by importing candidate resumes in Microsoft CRM under the Candidate entity; we will customize our OOB entities to include the required information. Once data is imported in Microsoft CRM, the recruiter will start the screening of candidates one by one. He will schedule Technical, Project Manager, and finally HR rounds. Once the candidate is selected the recruiter will create an offer letter for that candidate, send it to the respective candidate, and convert the Candidate entity to Employee. The following flowchart shows our employee recruitment application process flow:

Data model

We have identified the data model for required entities. We need to customize OOB entities based on the data model tables.

 

Customizing entities for Employee Recruitment Management System

Once we have the data model ready, we need to customize the Microsoft CRM UI and OOB entities. Let's first create our solution called HR Module and add the required entities to that solution.

Customizing Microsoft CRM UI

We need to customize the Microsoft CRM site map. We have options to modify the sitemap manually or using the site map editor tool. We need to customize the site map based on the following table:

Sr No

Customization Detail

1

Remove Left Navigation: Marketing, Service, Resource Center

2

Rename Left Navigation: Sales to  HR Module, Setting to  Configuration

3

Remove Left Navigation items under  My Work:  Queues, Articles,Announcements

4

Remove all Left Navigation items under HR Module left navigation: except Lead, Accounts , and Contacts

After customizing the site map, Microsoft CRM UI should look like the following screenshot:

It is recommended that you comment unwanted navigation areas out of the site map instead of removing them.

Customizing OOB entities

After we have customized Microsoft CRM UI, we need to rename the entity and entity views. We also need to perform the following actions:

  • Renaming OOB entities: We need to rename the lead, account, and contact entities to candidate, company, and employee. Open the entities in edit mode and rename them.
  • Changing Translation labels: After renaming the OOB entities, we need to change the translation labels in Microsoft CRM. We need to convert Lead to Candidate and Contact to Employee.

Creating/customizing entity fields:

We need to create and customize entity fields; based on the data model we just saw, let's create candidate entity fields. Use the following steps to create fields:

  1. Open our HRModule solution.
  2. Navigate to Entities | Candidate | Fields.
  3. Click on New to create a new field.
  4. Enter the following field properties:
    • Display Name: Text that you want to show to the user on the form.
    • Name: This will be populated automatically as we tab out from the Display Name field.

      The Display Name field is used as a label in Microsoft CRM 2011 entity form and views, whereas the Name field is used to refer to the field in code.

    • Requirement Level: Used to enforce data validation on the form.
    • Searchable: If this is true, this field will be available in the Advance Finds field list.
    • Field Security: Used to enable field-level security. It is a new feature added in Microsoft CRM 2011. Refer to the Setting field-level security in Microsoft CRM 2011 section for more details.
    • Auditing: Used to enable auditing for entity fields. It is also a new feature added in Microsoft CRM 2011. Using auditing, we can track entity and attribute data changes for an organization. You can refer to http://msdn.microsoft.com/en-us/library/gg309664.aspx for more details on the auditing feature.
    • Description: Used to provide additional information about fields.
    • Type: Represents what type of data we are going to store in this field; based on the type selected, we need to set other properties.

      You can't change the data type of a created field, but you can change its properties.

After filling in this information, our entity form should look like the following screenshot:

We need to create fields for all entities based on the preceding steps, one by one.

Setting relationship mapping

In Microsoft CRM 2011, we can relate two entities by creating a relationship between them. We can create three types of relationships:

  • One-to-many relationship: A one-to-many relationship is created between one primary entity and many related entities. Microsoft CRM 2011 creates a relationship field (lookup field) automatically for each related entity when a one-to-many relationship is created.

    We can create a self-relationship by selecting a primary entity on both sides.

  • Many-to-one relationship: A many-to-one relationship is created between many related entities and one primary entity.
  • Many-to-many relationship: A many-to-many relationship can be created between many related entities. To create a many-to-many relationship, the user must have Append and Append To privileges in both side entities.

    We can define different relationship behaviors while creating a relationship; you can refer to http://msdn.microsoft.com/en-us/library/gg309412.aspx for more details.

After creating a relationship, we can define a mapping to transfer values from parent entity to child entity, but this functionality can only achieved when a child entity record is created from a parent entity using the Add New button from the Associated view We need to set up relationship mapping so that we can take the candidate field values to the employee entity when the recruiter converts a candidate into an employee. Use the following steps to set the mapping:

  1. Navigate to 1:N Relationship under the Candidate entity.
  2. Open the contact_originating_lead mapping to edit it.
  3. Navigate to Mapping and click on New to add a mapping.
  4. Select new_variablecompensation from the Source and Target entities and click on OK.
  5. Follow step 4 to add mapping for the fields shown in the following screenshot:

Form design

Now we need to design forms for our entity, and we need to remove unnecessary fields from entity forms.

Use the following steps to customize entity forms:

  1. Open the solution that we created.
  2. Navigate to Entity | Account | Forms.
  3. Open the main form to modify it, as shown in the following screenshot:

We can remove unwanted fields easily by selecting them one by one and using the Remove ribbon button on the entity form. To place the field, we just need to drag-and-drop it from the right-hand side field explorer.

Account form design

Once we have customized the account entity, we need to design the account form shown in the following screenshot:

Candidate form design

The candidate form should look like the following screenshot after customization:

Employee form design

After removing unwanted fields and adding required fields, the employee form should look like the following screenshot:

Setting a security model for ERMS

Microsoft CRM provides us the OOB security model that helps us to prevent unauthorized access to our data. We can enforce security in Microsoft CRM using security roles. A security role is a combination of different privileges and access levels.

  • Privileges: These are actions such as Create , Write, Delete , Read, Append, Append To, Assign, Share, and Reparent that a Microsoft CRM user can perform on entities. The list of the actions performed is as follows:
    • Create : This action is used to create an entity record
    • Read: This action is used to read an entity record
    • Write: This action is used to modify an entity record
    • Delete : This action is used to delete an entity record
    • Append: This action is used to relate one entity record to another entity record
    • Append To: This action is used to relate other entity records to the current entity record
    • Share: This action is used to share an entity record with another user
    • Reparent: This action is used to assign a different owner to an entity record
  • Access level: This defines on which entity record a Microsoft CRM user can perform actions defined by privileges. We have the following actions under access levels:
    • Organization: This action is used to provide access to all records in an organization
    • Parent-child Business Unit: This action is used to provide access to all the records in the user's business unit as well as in all child business units of the user's business unit
    • Business: This action is used to provide access to all records in the user's business unit
    • User: This action allows the user to access records created by him/her, or shared with him/her, or shared with his/her team

We must assign at least one security role to access Microsoft CRM applications. Microsoft CRM provides us with 14 OOB security roles that can be customized based on our requirements. The following diagram is the security-role hierarchy that we have identified for the Employee Management System:

The blocks in the preceding diagram can be explained as follows:

  • HR Manager : This role will have access to all information for an employee in the ERMS system
  • Recruiter: This role will not have access to information about offered packages to an employee
  • System Administrator: This role will have administrative privileges and will be responsible for customizing and maintaining ERMS

We will be customizing the existing security roles for our ERMS . The following table shows the security role mapping that we be will using:

Microsoft CRM Security Role

ERMS Security Role

Sales Manager

Manager

Salesperson

Salesperson

System Administrator

System Administrator

Customizing the existing security role

We need to use the following steps to customize the existing security role:

  1. Navigation to Setting | Administration | Security Roles.
  2. Double-click on the Sales Manager role to open it in edit mode.
  3. Change Role Name to Manager.
  4. Click on Save and then on Close .
  5. Follow the same steps to change the name of the Sales Person role to Recruiter.

You can also create a new Manager Security role by copying the Sales Manager role.

Once we have changed the security role name, we need to configure the Security Manager and Recruiter roles to remove unnecessary privileges. Follow the ensuing instructions to configure the Manager Security role:

  1. Navigate to the Core Records tab in the Manager Security role.
  2. Clear all privileges from the Opportunity and Document location entities.
  3. Navigate to the Marketing tab and clear all privileges from the Campaign and Marketing list entities.
  4. Navigate to the Sales tab and clear all privileges from all sales module entities, as shown in the following screenshot:

  5. Navigate to the Service tab and clear all privileges from all service module entities.
  6. Click on Save and Close .

Follow all the preceding steps to remove the same privileges from the Recruiter role as well.

Setting field-level security in Microsoft CRM 2011

Microsoft CRM 2011 contains an OOB feature for field-level security. Using field-level security, we can protect Microsoft CRM form fields from unauthorized access. This feature is only available in custom attributes. You can only apply field-level security to the custom fields of system entities. While creating/modifying fields, you can enable field-level security. The following screenshot shows how we can Enable/Disable the Field Security option:

Once field-level security is enabled, we can set the field-level security profile. Let's apply field-level security in the offered package section in the Candidate entity. We have already enabled field-level security for these three fields under the offered package section in Candidate entity. Use the following steps to set the field-level security profile:

  1. Navigate to Settings | Administration | Field Security Profiles.
  2. Click on New to create the new security profile.
  3. Fill in the following information:
    • Name: Recruitment Team Profile
    • Description: Security profile for recruitment team
  4. Click on Save.
  5. Navigate to Users, under the Members section, in the left-hand navigation.
  6. Click on Add to add a user from whom you want to secure these fields.
  7. Navigate to Field Permission under the Common section in the left-hand navigation.
  8. Select all records and click on the Edit button.
  9. Select No from all drop-down fields. These fields can be implemented as shown in the following screenshot:

Now all Microsoft CRM users with the Recruitment security role won't be able to see the values in these fields. They won't even be able to set values for these fields.

Microsoft Dynamics CRM 2011 Application Design Develop applications for any situation with our hands-on guide to Microsoft Dynamics CRM 2011 book and ebook.
Published: December 2012
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

Processes in Microsoft CRM 2011

In Microsoft CRM 2011, the workflow is called the process, and it supports Windows Workflow Foundation. A process is a way to implement business logic using the OOB process designer tool. In Microsoft CRM 2011, we have two categories:

  • Dialog
  • Workflow

Dialogs

Microsoft CRM 2011 has introduced a new interactive process called Dialogs, where we can take input from users and provide results based on the input value. Dialogs works in a synchronous manner. We have the following two options to run dialogs:

  • As an on-demand process: This option is used when we want to start the process manually on the selected record, using the Start Dialog button in the ribbon toolbar.

  • As a child process: This option is used when we want to start a process from another process. You can't start a child process directly.

Input arguments and variables

Input arguments are used to pass information from a parent dialog to a child dialog. You can only use input arguments with child dialogs. Thus, we can't add input arguments in a dialog that is configured to run as on-demand.

Variables are used to hold temporary value during dialog lifetime.

Steps

Like workflows, dialogs also contain steps that we can use to design the dialog process. Refer to the following screenshot:

We have the following steps available in the Dialog Designer as shown in the preceding screenshot:

  • Stage: This step is used to group steps
  • Page: This step is the interface that is presented to the user
  • Prompt and Response : Prompts are the questions that are presented to the user, and responses are where answers to those questions are captured
  • Check Condition : This step is used to check the condition before running the next step
  • Conditional Branch : This step is used to branch multiple conditions together
  • Default Action: This step is used to specify the otherwise action
  • Query CRM Data : This step is used to query Microsoft CRM's existing data
  • Assign Value: This step is used to assign a value to the input argument or variables
  • Create Record: This step is used to create an entity record
  • Update Record : This step is used to update an existing record
  • Assign Record: This step is used to change the owner of an entity record
  • Send E-mail: This step is used to send an e-mail
  • Start Child Workflow : This step is used to used to initiate a child workflow
  • Link Child Dialog: This step is used to used to link child dialog with current dialog
  • Change Status: This step is used to change the status of a record
  • Stop Dialog: This step is used to stop the dialog

Let's create a dialog to get salary information from the candidate. Use the following instructions to create this dialog:

  1. Navigate to Configuration | Process Center | Process.
  2. Click on New to create new dialog.
  3. Fill the following information:
    • Process Name: Get Candidate Information
    • Entity : Candidate
    • Category: Dialog
    • Type: New Blank Process
  4. Elect to run the process as an on-demand process.
  5. Add a new Stage step from the Add Step list and label it with Get Information From User.
  6. Highlight the Stage step and select the Page step from the Add Step list .
  7. Enter Page to Get user Information in the Page Label field.
  8. Highlight the Page step and select the Prompt and Response option from Add Step list.
  9. Enter Get Current CTC in the Prompt and Response label and click on Set Properties.
  10. Enter May I know your Current CTC and add values for Salutation and First Name from Candidate entity using Dynamic Values section under Form Assistant .
  11. Select Single Line for Response Type .
  12. Select Float for Data Type.
  13. Click on Save and Close .

The following screenshot is of a Prompt and Response dialog:

We need to create a prompt for our dialog variable, so we create the Prompt and Response dialog using the following steps:

  1. To get the expected CTC, we set the following variables:

    • Statement Label: Get Expected CTC

    • Prompt Text : What is your Expected CTC

    • Response Type : Single Line

    • Data Type: Float

  2. To check whether relocation is required or not:

    • Statement Label: Relocation Required

    • Prompt Text: Do you need Relocation

    • Response Type: Optionset (picklist)

    • Data Type: Integer

    • Provide Values : Define values

    • Add two values:

      Label: Yes , Value: 100,000,000

      Label: No, Value: 100,000,001

    As we need to use these values to update the candidate entity record, the value of the Optionset item should match the values of Optionset in the condition entity for that attribute.

  3. To get the notice period:

    • Statement Label: Notice Period

    • Prompt Text : What is your notice period

    • Response Type : Single Line

    • Data Type: Text

After setting all variables for Prompt and Response , our stage should look like the following screenshot:

Now that we have collected all variable information, let's create steps to upda te the candidate entity record. Use the following steps to create an updated candidate record:

  1. Add a new stage using Add Step.
  2. Enter Update Candidate record with variable values in Stage label field.
  3. Select the Stage step and add the Update step option from the Add Step list .
  4. Click on Set Properties.
  5. Select the Current CTC field and select Get Current CTC from the Look for dropdown.
  6. Click on the Add button and on OK to set response text in the Current CTC field.
  7. Follow the preceding steps to set all variable values in their respective fields.

    After setting variable response text for the fields, the Current Salary Information section should look like the following screenshot:

  8. Add the Change Status step from Add Step.
  9. Set Status to Contacted.
  10. Activate dialog using the Activity button from the toolbar.

Now that our dialog is ready, we need to activate it; click on Activate on the dialog toolbar.

Workflows

Workflows enable you to automate the business process. We can run workflows for multiple entities or a specific entity. OOB Workflow Designer provides us with the functionality to apply different checks before executing any sequence. We can initiate a workflow using different options; it could be an on-demand workflow that we can start manually or we can set a workflow to run automatically based on a specific action. We can also use the workflow as a child workflow of another workflow.

You can also execute workflows through JavaScript and server-side code.

Execution of workflows is dependent on an asynchronous service; this service is used by Microsoft CRM to execute long-running operations. So, we need to make sure this service is up and running if we are going to implement workflows.

To start a workflow, we can make any one of the following selections:

We can configure workflows to start when:

  • Record is created : This option is used to run workflows when a new record is created
  • Record status changes: This option is used to run workflows when the record state changes, for example, when a record is activated or deactivated
  • Record is assigned: This option is used when the owner of the record is changed
  • Record fields change: This option is used when the value of the selected fields is changed
  • Record is deleted : This option is used when the record is deleted

Workflow scope

Workflow scope defines the level of records that a workflow can effect; it is similar to access levels. You can define user scope when you want to run workflows on records owned by a user, but if an organization level is set, any record can trigger a workflow.

The workflow scope levels are shown in the following screenshot:

We have the following options to set workflow scope:

  • User: If workflow scope is set to User and is set to run when an entity record is created, the workflow will only be executed if the owner of the workflow creates a record.
  • Business Unit: When workflow scope is set to Business Unit and is set to run when an entity record is created, the workflow will execute when any user from the same business unit of the workflow owner creates an entity record.
  • Parent: Child Business Units: When workflow scope is set to Parent:Child Business Unit and is set to run when an entity record is created, the workflow will be executed when any user from the same business unit and from all the subordinate business units of the workflow owner create an entity record.
  • Organization: If workflow scope is set to Organization and is set to run when an entity record is created, it will be executed when any user creates an entity record.

When an automatic workflow is initiated, the security of the workflow owner is enforced, but when an on-demand workflow is initiated, the security of the current user is enforced to run the workflow.

Workflow steps

You can use different steps available in the workflow step editor based on our requirements. We can divide workflow steps into three sections, which we will look at now.

Check condition

We can apply a check condition to fields to initiate a specific action based on the condition. For example, let's say we want to check whether a candidate is promoted to the HR round or not. We can apply a check condition to the Promoted to HR Round field to check its value, as shown in the following screenshot:

We can also use a condition branch if we want to check different conditions.

Wait condition

We can use a wait condition when we have to pause a process until some conditions are met.

Actions

The workflow steps editor provides the following options to perform different actions:

  • Create Record: This option is used to create a new record
  • Update Record : This option is used to update an existing record
  • Assign Record: This option is used to assign a new owner; it could be a team or a user
  • Send E-mail: This option is used to send e-mail notifications
  • Start Child Workflow : Using this option, we can initiate a workflow that is configured to run as a child workflow
  • Change Status: This option is used to change the status of Microsoft CRM records
  • Stop Workflow : We can use this option if we want to stop workflow execution

We can also extend workflow steps by writing a custom workflow.

Now that we have a basic understanding of a workflow, let's create the workflow required for our application. We will create a workflow to generate tasks for a recruiter who is working on candidate records. We need to create the following workflows:

  • Workflow to generate a phone call to get salary information from a candidate
  • Workflow to generate tasks to arrange a technical panel and set an appointment
  • Workflow to generate tasks based on different interview feedback

Use the following steps to create our workflows:

  1. Navigate to Configuration | Process Center | Process.
  2. Click on New to create a workflow.
  3. Fill the following information in the workflow properties:
    • Process name: Generate Phone Call to get Salary Details
    • Entity : Candidate
    • Category: Workflow
    • Type: New blank process
  4. Set the following properties for the workflow:
    • Scope : Organization
    • Start when : Record is Created
  5. Add the Create Record step from Add Step.
  6. Set Create Phone Call as the Create Record step label.
  7. Select the Phone Call entity from Create Dropdown and click on the Set Properties button.
  8. Fill the following information in the Task window:
    • Subject: Regarding Candidate hiring process
    • Description: Please contact candidate to get salary information, Please run "Get Candidate Information" dialog. Please make sure to ask for the availability of candidate for technical interview
    • Click on the Owner field and select Candidate as the owner from the Look for: section under Dynamics Values from Form Assistant
    • Set Candidate Mobile Number from Look for: under Dynamic values to Mobile Number
    • Click on Save and Close to see the following form:

  9. Click on Activate to activate the process.

Use the following steps to create a workflow to generate tasks at different levels based on interview feedback:

  1. Navigate to Configuration | Process Center | Process and Select New to create a workflow.
  2. Fill the following information in the workflow properties:
    • Process name: Arrange Technical Panel and set appointment
    • Entity : Candidate
    • Category: Workflow
    • Type: New blank process
  3. Set the following properties for the workflow:
    • Scope : Organization
    • Start when : Record field change
    • Select the Promoted to PM Round , Promoted to HR Round , and Hired fields from the field selection window
  4. Add Check Condition steps.
  5. Configure Check Condition to check whether the value for the Promoted to PM Round field is Yes.
  6. Add the Create step to create tasks from the Add step list.
  7. Enter Create task to arrange PM and schedule interview in the Create label.
  8. Select the Task entity from the Create dropdown and click on Set Properties.
  9. Fill the following information in the Task window:
    • Subject: Regarding Candidate hiring process
    • Task Description : Candidate is selected in technical round, Please arrange PM and schedule PM round
    • Click on the Owner field and select the Candidate owner from the Look for: section under Dynamics Values from Form Assistant
    • Click on Save and Close

We have added steps in our workflow to create a task for when a candidate is selected in the technical round. Now we need to add a condition in condition in our workflow to check whether the PM round has been cleared; then, we need to create a task to set the HR round. Otherwise we need to set the status of the candidate to disqualify.

Use the following steps to add a task for the HR round in the same workflow:

  1. Add the Conditional Branch step to check if Promoted to PM Round is equal to No.
  2. Add the Change Status step under Conditional Branch and set status to Disqualify .
  3. Add Check Condition step.
  4. Configure Check Condition to check whether the value of the Promoted to HR Round field is Yes.
  5. Add the Create step to create a task from the Add step list.
  6. Enter Create task to arrange HR manager and schedule interview in the Create label.
  7. Select the Task entity from the Create dropdown and click on Set Properties.
  8. Fill the following information in the Task window:
    • Subject: Regarding Candidate hiring process
    • Task Description : Candidate cleared PM round, Please arrange HR manager and schedule HR round
    • Click on the Owner field and select the Candidate owner from Form assistant | Dynamics Values | Look for:
  9. Click on Save and Close .
  10. Add the Conditional Branch step to check if Promoted to HR Round is equal to No.
  11. Add the Change Status step under Conditional Branch and set status to Disqualify .

Now we need to add a condition in our workflow to check whether the candidate is hired or not; if the candidate is hired, we need to add a task to prepare an offer letter for the candidate.

  1. Add the Check Condition step.
  2. Configure the Check Condition step to check whether the value of the Hired field is equal to Yes.
  3. Add the Create step to create a task from the Add step list.
  4. Enter Create task to prepare Offer letter in the Create label.
  5. Select the Task entity from the Create dropdown and click on Set Properties.
  6. Fill the following information in the Task window:
    • Subject: Regarding Candidate hiring process
    • Task Description: Candidate clear HR round Please release offer letter
    • Click on the Owner field and select Candidate HR Manager from Form assistant | Dynamics Values | Look for :
  7. Click on Save and Close .
  8. Add the Conditional Branch step to check if the Hired value is equal to No.
  9. Add the Change Status step under Conditional Branch and set the status to Disqualify .
  10. After adding all these steps, our stage should look like the following screenshot:

We need to activate the workflow by selecting Activate from the workflow toolbar.

Now our Employee Recruitment Management System is ready to use. We need to add a CRM user who will be using Microsoft CRM and need to assign an appropriate role to them.

Importing data in Microsoft CRM 2011

The recruiter team has selected some candidates from a job site and downloaded their resumes; we need to import these candidate records into Microsoft CRM with their resume as an attachment. In order to import data into Microsoft CRM, we need to first download the data import template for the Candidate and Note entities.

Use the following steps to import a resume to Microsoft CRM:

  1. Copy Candidate.xml into a new folder, let's say DataImport.
  2. Create a folder called Attachments under DataImport, and keep all resumes in that folder.
  3. Fill the required information in Note.xml.
  4. Select all files from the Attachments folder and zip them.

The Note.xml document should look like the following screenshot. The value of the relevant column should match with the exact format, such as First name(Space)Last name.

For example, if we are going to import data for a candidate whose first name is Mohan and last name is Mishra, the value of the corresponding field should be "Mohan Mishra".

We need to make sure you don't have duplicate candidate records in Microsoft CRM 2011 (candidates with the same first name and last name), otherwise the import will fail. In that case, we can map the corresponding fields using the candidate record GUID.

You need to add the Regarding and Document columns in Note.xml ; they won't originally be there in the downloaded Note.xml template.

Once all the files are ready the DataImport folder looks like the following screenshot:

Select all these files and zip them . Once the .zip file is ready, we can import this file in Microsoft CRM 2011 using the OOB import wizard. The Microsoft CRM 2011 data import wizard will pick automatic mapping to import data in the Candidate and Note entities.

Testing Employee Recruitment Management System

As soon as data is imported in Microsoft CRM, our workflow will start executing and will create phone calls associated with every candidate record imported in Microsoft CRM. The recruiter can start working on candidate records one by one. When the recruiter checks this activity, he will find corresponding phone calls to every candidate record, as shown in the following screenshot:

Once the recruiter has started calling candidates one by one, he will receive a prompt question for the candidate and will get a response from the candidate. Once the dialog execution is finished, it will update the candidate records and will change their status to Contacted, which will again initiate a workflow, which in turn creates a task for the recruiter to schedule the technical round. The Prompt and Response dialog will be as follows:

The recruiter will create an appointment to schedule an interview when both candidate and interviewer are available. Once the technical round is completed, the interviewer will promote the candidate to the PM round and a workflow will start, which will change the candidate status to Technical Clear and will create a task for the recruiter to schedule the PM round. The recruiter will then arrange for the PM round and will update the candidate about the interview status. Once the PM round is cleared, the workflow will create another task to arrange an HR interview, and once the HR round is clear, a new task will be created for the HR manger to release the offer letter to the candidate. Once the candidate is hired, the recruiter will convert the candidate record into an employee record using the Qualify ribbon button from the Candidate toolbar.

Summary

In this article, we learned how we can leverage Microsoft CRM 2011 to build an employee recruitment application. We learned how to customize Microsoft CRM 2011 to fit our business-specific requirements, to create new fields and customize entity forms, and also to apply field-level security in Microsoft CRM 2011. Then we learned about relationships in Microsoft CRM 2011, how we can import data in Microsoft CRM 2011 with attachments, and how we can use a process to automate business activities. Finally, we learned about dialogs and workflows.

Resources for Article :


Further resources on this subject:


Microsoft Dynamics CRM 2011 Application Design Develop applications for any situation with our hands-on guide to Microsoft Dynamics CRM 2011 book and ebook.
Published: December 2012
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

About the Author :


Mahender Pal

Mahender Pal is a Microsoft Dynamics CRM specialist. He has experience in envisioning and developing xRM solutions and providing consultancy for Microsoft Dynamics CRM, SharePoint, and Silverlight. Currently he is working with Cipher Dynamics IT Services India as CRM Practice Manager.

A Microsoft Most Valuable Professional (MVP) for Dynamics CRM for three years, he loves to contribute to the Dynamics CRM community and has a dedicated personal blog (http://mahenderpal.wordpress.com/) where he contributes various technical articles to assist the Microsoft Dynamics CRM community.

Books From Packt


Microsoft   Dynamics CRM 2011 New Features
Microsoft Dynamics CRM 2011 New Features

Microsoft Dynamics CRM 2011 Customization & Configuration (MB2-866) Certification Guide
Microsoft Dynamics CRM 2011 Customization &Configuration (MB2-866) Certification Guide

Microsoft   Dynamics CRM 2011: Dashboards Cookbook
Microsoft Dynamics CRM 2011: Dashboards Cookbook

Microsoft Dynamics AX 2012 Development Cookbook
Microsoft Dynamics AX 2012 Development Cookbook

Microsoft Dynamics Sure Step 2010
Microsoft Dynamics Sure Step 2010

Microsoft Dynamics NAV 2009   Programming Cookbook
Microsoft Dynamics NAV 2009 Programming Cookbook

Microsoft Dynamics GP 2010 Implementation
Microsoft Dynamics GP 2010 Implementation

Programming Microsoft Dynamics NAV 2009
Programming Microsoft Dynamics NAV 2009


Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software