Webpage (HTML) web resources

Use webpage (HTML) web resources to create user interface elements for client extensions.

Capabilities of HTML web resources

Because an HTML web resource is just streamed to the user's browser, it can include any content that is rendered on the user's browser.

Limitations of HTML web resources

  • An HTML web resource can’t contain any code that must be executed on the server. ASP.NET pages can’t be uploaded as HTML web resources.

  • HTML web resources can only accept a limited number of query string parameters. More information: Pass parameters to HTML web resources

Use the text editor for HTML web resources

The text editor provided in the web resource form is intended for use with very simple HTML editing. For more sophisticated HTML documents, you should edit the code in an external editor and use the Browse button to upload the contents of your file.

For example, a more complex HTML page that requires script to render the contents of the page will begin like the following sample.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <script src="Script/Script.js" type="text/javascript"></script>
 <link href="CSS/Styles.css" rel="stylesheet" type="text/css" />
<body onload="SDK.ImportWebResources.showData()">
 <div id="results" />

After the document is opened in the text editor and saved, the HTML will be changed to this.

<META charset=utf-8></HEAD>
<BODY contentEditable=true onload=SDK.ImportWebResources.showData()>
<SCRIPT type=text/javascript src="Script/Script.js"></SCRIPT>
 <LINK rel=stylesheet type=text/css href="CSS/Styles.css">
<DIV id=results></DIV></BODY></HTML>

Prevent editing of web resources for managed solutions

Because of the capability for the HTML in web resources to be changed by using the text editor, it’s recommended that you use managed properties to set complex HTML web resources as not customizable for managed solutions. When viewing web resources in the solutions window, open the Managed Properties dialog box to set the Customizable property to false.

Reference other web resources from an HTML web resource

You can create a set of related files outside of Dynamics 365 Customer Engagement (on-premises) that use any of the web resource file types. If you’re careful to always use relative paths and import each web resource with a consistent naming convention that reflects the folder structure of your website, you’ll find that the HTML web resource will maintain links to related CSS, XML, JScript, image, and Silverlight files that have been imported as web resources.

For example, if you create a web application project that uses the following [folder]/file structure:

  • page.htm

  • [Styles]

    • style.css
  • [Scripts]

    • script.js

    When you import these files as web resources, you can name where your solution publisher customization prefix is “new” in the following manner:

  • new_/page.htm

  • new_/Styles/style.css

  • new_/Scripts/script.js

    When you follow this pattern, your new_/page.htm HTML web resource can reference the other files the most common way using relative paths as shown in the following example.

<script src="Scripts/script.js" type="text/javascript"></script>
<link href="Styles/style.css" rel="stylesheet" type="text/css" />

The solution publisher customization prefix becomes a virtual root folder for all the web resources in your solution. If you change your customization prefix, the relative paths within your HTML web resources won’t be changed.


  • An HTML web resource added to a form can’t use global objects defined by the JavaScript library loaded in the form. An HTML web resource may interact with the Xrm.Page or Xrm.Utility objects within the form by using parent.Xrm.Page or parent.Xrm.Utility, but global objects defined by form scripts won’t be accessible using the parent. You should load any libraries that an HTML web resource needs within the HTML web resource so they’re not dependent on scripts loaded in the form.
    • References included in code between web resources aren’t tracked as solution dependencies.

Because web resources are also downloaded for users of Dynamics 365 for Microsoft Office Outlook with Offline Access, users will have access to web resource content while they’re working offline.

Pass parameters to HTML web resources

An HTML web resource can accept only the parameters in the following table.

Parameter Name Description
typename Entity Name The name of the entity.
type Entity Type Code An integer that uniquely identifies the entity in a specific organization.
id Object GUID The GUID that represents a record.
orgname Organization Name The unique name of the organization.
userlcid User Language Code The language code identifier being used by the current user.
orglcid Organization Language Code The language code identifier that represents the base language for the organization.
data Optional Data Parameter An optional value that may be passed.
formid Form Id The GUID that represents a form ID.
entrypoint Entry Point A string value. This parameter is intended to be passed as an optional value to web resources opened as custom help content for an entity. When enabled, the custom help URL will include a value of either “form” or “hierarchychart”.
pagemode For internal use only.
security For internal use only.
tabSet For internal use only.

To pass more than one value in the data parameter, you must encode parameters in the value of the data parameter and then include logic to decode the multiple parameters using script in your HTML web resource. The Sample: Passing Multiple Values to a Web Resource Through the Data Parameter topic demonstrates one approach to address passing multiple parameter values.

See also

Web Resources for Dynamics 365 Customer Engagement (on-premises)
Create Accessible Web Resources
Using Style Sheet (CSS) Web Resources
Using Script (JScript) Web Resources
Using Data (XML) Web Resources
Using Image (JPG, PNG, GIF) Web Resources
Using Stylesheet (XSL) Web Resources