> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wizflow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Live Page Services

> Expose server-side data to your live pages for label interpolation and block inputs

A **Live Page Service** brings server-side data into the [Live Page Builder](/features/live-page-builder). Add a service to a page, configure its inputs, and its computed data becomes available to every block on that page — both for **interpolation** in text and labels, and as **inputs** to block properties. This lets pages react to real backend values instead of only the answers collected in a chatflow.

***

## What You Can Do

* **Add a service to a page** — pick a service type, give it a name, and configure its inputs
* **Reference service data in text** — interpolate values into labels, rich text, and any text field
* **Feed service data into blocks** — wire a service property into a block's configurable inputs through the Resource URI Selector
* **Enable or disable a service** — toggle a service off without removing it; it stops executing and its data becomes unavailable to blocks
* **See where it's used** — each service shows a usage count of how many blocks reference it

***

## Adding a Service

Services are managed from the **Services panel** in the builder's right sidebar.

1. Open the **Services panel** and click **Add service**.
2. **Pick a service type.** Choose from the available service types — currently the **Dreamplan Calculation Service**.
3. **Configure the service.** Give it a name (used to identify it when you reference its data), leave it **enabled**, and fill in the input fields.
4. **Confirm** to add the service to the page. It now appears in the services list, ready to reference.

You can edit a service's name, enabled state, and inputs at any time from the list. Service names must be unique within a page, and inputs are validated before they can be saved.

### The Dreamplan Calculation Service

The first available service runs financial calculations against the customer's household data and exposes the full calculation summary as referenceable properties (pension coverage, mortgage, and other financial outcomes).

| Input                        | Default | Purpose                      |
| ---------------------------- | ------- | ---------------------------- |
| `loanRatio`                  | `0.5`   | Target loan-to-value ratio   |
| `pensionRecommendationRatio` | `0.75`  | Target income-coverage ratio |

<Note>
  The Dreamplan Calculation Service requires an active **Household data model** on the flow. Without household data, the service has nothing to calculate against.
</Note>

***

## Using Service Data

Once a service is added, its data can be used in two ways.

### Interpolation (text and labels)

Reference a service property anywhere you can write text — block labels, rich text, and text fields. At render time the reference is replaced with the live value (with support for default values when the data is missing). Service resources appear in the resource picker grouped under the service's name, so you can browse to the exact property you need.

### Input to blocks

When configuring a block's properties, open the **Resource URI Selector** and browse the available service resources in the searchable tree. Select a nested property and it is stored as a reference on the block, resolved to the real value when the page renders.

<Tip>
  Combine services with [conditional blocks](/features/live-page-conditional-blocks) to show or hide sections based on a calculated value — for example, only show a pension recommendation when coverage falls below a threshold.
</Tip>

***

## Current Limitations

* **One service type today** — only the Dreamplan Calculation Service is available; more service types are planned.
* **Per-page configuration** — services are configured per page, so different pages can run different service configurations.
* **Disabled services** — a disabled service does not execute, and any block still referencing its data will not resolve.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Live Page Builder" icon="pen-ruler" href="/features/live-page-builder">
    Back to the visual builder overview
  </Card>

  <Card title="Conditional Blocks" icon="code-branch" href="/features/live-page-conditional-blocks">
    Show or hide blocks based on service data
  </Card>
</CardGroup>
