# Confirmation page

## Availability

[\[SINCE Orbeon Forms 2025.1\]](https://doc.orbeon.com/release-notes/orbeon-forms-2025.1)

## Introduction

It is useful for a form to be able to show a confirmation page to the user once processing is complete. The confirmation page is a built-in feature which allows:

* displaying a message to the user once the form is successfully submitted
* allowing the user to download a PDF copy of the submitted data

<figure><img src="https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LEkBiSDvlXs3VWiO0Zu%2Fuploads%2Fgit-blob-58b0ea8152bcb2579fa6a5f25b27e026d528a66b%2Fconfirmation-page-example.webp?alt=media" alt="Confirmation page example" width="590"><figcaption><p>Confirmation page example</p></figcaption></figure>

Like email templates, the confirmation page can be customized using Form Builder, using *confirmation page templates*.

## Form Builder user interface

You open the "Confirmation Page Settings" dialog from the Form Builder "Advanced" tab.

<figure><img src="https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LEkBiSDvlXs3VWiO0Zu%2Fuploads%2Fgit-blob-e04a9f188f952894db56e340fad5a67cebe7767e%2Fadvanced-tab.webp?alt=media" alt="Advanced tab in Form Builder toolbox" width="219"><figcaption><p>Advanced tab in Form Builder toolbox</p></figcaption></figure>

The "Confirmation Page Settings" dialog allows you to create multiple templates, each with a name and optional language. The confirmation page selects a template as follows:

* All the templates that are for a specific language which doesn't correspond to the current language are filtered out.
* If at least one template which corresponds to the current language exists, the first such template is used, following the order in which they are defined in the form.
* The first remaining template is used, following the order in which they are defined in the form.

**NOTE: As of Orbeon Forms 2025.1, unlike with email templates, it is not possible to choose a template by name.**

Templates can specify a title and a message body.

![Confirmation Page Templates dialog](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LEkBiSDvlXs3VWiO0Zu%2Fuploads%2Fgit-blob-f39b46c3316b1aaa03c70a4d9c33147c47aa98d8%2Fconfirmation-page-settings-templates.webp?alt=media)

Both title and message body can be configured with templates parameters which can include:

* control values
* formulas

![Confirmation Page Templates dialog with parameters](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LEkBiSDvlXs3VWiO0Zu%2Fuploads%2Fgit-blob-9a09ad1010d1ae5ce788909219fe4fad5eebcfb5%2Fconfirmation-page-settings-template-params.webp?alt=media)

You can also choose whether a PDF download button is available. The PDF is produced as follows:

* If, in a previous page, a process used the `send()` or `email()` action and a PDF was produced at that time, then that PDF is used.
* Otherwise, the PDF is produced at the time the confirmation page is shown.

## Form Runner configuration

By default, Form Runner does not show a confirmation page. You navigate to a confirmation page by using the `change-mode(mode = "confirmation")` action in a process, such as a `submit` process. For example:

```xml
<property as="xs:string"  name="oxf.fr.detail.process.confirmation.acme.order">
    send(
        uri     = "https://example.org/",
        method  = "POST",
        content = "xml",
        replace = "none"
    )
    then email(template = "my-template")
    then change-mode(mode = "confirmation")
</property>
```

## See also

* [Email settings dialog](https://doc.orbeon.com/form-builder/advanced/email-settings)
* [Form Runner email action](https://doc.orbeon.com/form-runner/advanced/buttons-and-processes/actions-form-runner/actions-form-runner-email)
* [Custom modes](https://doc.orbeon.com/form-runner/features/custom-modes)
