How can you add a template for a custom confirmation page URL?
This would be a nice starting point:

/erlendsays.module

&lt;?php

use Drupal\Core\Form\FormStateInterface;

/**
 * Implements hook_form_alter().
 */
function erlendsays_form_alter(&amp;$form, FormStateInterface $form_state, $form_id) {
  array_unshift($form['actions']['submit']['#submit'], 'store_doublecheck_form_result');
}

function store_doublecheck_form_result(array $form, FormStateInterface $form_state) {
  Drupal::request()-&gt;getSession()-&gt;set("webform_result", $form_state-&gt;getValues());
}

/**
 * Implements hook_theme().
 */
function erlendsays_theme() {
  return [
    'doublecheck_form_result' =&gt; [
      'variables' =&gt; [
        'form_result' =&gt; NULL,
      ],
      'template' =&gt; 'doublecheck_form_result',
    ],
  ];
}


/erlendsays.routing.yml

erlendsays.doublecheck_form_result:
  path: '/doublecheckformresults'
  defaults:
    _controller: '\Drupal\erlendsays\Controller\DoublecheckFormResultController::index'
    _title: 'DoubleCheck Form results'
  requirements:
    _permission: 'access content'


/erlendsays/templates/doublecheck_form_result.html.twig

&lt;p&gt;TODO: print the form result.&lt;/p&gt;


/erlendsays/src/Controller/DoublecheckFormResultController.php

&lt;?php

namespace Drupal\erlendsays\Controller;

use Drupal\Core\Controller\ControllerBase;

class DoublecheckFormResultController extends ControllerBase {

  public function index() {
    return [
      '#theme' =&gt; 'doublecheck_form_result',
      '#form_result' =&gt; \Drupal::request()-&gt;getSession()-&gt;get("webform_result"),
    ];
  }

}