Unveiling the Magic of JavaScript in Dynamics 365 CRM: Your Beginner’s Guide – 1


Welcome to the mystical world of JavaScript in Microsoft Dynamics 365 CRM, where codes and commands weave magic into the fabric of CRM forms. In this enchanting journey, we’ll explore the intricacies of JavaScript, the spells it can cast, and the realms it can conquer within the Dynamics CRM universe.

Chapter 1: The Essence of JavaScript

What is JavaScript?

JavaScript, the language of enchantment, is a client-side programming language that breathes life into web pages. While HTML and CSS provide structure and style, JavaScript empowers web pages with interactive elements. In the realm of Dynamics CRM, JavaScript is a formidable force used for processing and performing logical operations on CRM forms and data in real time.

Chapter 2: Unveiling the Magic of Form Event Programming

Form Event Programming

Form Event Programming is the art of handling client-side scenarios and behaviors within Dynamics CRM forms. From opening forms to updating fields and navigating through tabs, JavaScript becomes the conjurer of delightful user experiences. These magical scripts are stored as JScript Web Resources in CRM, ready to be invoked by various client-side events.

Web Resources

JavaScript finds its abode in the form of web resources in Microsoft Dynamics 365. These resources, akin to magical scrolls, are summoned during client-side events. Each dedicated function or method within these resources acts as a spell triggered by specific events, casting its magic on the CRM forms.

Chapter 3: Harnessing the Magic – Functionalities with JavaScript

Possible Functionalities with JavaScript

The wizardry of JavaScript in Dynamics CRM knows no bounds. Here are some of the mystical feats it can accomplish:

  1. Field/Tab Manipulation:
    • Hide and show fields or tabs dynamically.
    • Enable or disable fields, tabs, or entire forms.
    • Set conditions for ribbon button visibility.
  2. Data Interaction:
    • Set and retrieve values from fields.
    • Create, update, and delete records.
    • Execute queries to fetch and manipulate records.
  3. Integration and APIs:
    • Seamlessly call APIs for external integrations.
    • Integrate with third-party services.

Chapter 4: Understanding Xrm.Page Object Model

Xrm.Page Object Model

The heart of JavaScript in Dynamics CRM lies in the Xrm.Page object model. Let’s explore the hierarchy of this object, revealing the namespaces, objects, and collections that serve as the building blocks of CRM magic.

Xrm.Page Object Model


  1. Context:
    • Retrieve organization details, user information, and query string parameters.
  2. Data:
    • Access entity data and manage it in forms and business process flows.
  3. UI:
    • Retrieve information about the user interface and its sub-components.


  1. Entity:
    • Retrieve record information and save records.
  2. Process:
    • Retrieve properties of business process flows.
  3. Navigation:
    • Access navigation items.
  4. FormSelector:
    • Access available forms and manage form navigation.
  5. Stages:
    • Access stages within a business process flow.
  6. Steps:
    • Access steps within each stage.


  1. Attributes:
    • Access entity attributes available on forms.
  2. Controls:
    • ui.controls: Access to each control on the form.
    • attribute.controls: Access controls within an attribute.
    • section.controls: Access controls within a section.
  3. Items:
    • Access navigation items on a form.
  4. Tabs:
    • Access all tabs on a form.
  5. Sections:
    • Access all sections on a form.

Chapter 5: The Dance of Events

Supported Events for JavaScript

In the grand ballroom of Dynamics CRM, JavaScript performs a mesmerizing dance at various events. Here are some of the most enchanting events to call JavaScript functions:

  1. onLoad:
    • Occurs when a form is loaded.
  2. onSave:
    • Triggered when saving a record.
  3. onChange:
    • Activated when a field undergoes a change.
  4. TabStateChange:
    • Responds to changes in tab states.
  5. OnReadyStateComplete:
    • Fires when the form is ready.
  6. PreSearch:
    • Alters the behavior of search operations.
  7. Business Process Flow Control Events:
    • Handles events related to business process flows.

Chapter 6: A Glimpse into the Future

As we conclude our journey into the enchanting world of JavaScript in Microsoft Dynamics 365 CRM, remember that this is just the beginning. The magic of JavaScript evolves as CRM evolves, offering endless possibilities for customization, automation, and integration.

May your scripts be powerful, your forms be intuitive, and your CRM adventures be filled with the magic of JavaScript! The journey continues, and the magic awaits those who dare to explore the realms of Dynamics CRM development.

Leave a Reply