> For the complete documentation index, see [llms.txt](https://devon-miller.gitbook.io/advanced-dynamics-crm-development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devon-miller.gitbook.io/advanced-dynamics-crm-development/webresources/development-model/entry-points-revisited.md).

# Entry Points Revisited

We mentioned before that your standard entry point is a .html file that is loaded into your WebResource iframe.

However, you may want to load your WebResouce directly into the parent of the iframe, which is the standard iframe that the rest of the form content is in. Generally the loads look like:

* top: Toplevel frame
  * contentFrame1: Content frame
    * WebResource\_foo: Where your foo web resource is loaded.&#x20;
    * WebResource\_blah: ...ditto...
    * customerscripts: The iframe where your toplevel form scripts are loaded&#x20;
  * A bunch of other frames that deal with security

The iframes help isolate your resources so they don't collide as much and protect you from dynamics things. However, I find that the layouts work better for smaller web resources if I load directly into the parent of the iframe. If you do this, you cannot load a static .html file directly, everything must be done with javascript.

The basic idea is to dynamically append a `<script>` tag to the document in the parent of the iframe and load the specified script via a "shim" that you can setup.

In fact, a general purpose react\_shim.html can help you load under multiple scenarios and make it easy to use the iframe-parent entry point when you need to. You just need to be careful your resources do not collide with the standard dynamics ones.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devon-miller.gitbook.io/advanced-dynamics-crm-development/webresources/development-model/entry-points-revisited.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
