The URL Parameters


The awesomeness of the HTML5 client is apparent, but it might be even clearer if you know a bit on how the URL parameters work as well. These can be used to further enhance your user experience and extend the usage of the web client.

URL parameters are additional commands you can send in the URL and can be used to affect the way the web application works. It is placed at the end of the URL string after the ? (question mark) character and each parameter is separated by an & (and) character.  The parameter can be given an attribute or value and that is separated by the = (equals) character.  Giving you a structure like so:

https://site.domain.com/page.format?parameter1=attribute&parameter2=value...

Let’s dive in!

cmp=[legal entity]

You can set a default company that the user defaults to at User Options > Preferences > Startup > Company. Use this URL parameter to override this and directly access a legal entity. If you use many companies it will be easy to create shortcuts for each company for quick access.
Note: This parameter is visualized by default in the URL.

lng=[language]

You can set a default user language under User Options > Preferences > Language and country/region preferences > Language. However if you like to open the solution in another language, use this URL parameter. Great if you’re doing user training and support, work with different companies in their native languages or if you are doing a demo.

mi=[menuItem]

Use this to go directly to any of the forms in the solution. Based on your user settings you either go to DefaultDashboard, SystemAdministrationWorkspace, EssentialsDashboard or HcmEmployeeSelfServiceWorkspace. This can take you to any for like SalesTable, CustTable and so on…
Note: This parameter is visualized by default in the URL and it is easy to copy it for future use.

hideSplash=true

Want to skip the splash screen? Use that. Looks like it shaves of a millisecond or two, so it isn’t that much faster. It does however look slightly cleaner from my standpoint.

theme=[ThemeID]

theme

The theme ID is the number of the color palette given in the user setup. This is awesome when combined with the “cmp” URL parameter. Gives you a sense of what company you’ve launched, but be aware that you can change company at any time.

limitednav=true

If you’re afraid you might accidentally navigate to a form you shouldn’t be in, you can use the “limitednav” URL parameter to minimize this risk. This parameter takes all navigation possibilities away.

embedded=true

Removes all chrome in the application and just shows the core form in the browser. Great for embedding into other applications.

density={21,30}

Working on both tablet and on a computer? There are two different types of grid density in the solution. High(21) and low(30). Select your pixel density by using this URL parameter. This is the same as selecting a different grid density in the user options.
Example: &density=21 is best suited for desktop and &density=30 is best suited for tablet/touch.

prt=[partitionID]

If you have a solution that is partitioned you can use this to quickly going to the right one. The feature is deprecated, but still works. For instance the Contoso database Public sector partition can be accessed by writing: prt=ps. You can get an overview of the partition by entering f=PartitionAdministration (replacing the mi parameter). Note that partitions have their own user access, so you would initially access it with the system master user. Thanks to Ievgen for pointing this out.

f=[formName]

Some forms doesn’t have menu items. Like “SysTableBrowser” *, “jmgClock”, “WHSWorkExecute” and “jmgWorkPlanner”. These are some forms that are in the system, but isn’t accessible through the menus. This replaces the “mi” parameter.

* Requires also to use the parameter tableName=[TableID]

q=[queryString]

If you activate the “URL manipulation” parameter under your User settings > Preferences, you’ll find that when doing a filter or record lookup you’ll get a query string directly in your URL. I assume that this is the query string that is created by the deep links generator. This is described in the Operations Wiki.
https://ax.help.dynamics.com/en/wiki/how-to-create-and-use-deep-links/

Mode={trial,mobile}

The mode selector does access features that you might otherwise not have access to. The “trial” attribute starts a trial experience and the “mobile” attribute gives the user access to the mobile application builder feature.

debug=develop

This gives you the opportunity to debug the application directly in the web client. It gives you a little indicator right next to the legal entity (company) selector on the top menu bar and clicking it gives you details on the client performance.


That is the list so far. This will give to the opportunity to create direct access to the form and information you need quickly and give a better user experience. I can see great benefit in a multi company solutions.
What URL parameters do you know about that isn’t on this list?

19 thoughts on “The URL Parameters

      1. It was rhetorical question 🙂 They are depreciated and would be replaced by multiple databases due to AX wiki. Still there only for some internal MS stuff.

      2. Thanks for clearing that up. So it is in different databases on the same solution? And that would be accessed through the partition URL parameter?

  1. I have not seen any details, wiki says “Data partitions will be replaced through support for multiple databases or Dynamics AX instances in a future release.” It is not in road map as well. Regarding current partitions some dude from MS said somewhere that some tests use them, but it’s internal MS stuff, not for us. Not too much clarity tho.

    1. Partition is a part of every table in the database still.
      Try “f=partitionadministration” or simply try “prt=ps” with your system administrator account on a contoso demo database.
      Deprecated, but still a part of the parameters and probably a solution will be avaiable soon or simply remains to support legacy databases.. 🙂 The feature is still in full functionality, so rhetorical question or not, the functionality of partitions are there.

      1. Ok, if you insists that it’s a solution that we can use, not leftovers from AX 2012 that were not cleaned out, is there a “nice” way for end user to create partition using UI, not playing with URL ? How can I change default partition for my environment ?

  2. Ievgen: It is a left over from AX 2012, but it still works. Deprecated or not… You could move a partitioned 2012 database to D365O. Your initial question was: “Could you have a solution that is partitioned?” to which the answer is: “Looks like it. Yes!” + “But the feature is deprecated, so maybe don’t go there”. 🙂
    It is however the easiest way to demo public sector on the Contoso database.

      1. I would try checking here:
        https://ax.help.dynamics.com/en/wiki/upgrading-home-page/
        As D365O seems to support partitions as well as AX2012. It is probably done the same way as any other upgrade. Maybe you’ll have to ignore the warning about partitions in the checklist, but I’m not sure if it even registers…
        Thing that seems to be missing in D365O is the partition initiation checklist. So you can’t create a new partition once upgraded.

  3. Hey first of all thanks for the share,
    But we have a problem with that When users change the URL and add parameter directly let’s say they add &lng=en-us this parameter passing all other forms even user preference is completely different all the pages opened after this URL manipulation pass this parameter to the next calls.
    Is there any way to prevent passing user-added parameters.

Leave a comment