Actions in Dynamics CRM 2013

Actions are a new feature in Microsoft Dynamics CRM 2013. Actions are a type of process that is run by using custom code that uses the Microsoft Dynamics CRM web services. If you are not a developer, or if you haven’t installed some solution that uses actions, you won’t be able to do anything with Actions in Microsoft Dynamics CRM 2013. You cannot call an action from another process except indirectly through a custom workflow activity or plug-in that contains the code to call the action.
However, if you install a solution that uses Actions or if you work with a developer who can write code for one, you will see that Actions is a very powerful feature.

1. Why use actions?

Actions open a range of possibilities for developers and people who compose business logic. Before Actions, the primary way that developers could implement business processes was limited to plug-ins or custom workflows. With these, developers can perform operations composed of verbs like Create, Update, Delete, Assign, and SetStatus. Developers refer to these actions as ”messages”. Each of these messages is based on actions taken on an entity instance. So if the goal of a process is to create a record, then update it, then assign it, there are three separate steps. Each step is defined by the capabilities of the entity – not necessarily your business process.
Actions provide the ability to define a single verb (or message) that matches an operation you need to perform for your business. These new messages are driven by a process or behavior rather than what can be done with an entity. These messages can correspond to verbs like Escalate, Convert, Schedule, Route, or Approve – whatever you need. The addition of these verbs helps provide a richer vocabulary for you to fluently define your business processes. You can apply this richer vocabulary from clients or integrations rather than having to write the action within clients. This also makes it easier because you can manage and log the success or failure of the entire action as a single unit.

2. Configure actions:

You may need to create an action so that a developer will use it in code or you may need to edit an action that was previously defined. Like workflow processes, consider the following:

  • What actions should they perform?
  • Under what conditions should actions be performed?

Unlike workflow processes, you don’t need to set the following options:

  • Start When: Actions start when code calls the message generated for them.
  • Scope: Actions always run in the context of the calling user.
  • Run in the background: Actions are always real-time workflows.

An action also has something that workflow processes don’t have – input and output arguments.

Create actions: Like workflow processes, actions have the following properties in the Create Process dialog.

Actions1

– Process Name: This property is used to generate a Unique Name by removing any spaces or special characters from the Process Name.
– Category: This property establishes that this is an action process. You can’t change this after you save the process.
– Entity: With actions processes, you can select an entity to provide context for the workflow just like other types of processes, but you also have the option to choose None (global). Use this if your action doesn’t require the context of a specific entity. You can’t change this after you save the process.
– Type: You can use this property to choose whether to build a new action from scratch or to start from an existing template.

Edit actions: You must deactivate processes before you can edit them. You may edit an action process that was created as part of an unmanaged solution or included in a solution installed in your organization. If the solution is a managed solution, you may not be able to edit it. The solution publisher has the option to edit the managed properties so that the action installed with a managed solution can’t be edited.

When an action is saved a Unique Name is generated based on the Process Name. This unique name has the customization prefix added from the solution publisher. This is the name of the message that a developer will use in their code.

When editing an action you have the following options:

Actions2

– Process Name: After the process is created and the unique name is generated from the process name, you can edit the process name. You may wish to apply a naming convention to make it easier to locate specific processes.
– Unique Name: When an action is saved, a unique name is generated based on the process name. This unique name has the customization prefix from the solution publisher added. This is the name of the message that a developer will use in their code. Don’t change this unique name if the process has been activated and code is in place expecting to call the action using this name.
– Transaction: Generally, processes that support transactions will “undo” (or rollback) the entire operation if any part of them fails. There are some exceptions to this. Some actions developers might do in code initiated by the action might not support transactions. For example, if the code perform actions in other systems that are beyond the scope of the transaction. Those can’t be rolled back by the action running in Microsoft Dynamics CRM. Some messages in the CRM platform don’t support transactions. But everything you can do just with the user interface of the action will support transactions. All the actions that are part of a real-time workflow are considered in transaction, but with actions you have the option to opt out of this.
You should consult with the developer who will use this message to determine whether it must be in transaction or not. Generally, an action should be in transaction if the actions performed by the business process don’t make sense unless all of them are completed successfully. The classic example is transferring funds between two bank accounts. If you withdraw funds from one account you must deposit them in the other. If either fails, both must fail.
– Activate As: Like all processes, you can activate the process as a template and use it as an advanced starting point for processes that follow a similar pattern.
– Define Process Arguments: In this area, you will specify any data that the action expects to start and what data will be passed out of the action.
When a developer uses a message they may begin with some data that they can pass into the message and use. For example, if you want to create a new case record, you may have the case title value that will be passed in as an argument. This would be an input argument.
When the message is finished the developer may need to pass some data that was changed or generated by the message to another operation in their code. These must be defined as an output argument.
Both input and output arguments must have a name, a type, and some information about whether the argument is always required. You can also provide a description.
The name of the message and the information about all the process arguments represent the “signature” for the message. After an action is activated and it is being used in code, the signature must not change. Changing this signature will cause any code that uses the message to fail. The only exception to this may be changing one of the parameters so that it is not always required.
Changing the order of the arguments by sorting them or moving them up or down doesn’t make a difference because the arguments are identified by name, not by the order. Changing the description will not break code using the message.

Action process argument types: The following table describes the action process argument types.

Type Description
Boolean A true or false   value.
DateTime A value that stores date and time information.
Decimal A number value with decimal precision. Used when precision is   extremely important.
Entity A CRM record for the specified entity. When you select Entity, the   drop-down is enabled and allows you to select the entity type.
EntityCollection A collection of entity records.
EntityReference An object that contains the name, id, and type of an entity record   that uniquely identifies it. When you select EntityReference, the drop-down   is enabled and allows you to select the entity type.
Float A number value with decimal precision. Used when data comes from a   measurement that isn’t absolutely precise.
Integer A whole number.
Money A value that stores data about an amount of money.
Picklist A value that represents an option for an OptionSet attribute.
String A text value.

Note: EntityCollection argument values can’t be set in the user interface for conditions or actions. These are provided for use by developers in custom code
– Add Stages and Steps: Actions are a type of process very similar to real-time workflows. All the steps that can be used in real-time workflows can be used in actions. For information about the steps that can be used for both real-time workflows and actions
In addition to the steps that can be used for real-time workflows, actions also have the Assign Value step that is similar to the one used to set variables or input arguments in dialogs. In actions, these can be used only to set output arguments. You can use the form assistant to set output arguments to specific values or, more likely, to values from the record that the action is running against, records related to that record with a many-to-one relationships, records created in an earlier step, or values that are part of the process itself.

3. Configurable messages:

Once an action is defined and activated, a developer can use that message like any of the other messages provided by the Microsoft Dynamics CRM platform. However, a significant difference is that now someone who is not a developer can apply changes to what should be done when that message is used. You can configure the action to modify steps as your business processes change. Any custom code that uses that message does not need to be changed as long as the process arguments do not change.

Workflow processes and plugins continue to provide similar capabilities for defining automation. Workflow processes still provide the capability for a non-developer to apply changes. But the difference is in how the business processes are composed and how a developer can write their code. An action is a message that operates on the same level as any of the messages provided by the Microsoft Dynamics CRM Platform. Developers can even create plugins for Actions.

4. Global messages:

Unlike workflow processes or plugins, an action doesn’t have to be associated with a specific entity. You can define ”global” Actions that can be called on their own.

5. Actions limitations:

For Microsoft Dynamics CRM 2013, Actions can be called only from code. You can’t call an action from a workflow or other process. So for now the most common ways to invoke Actions will be:

  • From code that executes within a plugin or custom workflow.
  • From a command that is placed in the application and executes the operation using JavaScript code.
  • From an integration with another system that uses the Microsoft Dynamics CRM web services.
  • From a custom client application that uses the Microsoft Dynamics CRM web services.

Business Process Flows in Dynamics CRM 2013

Business process flows are a new feature in Microsoft Dynamics CRM 2013. Business process flows use the same underlying technology as other processes, but the capabilities that they provide are very different from other features that use processes.

1. Why use business process flows?

Business process flows provide a guide for people to get work done. They provide a streamlined user experience that leads people through the processes their organization has defined for interactions that need to be advanced to a conclusion of some kind. This user experience can be tailored so that people with different security roles can have an experience that best suites the work they do by using Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online.

Use business process flows to define a set of steps for people to follow to take them to a desired outcome. These steps provide a visual indicator that tells people where they are in the business process. Business process flows reduce the need for training because new users don’t have to focus on which entity they should be using. They can let the process guide them. You can configure business process flows to support common sales methodologies that can help your sales groups achieve better results. For service groups, business process flows can help new staff get up-to-speed more quickly and avoid mistakes that could result in unsatisfied customers.

2. What can business process flows do?

With business process flows, you define a set of stages and steps that are then displayed in a control at the top of the form.

Business Process Flows1

Each stage contains a group of steps. Each step represents a field where data can be entered. People advance to the next stage by using the Next Stage button. You can make a step required so that people must enter data for the corresponding field before they can proceed to the next stage. This is commonly called ”stage-gating”.

Business process flows appear relatively simple compared to other types of processes because they do not provide any conditional business logic or automation beyond providing the streamlined experience for data entry and controlling entry into stages. However, when you combine them with other processes and customizations, they can play an important role in saving people time, reducing training costs, and increasing user adoption.

Business process flows integrated with other customizations:  When you or your user enters data using business process flows, the data changes are also applied to form fields so that any automation provided by business rules or form scripts can be applied immediately. Steps can be added that set values for fields that are not present in the form and these fields will be added to the Xrm.Page object model used for form scripts. Any workflows that are initiated by changes to fields included in a business process flow will be applied when the data in the form is saved. If the automation is applied by a real-time workflow, the changes will be immediately visible to the user when the data in the form is refreshed after the record is saved.

Although the business process flow control in the form does not provide any direct client-side programmability, changes applied by business rules or form scripts are automatically applied to business process flow controls. If you hide a field in a form, that field will also be hidden in the business process flow control. If you set a value by using business rules or form scripts, that value will be set within the business process flow.

System business process flows: Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online include three business process flows. To understand how business process flows work, review these system business process flows:

  • Lead to Opportunity Sales Process
  • Opportunity Sales Process
  • Phone to Case Process

These business process flows are provided so that people who are using Microsoft Dynamics CRM Online and who used the processes that were released with the Microsoft Dynamics CRM December 2012 Service Update will be able to upgrade and continue to use those processes. The processes included in the Microsoft Dynamics CRM December 2012 Service Update were hard-coded and included some capabilities that are not found in the business process flows you can create.

3. Multiple entities in business process flows:

You can use a business process flow for a single entity or span multiple entities. For example, you may have a process that begins with an opportunity, then continues to a quote, an order, and then an invoice, before finally returning to close the opportunity.

You can design business process flows that tie together the records for up to five different entities into a single process so that people using Microsoft CRM can focus on the flow of their process rather than on which entity they are working in. They can more easily navigate between related entity records.

4. Multiple business process flows are available per entity:

Not every user in an organization may follow the same process and different conditions may require that a different process be applied. You can have up to 10 active business process flows per entity to provide appropriate processes for different situations.

Control which business process flow will be applied: You can associate business process flows with security roles so that only people with those security roles can see or use them. You can also set the order of the business process flows so that you can control which business process flow will be set by default. This works in the same way that multiple forms for an entity are defined.

When someone creates a new entity record, the list of available activated business process flows is compared to the business processes flows that the person’s security role will show them. The first activated business process flow in that list is the one that will be applied by default. If more than one active business process flow is available, people can chose Switch Process from the command bar to apply a different process. Whenever someone switches processes, the current process stage will be set to the first stage of the newly applied business process flow.

Each record can have only one business process flow at a time. When any user applies a different process, that process is the one that the next user to view the record will see. If someone’s security roles do not allow them to use a specific business process flow, the current business process flow will be visible, but disabled.

5. Business process flow limitations:

You can define business process flows only for those entities that support them. You also need to be aware of the limits for the number of processes, stages, and steps that can be added.

Entities that can use business process flows: Only entities that use the updated forms can use business process flows. This includes custom entities and the following system entities:

Account

Appointment

Campaign

Campaign Activity

Campaign Response

Competitor

Contact

Email

Fax

Case

Invoice

Lead

Letter

Marketing List

Opportunity

Phone Call

Product

Price List Item

Quote

Recurring Appointment

Sales Literature

Order

User

Task

Team

To enable a custom entity for business process flows, select the Business process flows (fields will be created) check box in the Entity definition.

Note: You cannot undo this action.

Maximum number of processes, stages, and steps: To ensure acceptable performance and the usability of the user interface, there are some limitations you need to be aware of when you plan to use business process flows:

  • There can be no more than 10 activated business process flow processes per entity.
  • Each process can contain no more than 30 stages.
  • Multi-entity processes can contain no more than five entities.

6. Configure business process flows:

Business process flows use the same technology as other types of processes. The process to create them is similar, but configuring them is very different.

Create business process flows:
There are two ways you can view, create, or edit business process flows:
1. Click on  Microsoft Dynamics CRM->Settings -> Processes
Business Process Flows2
2. In the default solution-> using the solution explorer->click on Processes
Business Process Flows3
Like other processes, business process flows have the following properties in the ‘Create Process’ dialog:
Business Process Flows4
Process name: The name of the process does not need to be unique, but it should be meaningful for people who need to choose a process. You can change this later.
Category: This property establishes that this is a business process flow process. You can’t change this after you save the process.
Entity: Choose one of the entities from the list of business process–enabled entities. If you don’t find the entity you expect, make sure the entity has the Business process flows (fields will be created) option set in the entity definition. You can’t change this after you save the process.
Note: Business process flows have a simplified way to reuse existing business process flows as an advanced starting point for new business process flows. When you select Business Process Flow as the Category, there is no option available to set the Type value as you can for other types of processes. Instead, when you open an existing business process flow, you will find a Save As button on the command bar. This will create a new business process flow that is the same as the existing one, except that the text (Copy) will be appended to the name.

After you create a new business process flow, the Create Process dialog box will close and you must find the new process in the list and open it.

Edit business process flows: Once you open a business process flow to edit it, you will see the following page:
Business Process Flows5
If you want to rename the process or add a description, you must click or tap the Expand toggle to view these properties. When you define the logic for a business process flow, you will edit stages and steps, and add additional entities.

Edit Stages: Business process flows can have up to 30 stages. To add a stage, click or tap the (+) icon near the Stages column. To remove a stage, select it and click or tap the X icon on the right edge of the stage. Stages have a label that you can set. The text of the label is always in upper case.

Stages also have a Stage Category. This is optional. Stage category is useful for reports that will group records by the stage they are in. The options for the stage category come from the Stage Category global option set. You can add additional options to this global option set and change the labels of existing options if you want. You can also delete these options if you wish, but we recommend that you keep the existing options. You won’t be able to add the exact same option back if you delete it. If you don’t want them to be used, change the label to ”Do not use”.

Edit Steps:  When you have selected a stage, click or tap the (+) icon near the Steps column to create a new step. To remove a step, select it and click or tap the X icon on the right edge of the step.

Each step has a label set to New Step when you create it. When you set the field for the step, if you haven’t edited the label, the label for the step will change to match the label for the field. Generally, you want the label for the step to match the label for the field. Once you edit the label, it will not change when you change the field.

Add Additional entities: In the Included Entities area, you can select Options to see available options to Add Entity or Close Process Cycle

Business Process Flows6

You can add any of the entities that have one-to-many relationships with the entity selected for the process. After you add an entity, you can select any of the entities that have a one-to-many relationship with that entity. You can add up to five entities, but each entity you add can only proceed to one of the entities that have a one-to-many relationship with the previous entity. If an entity doesn’t have any one-to-many relationships, your only option is to close the process cycle.

Closing the process cycle is always the last stage of the flow. You can close the cycle by using any of the entities in the cycle. This is frequently a step to change the state of the original entity, but you may choose a different entity.

Remove Additional entities: After you have added an additional entity in Options, you will see a new Deleted Last Entity option. Because each entity you add depends on the previous entity, when there are multiple entities, you need to remove them in the reverse order in which they were added.

To make a business process flow available for people to use, you must order the process flow, enable security roles, and activate it.

Set Order: When you have more than one business process flow for an entity, you need to rank the order in which they should be evaluated to be used by default. To open a dialog where you can move business process flows up or down, in the command bar, select Order Process Flow. For new records or records that do not already have a process flow associated with them, the first business process flow that a user has access to is the one that will be used.

Enable Security Roles: People will only be able to use business process flows that are associated to security roles that are associated with someone’s user account. By default, only the System Administrator and System Customizer security roles can view a new business process flow. To set these roles, in the command bar, select Enable Security Roles. You can choose either the Enable for Everyone or Enable only for the selected security roles options. If you choose Enable only for the selected security roles, you can select which security roles will allow access to the business process flow.

Activate: Before anyone can use the business process flow, you must activate it. In the command bar, select Activate to open the Process Activate Confirmation dialog box. After you confirm the activation, the business process flow is ready to use. If a business process flow has errors, you will not be able to activate it until the errors are corrected.

Business Rules in Dynamics CRM 2013

Business Rules is new functionality in Microsoft Dynamics CRM 2013, with Business Rules you can apply form logic without writing JavaScript code. Business rules provide a simple declarative interface to implement and maintain fast changing, commonly used business rules that will be applied to Main and Quick Create forms for both the web application and Microsoft Dynamics CRM for tablets.

What can Business Rules do?:  Business rules allow for a subset of the capabilities provided by form scripts. With Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online, you can define conditions and apply the following actions:

  • Set field values
  • Set field requirement levels
  • Show or hide fields
  • Enable or disable fields
  • Validate data and show error messages

Business rules can be set to apply to all Main or Quick Create entity forms or specific Main forms that you choose.  You can transport business rules from one organization to another by including them in a solution and you can install solutions that contain business rules.

Configure Business Rules: First, you need to have the privileges necessary to navigate to Settings > Customization. This typically requires the System Administrator or System Customizer security role. To activate a business rule, you must have the Activate Business Rules privilege.

There are four ways you can view, create, or edit business rules:

1. Solution -> Entity From a solution, such as the default solution, you will find a Business Rules node for all entities.
BusinessRule1
2. Solution -> Entity -> Field When you view an entity field, you will find a Business Rules node that will show you only the business rules that include this attribute.
BusinessRule2
3. Form Editor From the form editor, you can use the Business Rules button in the ribbon to show the Business Rules Explorer on the right side. This will show you all business rules that will be applied just for this form. If you create a rule from the form editor, the default scope is for that form.
BusinessRule3
 4. Form Editor -> Field When you view the properties for a field that is used in a form, you will see a Business Rules tab that shows you the business rules that include this attribute. If an existing rule is similar to a rule you want to make, you can open that rule and use the Save As button to copy an existing rule as a starting point for a new rule.
BusinessRule4
Set the scope: In the top right of the form, use the Scope field to set the scope for the rule to All Forms or choose any one of the Main forms. You cannot select multiple specific forms. If you choose All Forms, the rule will be applied to all the Main forms and the Quick Create form, as long as the form includes all the fields referenced by the rule. If you create a new business rule by using the form editor, the default scope is just that form.
BusinessRule5
Configure Conditions:If you want to change an activated business rule, you must deactivate it before you can edit it.
To add a condition, click the + icon and a new condition row will appear with default values set. Enter the field name to set the Field, and then choose the appropriate Operator. Operator options will change depending on the data type of the field.
Conditions are checked whenever any field referenced within the condition changes.
You can chose three different types of conditions:
Field: Use this type to compare the value of one form field with another.
Value: Use this type to compare the value of one form field with a value you enter.
Formula: This option appears only for numerical or date data types. It does not appear for fields that contain text. Use this type to compare the result of a simple calculation that may use either a value in another form field or a value you enter.

When you are finished entering or editing the rule, click or tap the check mark icon to save it or the (X) icon to discard changes. To remove a previously saved condition, place your cursor over the condition and click the pauseǁicon.

BusinessRule6

Configure Actions: To add an action, click the + icon and you will have the following options:

1. Show error message: Use this action to set an error message on a field if the data within it is not valid. The text you specify for the message will be displayed with an error icon near the field.
The record cannot be saved as long as this message is displayed. After the data in the field has been corrected according to the conditions set in your rule, the message will disappear and the record can be saved.
2. Set field value: Choose the Field and Type. There are three types:
        Field: Use this type to set the value of one form field with the value of another field.
        Value: Use this type to set the value of a form field with a value you enter.
        Formula: This option appears only for numerical or date data types. It does not appear for fields that contain text. Use this type to set the value to the result of a simple calculation that may use either a value in another form field or a value you enter.
3. Set business required:Use this type to change the requirement level for the field. The options are Not Business Required and Business Required. There is no option to set this to business recommended.
4. Set Visibility: Use this type to change whether the field is displayed in the form. The options are Show Field and Hide Field.
5. Lock and unlock field: Use this type to change whether the field is enabled in the form. The options are Lock and Unlock. When the field is locked, people will not be able to edit the value in the field.
After you have defined an action, you can change the order or delete it by using the options available when you place your cursor over the action.
BusinessRule7
Set the description: Setting a description is optional. It isn’t displayed anywhere else except in the business rule editor. But it is a good idea to include a description of what the rule is supposed to do and why it has been added.

Test and activate business rules: Before anyone can use the business rules you have created, you must activate them. Before you activate them, you should test them. You can test business rules by using the Preview button in the form editor.

Limitations for business rules: Business rules in this release are intended to address common actions. Compared to what a developer can do by using form scripts, business rules have limitations. However, business rules are not intended to replace form scripts.
The primary limitation you may find compared to form scripts is that all conditions in the business rules are evaluated using AND. All the conditions must be true before the actions will be applied. There is no support for OR or Else operators to provide for more complex logic. To apply OR in your conditions, you need to create separate rules for each condition you want to test. This can be done efficiently by using the Save As option and creating separate rules for each condition you want to test.
Here are some other limitations to using business rules:

  • Business rules run only when the form loads and when field values change. They do not run when a record is saved.
  • Business rules work only with fields. Form scripts can interact with other visible elements, such as tabs and sections, within the form.
  • When you set a field value by using a business rule, any OnChange event handlers for that field will not run. This is to reduce the potential for a circular reference, which could lead to an infinite loop.
  • If a business rule references a field that is not present on a form, the rule will simply not run. There will be no error message.
  • Whole Number fields that use the formats for TimeZone, Duration, or Language will not appear in the rule editor for conditions or actions, so they cannot be used with business rules.

Quick Create Forms in Dynamics CRM 2013

Quick create forms functionality is new in Microsoft Dynamics CRM 2013. For entities that have them, these forms are used when people click the Create button in the navigation bar or when they choose + New when creating a new record from a lookup or sub-grid. Microsoft Dynamics CRM for tablets will use these forms when creating a new record if a quick create form is available. With quick create forms, people can enjoy a streamlined data entry experience with full support for logic defined by form scripts and business rules.

Entities with Quick Create Forms: By default only the following system entities have quick create forms.

  • Account
  • Campaign Response
  • Case
  • Competitor
  • Contact
  • Lead
  • Opportunity

Activity entities do not support quick create forms. Any of the other System Entities and any custom entities that are not custom activity entities can be enabled to support these forms by selecting Allow Quick Create in the entity definition and creating a quick create form for them.

Create a Quick Create Form: Although you can define multiple quick create forms, only one quick create form can be used by everyone. The form everyone will use is set using the form order. Quick create forms cannot be assigned to security roles and they do not provide the capability for the user to switch forms.

Note: The entity must have the Allow Quick Create option enabled for the quick create form to be displayed. Check the below screenshot where you can set. After you have created and published a Quick Create Form for this entity, people will have the option to create a new record using the Create button in the navigation pane.
QuickCreateForm1
1. In the Navigation Pane, click or tap Settings –> Customization –> Customizations. Then click or tap Customize the System.
2. In the solutions explorer, expand the entity that you want and select Forms.
3. Select New –> Quick Create Form from the tool bar.
QuickCreateForm2
4. Drag any fields from the Field Explorer into the sections in the form.
QuickCreateForm3
5. When you are finished, click or tap Save and Close.
6. Publish customizations to see the new form in the application.

Here you can see after you create Quick Campaign Create Form.
QuickCreateForm4
QuickCreateForm5
Edit a Quick Create Form: While quick create forms support form scripts and business rules, their purpose is different from main forms and they don’t support all the capabilities of main forms. Quick create forms always have one section with three columns. You can’t add additional sections or columns.
The following controls cannot be added to quick create forms:

  • Sub-grids
  • Quick View Forms
  • Web resources
  • IFRAMEs
  • Notes
  • Bing Maps

If you add a composite field to a quick create form, it will be displayed as separate fields.

1. In the Navigation Pane, click or tap Settings –> Customization –> Customizations. Then click or tap Customize the System.
2. In the solutions explorer, expand the entity that you want and select Forms.
3. In the form list, double-click or tap a form where the Form Type is Quick Create.
4. Drag any fields from the Field Explorer into the sections in the form.
5. Configure Event Handlers if you have any.

Quick View Forms in Dynamics CRM 2013

Quick view forms functionality is new in Microsoft Dynamics CRM 2013. A Quick view form is a type of form that can be added to another form as a quick view control. They provide a template to view information about a related entity record within a form for another entity record. This means people do not need to navigate to a different record to see the information they need to do their work.

Quick view controls are associated with a lookup field that is included in a form. If the lookup field value is not set, the Quick view control will not be visible. Data in quick view controls is not editable and quick view forms do not support form scripts.

Because quick view forms are viewed using a quick view control in a form, they do not include header, footer, or navigation areas. Security roles cannot be assigned to quick view forms and they cannot be activated or deactivated.

Create a Quick View Form: Quick view forms are created using the form editor in a manner similar to the way you create other forms.
1. In the default solution, using the solution explorer, expand the Entities node and select the entity you want to create a new quick view form for.
2. Expand the entity and select the Forms node.
3. Click New and select Quick View Form. This will open the form editor.
QuickViewForm1
4. In the form editor, click or tap Form Properties in the Form group of the Home tab.
5. In the Form Properties dialog box, enter a Form Name and Description to differentiate this quick view form from any others and close the Form Properties dialog box.  In the below screenshot you can see ‘account card’ quick view form properties.
QuickViewForm2
6. Edit the form to add the fields you want.  In the below screenshot you can see ‘account card’ quick view form
QuickViewForm3
7. To save the form and close the form editor, on the Home tab, Save group, click or tap Save and Close.

Add a Quick View Form to the Main Form: Quick view forms can only be added to a main form where a lookup field exists that targets the entity of the quick view form.

1. In an entity main form, click or tap Quick View Form in the Control group of the Insert tab.
QuickViewForm4
2. In the Quick View Control Properties dialog box, set the properties described in Quick view control properties.  In the below screenshot you can see ‘Company Name’ on Contact is set ‘account card’ quick view form.
Edit a Quick View Form: Quick view forms have a simplified layout because they are designed to be viewed within a form section. Only one single column tab is available. You can add only additional single column sections, fields, subgrids, and spacers.
QuickViewForm5
When you edit a quick view form, you must publish your changes before they will be visible in the application.
3. Click or tap OK to close the Quick View Control Properties dialog box.
You must save and publish the main form before the quick view control changes will be visible.
Here you can see how Contact Main form is looking after we set ‘account card’ quick view form.
QuickViewForm6

Customizable Tooltips in Dynamics CRM 2013

Tooltips functionality is new in Dynamics CRM 2013, though Field Description property was in Dynamics CRM 2011, it was not meant for tooltip, however in Dynamics CRM 2013 the description text set for fields is now displayed as tooltips when you place your cursor over the labels for fields. Set the description text in Entity field customization to provide guidance for people in your organization.

Following screenshots shows how tooltip is set on Fax field on Account:
Tooltip1 Tooltip2
Note: Unlike the Description for fields, the Description value for a global option set is not displayed as a tooltip when the field is used in a form. This description is only visible in the list of global options. You can use the description to provide information about why you have created this global option set and what it should be used for.

Activity entities in Dynamics CRM 2013

An activity can be thought of as any action for which an entry can be made on a calendar. An activity has time dimensions (start time, stop time, due date, and duration) that help determine when the action occurred or will occur. Activities also contain data that helps determine what action the activity represents, for example, subject and description. An activity can be opened, canceled, or completed. The completed status of an activity will have several sub-status values associated with it to clarify the way that the activity was completed.

Activity entities can only be owned by a user or team, they can’t be owned by an organization.

There are 15 system entities that represent activities as shown in the following table.

Name Description Display in activity menus
Appointment Commitment representing a time interval with start/end times and duration. Yes
Campaign Response Response from an existing or a potential new customer for a campaign. Yes
Email Activity that is delivered using email protocols. Yes
Fax Activity that tracks call outcome and number of pages for a fax and optionally stores an electronic copy of the document. Yes
Letter Activity that tracks the delivery of a letter. The activity can contain the electronic copy of the letter. Yes
Phone Call Activity to track a telephone call. Yes
Recurring Appointment The master appointment of a recurring appointment series. Yes
Service Activity Activity offered by the organization to satisfy its customer’s needs. Each service activity includes date, time, duration, and required resources. Yes
Task Generic activity representing work needed to be done. Yes
Campaign Activity Task performed, or to be performed, by a user for planning or running a campaign. No
Case Resolution Special type of activity that includes description of the resolution, billing status, and the duration of the case. No
Opportunity Close Activity created automatically when an opportunity is closed, containing information such as the description of the closing and actual revenue. No
Order Close Activity generated automatically when an order is closed. No
Quick Campaign System operation used to perform lengthy and asynchronous operations on large data sets, such as distributing a campaign activity or quick campaign. No
Quote Close Activity generated when a quote is closed. No

You can create new custom activity entities. For example you might create a custom activity entity to record instant message communications. Creating an activity entity is different from creating a non-activity entity because you don’t specify a primary field. All activity entities have a Primary Field set to Subject and other common fields that are defined by the Activity entity. This allows all types of activities to be shown in a view where just the common fields are displayed.

To create a custom activity entity, select Define as an activity entity. After you select this, you’ll see that Display in Activity Menus is selected. This setting allows people to choose to create this type of activity in the activity menus. This isn’t selected for activities that are typically associated with specific events and created behind using code or by a workflow. After you save the entity, you can’t change these settings.

Status and Status Reason values in Dynamics CRM 2013

Following table shows default State and Status Reason values for most of the system entities except below entities which are having different values.

State Status Reason
0:Active 1:Active
1:Inactive 2:Inactive

Following list of entities that do not use the default Status and Status Reason values

  1. Activity Entity
  2. Appointment entity
  3. Article entity
  4. Authorization Server entity
  5. Bulk Delete Operation entity
  6. Campaign entity
  7. Campaign Activity entity
  8. Campaign Response entity
  9. Case entity
  10. Case Resolution entity
  11. Column Mapping entity
  12. Contract entity
  13. Contract Line entity
  14. Data Import entity
  15. Discount List entity
  16. Duplicate Detection Rule entity
  17. Email entity
  18. Fax entity
  19. Goal entity
  20. Goal Metric entity
  21. Import Data entity
  22. Import Entity Mapping entity
  23. Import Log entity
  24. Import Source File entity
  25. Invoice entity
  26. Lead entity
  27. Letter entity
  28. List Value Mapping entity
  29. Lookup Mapping entity
  30. Marketing List entity
  31. Opportunity entity
  32. Opportunity Close entity
  33. Order Close entity
  34. Order entity
  35. Order Close entity
  36. Owner Mapping entity
  37. Partner Application entity
  38. Phone Call entity
  39. Price List entity
  40. Process entity
  41. Process Session entity
  42. Queue entity
  43. Queue Item entity
  44. Quick Campaign entity
  45. Quote entity
  46. Quote Close entity
  47. Recurring Appointment entity
  48. Rollup Query entity
  49. Saved View entity
  50. Sdk Message Processing Step entity
  51. Service Activity entity
  52. System Job entity
  53. Task entity
  54. Transformation Mapping entity
Entity Status Status Reason
Activity 0:Open 1:Open
1:Completed 2:Completed
2:Canceled 3:Canceled
3:Scheduled 4:Scheduled
Appointment 0:Open 1:Free
2:Tentative
1:Completed 3:Completed
2:Canceled 4:Canceled
3:Scheduled 5:Busy
6:Out of Office
Article 1:Draft 1:Draft
2:Unapproved 2:Unapproved
3: Published 3: Published
Authorization Server 0:Active 1:Enabled
1:Inactive 2:Disabled
Bulk Delete Operation 0:Ready 0:Waiting For Resources
1:Suspended 10:Waiting
11:Retrying
12:Paused
2:Locked 20:In Progress
21:Pausing
22:Canceling
3:Completed 30:Succeeded
31:Failed
32:Canceled
Campaign 0:Active 0:Proposed
1:Ready To Launch
2:Launched
3:Completed
4:Canceled
5:Suspended
1:Inactive 6:Inactive
Campaign Activity 0:Open 1:Proposed
0:In Progress
4:Pending
5:System Aborted
6:Completed
1:Closed 2:Closed
2:Canceled 3:Canceled
Campaign Response 0:Open 1:Open
1:Closed 2:Closed
2:Canceled 3:Canceled
Case 0:Active 1:In Progress
2:On Hold
3:Waiting for Details
4:Researching
1:Resolved 5:Problem Solved
1000:Information Provided
2:Canceled 6:Canceled
Case Resolution 0:Open 1:Open
1:Completed 2:Closed
2:Canceled 3:Canceled
Column Mapping 0:Active 1:Active
Contract 0:Draft 1:Draft
1:Invoiced 2:Invoiced
2:Active 3:Active
3:On Hold 4:On Hold
4:Canceled 5:Canceled
5:Expired 6:Expired
Contract Line 0:Existing 1:New
1:Renewed 2:Renewed
2:Canceled 3:Canceled
3:Expired 4:Expired
Data Import 0:Active 0:Submitted
1:Parsing
2:Transforming
3:Importing
4:Completed
5:Failed
Discount List 0:Active 100001:Active
1:Inactive 100002:Inactive
Duplicate Detection Rule 0:Inactive 0:Unpublished
1: Publishing
1:Active 2:Published
Email 0:Open 1:Draft
8:Failed
1:Completed 2:Completed
3:Sent
4:Received
6:Pending Send
7:Sending
2:Canceled 5:Canceled
Fax 0:Open 1:Open
1:Completed 2:Completed
3:Sent
4:Received
2:Canceled 5:Canceled
Goal 0:Active 0:Open
1:Inactive 1:Closed
2:Discarded
Goal Metric 0:Active 0:Open
1: Inactive 1:Closed
Import Data 0:Active 0:Active
Import Entity Mapping 0:Active 1:Active
Import Log 0:Active 0:Active
Import Source File 0:Active 0:Submitted
1:Parsing
2:Transforming
3:Importing
4:Completed
5:Failed
Invoice 0:Active 1:New
2:Partially Shipped
4:Billed
5:Booked(applies to services)
6:Installed(applies to services)
1:Closed(deprecated) 3:Canceled(deprecated)
7:Paid in Full (deprecated)
2:Paid 100001:Complete
100002:Partial
3:Canceled 100003:Canceled
Lead 0:Open 1:New
2:Contacted
1:Qualified 3:Qualified
2:Disqualified 4:Lost
5:Cannot Contact
6:No Longer Interested
7:Canceled
Letter 0:Open 1:Open
2:Draft
1:Completed 3:Received
4:Sent
2:Canceled 5:Canceled
List Value Mapping 0:Active 0:Active
Lookup Mapping 0:Active 0:Active
Marketing List 0:Active 0:Active
1:Inactive 1:Inactive
Opportunity 0:Open 1:In Progress
2:On Hold
1:Won 3:Won
2:Lost 4:Canceled
5:Out-Sold
Opportunity Close 0:Open 1:Open
1: Completed 2: Completed
2: Canceled 3: Canceled
Order 0:Active 1:New
2:Pending
1:Submitted 3:In Progress
2:Canceled 4:No Money
3:Fulfilled 100001:Complete
100002:Partial
4:Invoiced 100003:Invoiced
Order Close 0:Open 1:Open
1:Completed 2:Completed
2:Canceled 3:Canceled
Owner Mapping 0:Active 0:Active
Partner Application 0:Active 1:Enabled
1:Inactive 2:Disabled
Phone Call 0:Open 1:Open
1:Completed 2:Made
4:Received
2:Canceled 3:Canceled
Price List 0:Active 100001:Active
1:Inactive 100002:Inactive
Process 0:Draft 1:Draft
1:Activated 2:Activated
Process Session 0:Incomplete 1:Not Started
2:In Progress
3:Paused
1:Complete 4:Completed
5:Canceled
6:Failed
Queue 0:Active 1:Active
1:Inactive 2:Inactive
Queue Item 0:Active 1:Active
1:Inactive 2:Inactive
Quick Campaign 0:Open 1:Pending
2:In Progress
1:Closed 3:Aborted
4: Completed
2:Canceled 5:Canceled
Quote entity 0:Draft 1:In Progress
1:Active 2:In Progress
3:Open
2:Won 4:Won
3:Closed 5:Lost
6:Canceled
7:Revised
Quote Close 0:Open 1:Open
1:Completed 2:Completed
2:Canceled 3:Canceled
Recurring Appointment 0:Open 1:Free
2:Tentative
1:Completed 3:Completed
2:Canceled 4:Canceled
3:Scheduled 5:Busy
6:Out of Office
Rollup Query 0:Active 0:Open
1:Inactive 1:Closed
Saved View 0:Active 1:Active
3:All
1:Inactive 2:Inactive
Sdk Message Processing Step 0:Enabled 1:Enabled
1:Disabled 2:Disabled
Service Activity 0:Open 1:Requested
2: Tentative
1:Closed 8:Completed
2:Canceled 9:Canceled
10:No Show
3:Scheduled 3:Pending
4:Reserved
6:In Progress
7:Arrived
System Job 0:Ready 0:Waiting For Resources
1:Suspended 10:Waiting
2:Locked 20:In Progress
21: Pausing
22: Canceling
3:Completed 30:Succeeded
31:Failed
32:Canceled
Task 0:Open 2:Not Started
3:In Progress
4:Waiting on someone else
7:Deferred
1:Completed 5:Completed
2:Canceled 6:Canceled
Transformation Mapping 0:Active 0:Active

Android, iPhone, iPad, Windows Phone apps available for Dynamics CRM 2013

Microsoft released Dynamics CRM 2013 free mobile apps for Android, iPhone, iPad and Windows Phone devices. At this moment these apps will work only for online CRM.

You can download the app directly from App Store’s:

Dynamics CRM 2013 Mobile Client for Android:

https://play.google.com/store/apps/details?id=com.microsoft.crm.crmhost&hl=en

Dynamics CRM 2013 Mobile Client for iPhone and iPad:

https://itunes.apple.com/us/app/microsoft-dynamics-crm-for/id723891307?mt=8

Dynamics CRM 2013 Mobile Client for Windows Phone:

http://www.windowsphone.com/en-us/store/app/dynamics-crm/bdf6ad14-8ff3-4db1-a9d5-336c50ef13ee

Configure Bing maps in Dynamics CRM 2013

Microsoft Dynamics CRM 2013 now comes with an out of the box integration with Bing Maps. This integration uses the address record of your account, lead, contact or custom entity to enable that location and render a Bing Map right on the CRM 2013 page. These maps have the typical Bing Maps functionality: you can see nearby landmarks, “grab” a map and move it around, and you can use your mouse’s scroll wheel to zoom in or out. Move your cursor over the location dot to display the address in a pop-up, and click on the map to get directions.

Bing Maps can be displayed in forms for the account, contact and lead forms. You can remove the Bing Maps area in the form editor or add it back by using the Bing Maps button on the Insert tab of the form editor.

To enable Bing Maps the system setting ‘Show Bing Maps on forms’ must be enabled.

  1. Click on Dynamics CRM-> Settings tile
  2. Click on Settings-> Administration tile
  3. Click on System Settings icon
  4. Set ‘Yes’ to  ‘Enable Bing maps’->‘Show Bing Maps on forms’  in   ‘General’ tab

Bing Maps1
Microsoft Dynamics CRM 2013 on-premise organizations will need to enter a Bing Maps Key and enter it in the system setting Please enter Bing Maps key. Obtain a Bing Map key from: https://www.bingmapsportal.com. Microsoft Dynamics CRM Online subscribers do not require a key.
How to add Bing maps:  Below screenshots shows how to add Bing Maps to Account entity main form

  1. Go to Account entity customizations and click on Account main form
  2. Click on ‘Bing Maps’ from INSERT tab

Bing Maps2
Bing Maps3
After you set Bing maps on Account form, you can see maps like below:
BingMaps4
Following table explains what are the properties  we can set on Bing Maps

Tab Property Description
General Label Required: A label to display for the Bing Maps.
Display label on the form Whether the label should be displayed.
Select an address to use with the Bing Maps control Choose which address should be used to provide data for the map.
Visible by default Showing the Bing maps is optional and can be controlled using scripts. More information: Visibility options
Formatting Select the number of columns the control occupies When the section containing the Bing Maps has more than one column you can set the field to occupy up to the number of columns that the section has.
Select the number of rows the control occupies You can control the height of the Bing Maps by specifying a number of rows.
Automatically expand to use available space You can allow the Bing Maps height to expand to available space.