> For the complete documentation index, see [llms.txt](https://docs.eximee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/zasilanie-wartosciami-z-zewnetrznych-zrodel/podpiecie-uslugi-na-poziomie-strony-lub-calego-wniosku.md).

# Attaching a service at the page or entire request level

### Example of attaching a service

In addition to the standard attaching of services to individual components, Eximee allows defining *services at the page or request level*. They are used to populate multiple fields at once or to perform operations on request entry/exit. For example, you can define a service ***PageService*** for a page with the customer's address, which, after entering the postal code, will automatically fetch and fill in the city and province in other fields. Another case is ***EntryService*** triggered when the request is opened—for example, retrieving the customer's basic data and filling the form with it.

**Step-by-step configuration:**

1. **Adding a service at the form level:** First, register the appropriate service in the context of the request:
   * *Page service (**PageService**):* To add a page service, open the tab **Page services** located on the left side of the editor view.
   * *Request entry/exit service (**Entry/Exit Service**):* In the **Properties** for the entire request, add the service as **Entry service** (performed when the request is opened) or **Exit service** (performed when the request is completed or submitted).<br>

     <div align="center"><figure><img src="/files/f9ef9afe7267331a6aa8e1e60aeb00a35bbc1fd1" alt=""><figcaption><p><em><strong>Figure 1.</strong> Selection window for the service defined for the page (a filtered list of PageService services available on the request)</em></p></figcaption></figure></div>
2. **Attaching a service to a component:** Next, select the component that is to display data coming from the selected service (e.g. the Customer City field). In its properties, in the section **Interactions**, you need to use the field again **External data source** – click **Select a service** and search the list for the previously created service. Then select the appropriate Page or Entry service from the list.<br>

   <figure><img src="/files/ccd1a2c226bfa54efe43f90ddc18e371b952a381" alt="" width="558"><figcaption><p><em><strong>Figure 2.</strong> Selection window for the output parameter of the service</em></p></figcaption></figure>
3. **Mapping results:** After selecting the service, go to the tab **Output parameters**. From the data returned by the service, select the appropriate output field and map it to the component attribute. For example, the PobierzDaneKlientaService service can be mapped so that the attribute **value** of the City field receives the value from the clientCity parameter returned by the service.
4. **Input parameters (if required):** If a page/request-level service requires input parameters (e.g. postal code as input to ***PageService***), these parameters should be bound in the EDS input configuration. By default, listening will be set up for the components indicated in the input parameters.
5. **Refreshing data on change:** Thanks to the listening mechanism, if the value in the service's input field (e.g. postal code) changes, the associated Page/Entry service will be automatically called again, and the dependent components will be refreshed. The user does not need to take any additional action—the form will keep the data up to date on its own.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/zasilanie-wartosciami-z-zewnetrznych-zrodel/podpiecie-uslugi-na-poziomie-strony-lub-calego-wniosku.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
