diff --git a/css/webform.admin.css b/css/webform.admin.css
index 75ef640a..5716939a 100644
--- a/css/webform.admin.css
+++ b/css/webform.admin.css
@@ -4,6 +4,13 @@
  */
 
 /**
+ * Local actions.
+ */
+.webform-form .action-links {
+  margin-bottom: 0;
+}
+
+/**
  * Webform setting button displays a gear icon.
  * @see /admin/structure/webform/manage/contact/results/submissions
  */
diff --git a/modules/webform_node/css/webform_node.references.css b/modules/webform_node/css/webform_node.references.css
new file mode 100644
index 00000000..6983f28b
--- /dev/null
+++ b/modules/webform_node/css/webform_node.references.css
@@ -0,0 +1,17 @@
+/**
+ * @file
+ * Webform node references styling.
+ */
+
+/**
+ * Local actions.
+ */
+.webform-node-references-local-actions {
+  margin: 1em 0;
+}
+
+.webform-node-references-local-actions .button,
+.webform-node-references-local-actions .button:first-child {
+  margin-left: 0;
+  margin-right: 1em;
+}
diff --git a/modules/webform_node/src/Controller/WebformNodeReferencesListController.php b/modules/webform_node/src/Controller/WebformNodeReferencesListController.php
new file mode 100644
index 00000000..e17f1d48
--- /dev/null
+++ b/modules/webform_node/src/Controller/WebformNodeReferencesListController.php
@@ -0,0 +1,360 @@
+<?php
+
+namespace Drupal\webform_node\Controller;
+
+use Drupal\Core\Datetime\DateFormatterInterface;
+use Drupal\Core\Config\Entity\ConfigEntityStorageInterface;
+use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
+use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityListBuilder;
+use Drupal\Core\Entity\EntityStorageInterface;
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Url;
+use Drupal\webform\Plugin\Field\FieldType\WebformEntityReferenceItem;
+use Drupal\webform\WebformInterface;
+use Drupal\webform\WebformSubmissionStorageInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Defines a controller for webform node references.
+ *
+ * Even though this is controller we are extending EntityListBuilder because
+ * the it's interface and patterns are application for display webform node
+ * references.
+ */
+class WebformNodeReferencesListController extends EntityListBuilder implements ContainerInjectionInterface {
+
+  /**
+   * The date formatter service.
+   *
+   * @var \Drupal\Core\Datetime\DateFormatterInterface
+   */
+  protected $dateFormatter;
+
+  /**
+   * Webform submission storage.
+   *
+   * @var \Drupal\webform\WebformSubmissionStorageInterface
+   */
+  protected $submissionStorage;
+
+  /**
+   * Node type storage.
+   *
+   * @var \Drupal\Core\Config\Entity\ConfigEntityStorageInterface
+   */
+  protected $nodeTypeStorage;
+
+  /**
+   * Field config storage.
+   *
+   * @var \Drupal\Core\Config\Entity\ConfigEntityStorageInterface
+   */
+  protected $fieldConfigStorage;
+
+  /**
+   * The webform.
+   *
+   * @var \Drupal\webform\WebformInterface
+   */
+  protected $webform;
+
+  /**
+   * Webform node field names.
+   *
+   * @var array
+   */
+  protected $fieldNames;
+
+  /**
+   * Webform node type.
+   *
+   * @var array
+   */
+  protected $nodeTypes;
+
+  /**
+   * Provides the listing page for webform node references.
+   *
+   * @return array
+   *   A render array as expected by drupal_render().
+   */
+  public function listing(WebformInterface $webform) {
+    $this->webform = $webform;
+    if (empty($this->fieldNames)) {
+      return [
+        '#type' => 'webform_message',
+        '#message_type' => 'warning',
+        '#message_message' => $this->t('There are no nodes with webform entity references. Please create add a Webform field to content type.'),
+      ];
+    }
+    else {
+      return $this->render();
+    }
+  }
+
+  /**
+   * Constructs a new WebformNodeReferencesListController object.
+   *
+   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
+   *   The entity type definition.
+   * @param \Drupal\Core\Entity\EntityStorageInterface $storage
+   *   The entity storage class.
+   * @param \Drupal\Core\Datetime\DateFormatterInterface $date_formatter
+   *   The date formatter service.
+   * @param \Drupal\Core\Config\Entity\ConfigEntityStorageInterface $node_type_storage
+   *   The node type storage class.
+   * @param \Drupal\Core\Config\Entity\ConfigEntityStorageInterface $field_config_storage
+   *   The field config storage class.
+   * @param \Drupal\webform\WebformSubmissionStorageInterface $webform_submsision_storage
+   *   The webform submission storage class.
+   */
+  public function __construct(EntityTypeInterface $entity_type, EntityStorageInterface $storage, DateFormatterInterface $date_formatter, ConfigEntityStorageInterface $node_type_storage, ConfigEntityStorageInterface $field_config_storage, WebformSubmissionStorageInterface $webform_submsision_storage) {
+    parent::__construct($entity_type, $storage);
+
+    $this->dateFormatter = $date_formatter;
+    $this->nodeTypeStorage = $node_type_storage;
+    $this->fieldConfigStorage = $field_config_storage;
+    $this->submissionStorage = $webform_submsision_storage;
+
+    $this->nodeTypes = [];
+    $this->fieldNames = [];
+
+    /** @var \Drupal\node\Entity\NodeType[] $node_types */
+    $node_types = $this->nodeTypeStorage->loadMultiple();
+    /** @var \Drupal\field\FieldConfigInterface[] $field_configs */
+    $field_configs = $this->fieldConfigStorage->loadByProperties(['entity_type' => 'node']);
+    foreach ($field_configs as $field_config) {
+      if ($field_config->get('field_type') === 'webform') {
+        $bundle =  $field_config->get('bundle');
+        $this->nodeTypes[$bundle] = $node_types[$bundle];
+
+        $field_name = $field_config->get('field_name');
+        $this->fieldNames[$field_name] = $field_name;
+      }
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container) {
+    return new static(
+      $container->get('entity.manager')->getDefinition('node'),
+      $container->get('entity.manager')->getStorage('node'),
+      $container->get('date.formatter'),
+      $container->get('entity.manager')->getStorage('node_type'),
+      $container->get('entity.manager')->getStorage('field_config'),
+      $container->get('entity.manager')->getStorage('webform_submission')
+    );
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEntityIds() {
+    $query = $this->getStorage()->getQuery()
+      ->sort($this->entityType->getKey('id'));
+
+    // Add field names.
+    $or = $query->orConditionGroup();
+    foreach ($this->fieldNames as $field_name) {
+      $or->condition($field_name .'.target_id', $this->webform->id());
+    }
+    $query->condition($or);
+
+    // Only add the pager if a limit is specified.
+    if ($this->limit) {
+      $query->pager($this->limit);
+    }
+
+    return $query->execute();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildHeader() {
+    $header = [];
+    $header['title'] = $this->t('Title');
+    $header['type'] = [
+      'data' => $this->t('Type'),
+      'class' => [RESPONSIVE_PRIORITY_MEDIUM],
+    ];
+    $header['author'] = [
+      'data' => $this->t('Author'),
+      'class' => [RESPONSIVE_PRIORITY_LOW],
+    ];
+    $header['changed'] = [
+      'data' => $this->t('Updated'),
+      'class' => [RESPONSIVE_PRIORITY_LOW],
+    ];
+    $header['node_status'] = [
+      'data' => $this->t('Node status'),
+      'class' => [RESPONSIVE_PRIORITY_LOW],
+    ];
+    $header['webform_status'] = [
+      'data' => $this->t('Webform status'),
+      'class' => [RESPONSIVE_PRIORITY_LOW],
+    ];
+    $header['results_total'] = [
+      'data' => $this->t('Total Results'),
+      'class' => [RESPONSIVE_PRIORITY_MEDIUM],
+    ];
+    $header['results_operations'] = [
+      'data' => $this->t('Operations'),
+      'class' => [RESPONSIVE_PRIORITY_MEDIUM],
+    ];
+    $header['operations'] = [
+      'data' => '',
+    ];
+    return $header + parent::buildHeader();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildRow(EntityInterface $entity) {
+    /** @var \Drupal\node\NodeInterface $entity */
+    $row['title']['data'] = [
+      '#type' => 'link',
+      '#title' => $entity->label(),
+      '#url' => $entity->toUrl(),
+    ];
+    $row['type'] = node_get_type_label($entity);
+    $row['author']['data'] = [
+      '#theme' => 'username',
+      '#account' => $entity->getOwner(),
+    ];
+    $row['changed'] = $this->dateFormatter->format($entity->getChangedTime(), 'short');
+    $row['node_status'] = $entity->isPublished() ? $this->t('Published') : $this->t('Not published');
+    $row['webform_status'] = $this->getWebformStatus($entity);
+    $row['results_total'] = $this->submissionStorage->getTotal($this->webform, $entity);
+    $row['results_operations']['data'] = [
+      '#type' => 'operations',
+      '#links' => $this->getDefaultOperations($entity, 'results'),
+    ];
+    $row['operations']['data'] = $this->buildOperations($entity, 'edit');
+    return $row + parent::buildRow($entity);
+  }
+
+  /**
+   * Get the webform node's status.
+   *
+   * @param \Drupal\Core\Entity\EntityInterface $entity
+   *   The node.
+   *
+   * @return \Drupal\Core\StringTranslation\TranslatableMarkup|null
+   *   The webform node status.
+   *
+   * @see \Drupal\webform\Plugin\Field\FieldFormatter\WebformEntityReferenceFormatterBase::isOpen
+   */
+  protected function getWebformStatus(EntityInterface $entity) {
+    // Get source entity's webform field.
+    $webform_field_name = WebformEntityReferenceItem::getEntityWebformFieldName($entity);
+    if (!$webform_field_name) {
+      return NULL;
+    }
+
+    if ($entity->$webform_field_name->target_id != $this->webform->id()) {
+      return NULL;
+    }
+
+    $webform_field = $entity->$webform_field_name;
+    if ($webform_field->status == WebformInterface::STATUS_OPEN) {
+      return $this->t('Open');
+    }
+
+    if ($webform_field->status == WebformInterface::STATUS_SCHEDULED) {
+      $is_opened = TRUE;
+      if ($webform_field->open && strtotime($webform_field->open) > time()) {
+        $is_opened = FALSE;
+      }
+
+      $is_closed = FALSE;
+      if ($webform_field->close && strtotime($webform_field->close) < time()) {
+        $is_closed = TRUE;
+      }
+      return ($is_opened && !$is_closed) ? $this->t('Open') : $this->t('Closed');
+    }
+
+    return $this->t('Closed');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultOperations(EntityInterface $entity, $type = 'edit') {
+    $route_parameters = [
+      'node' => $entity->id(),
+    ];
+    if ($type == 'results') {
+      $operations = [];
+      if ($entity->access('submission_view_any')) {
+        $operations['submissions'] = [
+          'title' => $this->t('Submissions'),
+          'url' => Url::fromRoute('entity.node.webform.results_submissions', $route_parameters),
+        ];
+        $operations['export'] = [
+          'title' => $this->t('Download'),
+          'url' => Url::fromRoute('entity.node.webform.results_export', $route_parameters),
+        ];
+      }
+      if ($entity->access('submission_delete_any')) {
+        $operations['clear'] = [
+          'title' => $this->t('Clear'),
+          'url' => Url::fromRoute('entity.node.webform.results_clear', $route_parameters),
+        ];
+      }
+    }
+    else {
+      $operations = parent::getDefaultOperations($entity);
+      if ($entity->access('submission_update_any')) {
+        $operations['test'] = [
+          'title' => $this->t('Test'),
+          'weight' => 21,
+          'url' => Url::fromRoute('entity.node.webform.test', $route_parameters),
+        ];
+      }
+    }
+    return $operations;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function render() {
+    $build = parent::render();
+
+    // Customize the empty message.
+    $build['table']['#empty'] = $this->t('There are no webform node references.');
+
+    // Must manually add local actions because we can't alter local actions and
+    // add query string parameter.
+    // @see https://www.drupal.org/node/2585169
+    $local_actions = [];
+    foreach ($this->nodeTypes as $bundle => $node_type) {
+      if ($node_type->access('create')) {
+        $local_actions['webform_node.references.add_' . $bundle] = [
+          '#theme' => 'menu_local_action',
+          '#link' => [
+            'title' => $this->t('Add @title', ['@title' => $node_type->label()]),
+            'url' => Url::fromRoute('node.add', ['node_type' => $bundle], ['query' => ['webform' => $this->webform->id()]]),
+          ]
+        ];
+      }
+    }
+    if ($local_actions) {
+      $build['local_actions'] = [
+        '#prefix' => '<ul class="action-links">',
+        '#suffix' => '</ul>',
+        '#weight' => -100,
+      ] + $local_actions;
+    }
+
+    $build['#attached']['library'][] = 'webform_node/webform_node.references';
+
+    return $build;
+  }
+
+}
diff --git a/modules/webform_node/src/Tests/WebformNodeReferencesTest.php b/modules/webform_node/src/Tests/WebformNodeReferencesTest.php
new file mode 100644
index 00000000..fdaf725d
--- /dev/null
+++ b/modules/webform_node/src/Tests/WebformNodeReferencesTest.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Drupal\webform_node\Tests;
+
+use Drupal\Core\Url;
+use Drupal\webform\Entity\Webform;
+use Drupal\webform\WebformInterface;
+
+/**
+ * Tests for webform node references.
+ *
+ * @group WebformNode
+ */
+class WebformNodeReferencesTest extends WebformNodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['block', 'help', 'webform', 'webform_node'];
+
+  /**
+   * Tests webform node references.
+   */
+  public function testReferences() {
+    global $base_path;
+
+    $this->drupalLogin($this->rootUser);
+    $this->drupalPlaceBlock('help_block');
+
+    // Check references tab's empty message.
+    $this->drupalGet('admin/structure/webform/manage/contact/references');
+    $this->assertRaw('There are no webform node references.');
+
+    // Create webform node.
+    $node = $this->drupalCreateNode(['type' => 'webform']);
+    $node->webform->target_id = 'contact';
+    $node->save();
+
+    $this->drupalGet('admin/structure/webform/manage/contact/references');
+
+    // Check references tab does not include empty message.
+    $this->assertNoRaw('There are no webform node references.');
+
+    // Check references tabs includes webform node.
+    $this->assertLink($node->label());
+
+    // Check references tab local actions.
+    $this->assertRaw('<li><a href="' . $base_path . 'node/add/webform?webform=contact" class="button button-action" data-drupal-link-query="{&quot;webform&quot;:&quot;contact&quot;}" data-drupal-link-system-path="node/add/webform">Add Webform</a></li>');
+
+    // Check node with prepopulated webform.
+    $this->drupalGet('node/add/webform', ['query' => ['webform' => 'contact']]);
+    $this->assertFieldByName('webform[0][target_id]', 'contact');
+
+    // Check node without prepopulated webform warning.
+    $this->drupalGet('node/add/webform');
+    $this->assertRaw('Webforms must first be <a href="' . $base_path . 'admin/structure/webform">created</a> before referencing them in the below form.');
+
+
+  }
+
+}
diff --git a/modules/webform_node/webform_node.libraries.yml b/modules/webform_node/webform_node.libraries.yml
new file mode 100644
index 00000000..b429866c
--- /dev/null
+++ b/modules/webform_node/webform_node.libraries.yml
@@ -0,0 +1,5 @@
+webform_node.references:
+  version: 1.x
+  css:
+    theme:
+      css/webform_node.references.css: {}
diff --git a/modules/webform_node/webform_node.links.task.yml b/modules/webform_node/webform_node.links.task.yml
index dbaf424f..3de52a92 100644
--- a/modules/webform_node/webform_node.links.task.yml
+++ b/modules/webform_node/webform_node.links.task.yml
@@ -1,3 +1,7 @@
+entity.webform.references:
+  title: 'References'
+  route_name: entity.webform.references
+  base_route: entity.webform.canonical
 
 entity.node.webform.test:
   title: 'Test'
diff --git a/modules/webform_node/webform_node.module b/modules/webform_node/webform_node.module
index 26f2966b..01887e79 100644
--- a/modules/webform_node/webform_node.module
+++ b/modules/webform_node/webform_node.module
@@ -5,12 +5,79 @@
  * Provides a webform content type which allows webforms to be integrated into a website as nodes.
  */
 
+use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Routing\RouteMatchInterface;
+use Drupal\Core\Url;
 use Drupal\node\NodeInterface;
-use Drupal\Core\Access\AccessResult;
+use Drupal\webform\Element\WebformMessage;
+use Drupal\webform\Entity\Webform;
 use Drupal\webform\Plugin\Field\FieldType\WebformEntityReferenceItem;
 
 /**
+ * Implements hook_entity_type_alter().
+ */
+function webform_node_entity_type_alter(array &$entity_types) {
+  if (isset($entity_types['webform'])) {
+    /** @var \Drupal\Core\Entity\ContentEntityTypeInterface $webform_entity_type */
+    $webform_entity_type = $entity_types['webform'];
+    $webform_entity_type->setLinkTemplate('references', '/admin/structure/webform/manage/{webform}/references');
+  }
+}
+
+/**
+ * Implements hook_help().
+ */
+function webform_node_help($route_name, RouteMatchInterface $route_match) {
+  if ($route_name != 'node.add') {
+    return NULL;
+  }
+
+  // Don't show the warning is the user can't create webforms.
+  if (!\Drupal::currentUser()->hasPermission('create webform')) {
+    return NULL;
+  }
+
+  /** @var \Drupal\node\NodeTypeInterface $node_type */
+  $node_type = $route_match->getParameter('node_type');
+
+  // Determine if the node type has webform (entity reference) field.
+  $has_webform_field = FALSE;
+  $field_configs = \Drupal::entityTypeManager()->getStorage('field_config')->loadByProperties(['entity_type' => 'node', 'bundle' => $node_type->id()]);
+  foreach ($field_configs as $field_config) {
+    if ($field_config->get('field_type') === 'webform') {
+      $has_webform_field = TRUE;
+      break;
+    }
+  }
+
+  // Display warning message if webform query string parameter is missing.
+  if ($has_webform_field && !\Drupal::request()->get('webform')) {
+    $build = [
+      '#type' => 'webform_message',
+      '#message_type' => 'warning',
+      '#message_close' => TRUE,
+      '#message_id' => 'webform_node.references',
+      '#message_storage' => WebformMessage::STORAGE_USER,
+      '#message_message' => t('Webforms must first be <a href=":href">created</a> before referencing them in the below form.', [':href' => Url::fromRoute('entity.webform.collection')->toString()]),
+      '#cache' => ['max-age' => 0],
+    ];
+  }
+  elseif (\Drupal::request()->get('webform')) {
+    // If there is a webform query string parameter, then disable caching.
+    $build = ['#cache' => ['max-age' => 0]];
+  }
+  else {
+    $build = [];
+  }
+
+  // Makes sure if a webform field is added to a node type it is accounted for.
+  \Drupal::service('renderer')->addCacheableDependency($build, $node_type);
+  return $build;
+}
+
+/**
  * Implements hook_node_access().
  */
 function webform_node_node_access(NodeInterface $node, $operation, AccountInterface $account) {
@@ -45,3 +112,29 @@ function webform_node_node_access(NodeInterface $node, $operation, AccountInterf
     return AccessResult::forbidden();
   }
 }
+
+/**
+ * Implements hook_node_prepare_form().
+ *
+ * Prepopulate a node's webform field target id.
+ *
+ * @see \Drupal\webform_node\Controller\WebformNodeReferencesListController::render
+ */
+function webform_node_node_prepare_form(NodeInterface $node, $operation, FormStateInterface $form_state) {
+  // Only prepopulate new nodes.
+  if (!$node->isNew()) {
+    return;
+  }
+
+  // Make the node has a webform (entity reference) field.
+  $field_name = WebformEntityReferenceItem::getEntityWebformFieldName($node);
+  if (!$field_name) {
+    return;
+  }
+
+  // Populate the webform field.
+  $webform = \Drupal::request()->get('webform');
+  if ($webform && Webform::load($webform)) {
+    $node->$field_name->target_id = $webform;
+  }
+}
diff --git a/modules/webform_node/webform_node.routing.yml b/modules/webform_node/webform_node.routing.yml
index a8147b84..990ea2bf 100644
--- a/modules/webform_node/webform_node.routing.yml
+++ b/modules/webform_node/webform_node.routing.yml
@@ -1,3 +1,11 @@
+entity.webform.references:
+  path: '/admin/structure/webform/manage/{webform}/references'
+  defaults:
+    _controller: '\Drupal\webform_node\Controller\WebformNodeReferencesListController::listing'
+    _title_callback: '\Drupal\webform\Controller\WebformController::title'
+  requirements:
+    _entity_access: 'webform.update'
+
 entity.node.webform.confirmation:
   path: '/node/{node}/webform/confirmation'
   defaults:
diff --git a/modules/webform_ui/css/webform_ui.module.css b/modules/webform_ui/css/webform_ui.module.css
index b3ad2194..92274c07 100644
--- a/modules/webform_ui/css/webform_ui.module.css
+++ b/modules/webform_ui/css/webform_ui.module.css
@@ -4,15 +4,6 @@
  */
 
 /**
- * Local actions.
- */
-.webform-ui-local-actions .button,
-.webform-ui-local-actions .button:first-child {
-  margin-left: 0;
-  margin-right: 1em;
-}
-
-/**
  * Tables
  */
 th.webform-ui-element-operations {
diff --git a/modules/webform_ui/src/WebformUiEntityForm.php b/modules/webform_ui/src/WebformUiEntityForm.php
index 4027ebeb..f247326b 100644
--- a/modules/webform_ui/src/WebformUiEntityForm.php
+++ b/modules/webform_ui/src/WebformUiEntityForm.php
@@ -42,33 +42,39 @@ class WebformUiEntityForm extends WebformEntityForm {
     // Must manually add local actions to the webform because we can't alter local
     // actions and add the needed dialog attributes.
     // @see https://www.drupal.org/node/2585169
-    $local_action_attributes = WebformDialogHelper::getModalDialogAttributes(800, ['button', 'button-action', 'button--primary', 'button--small']);
-    $form['local_actions'] = [
-      '#prefix' => '<div class="webform-ui-local-actions">',
-      '#suffix' => '</div>',
-    ];
-    $form['local_actions']['add_element'] = [
-      '#type' => 'link',
-      '#title' => $this->t('Add element'),
-      '#url' => new Url('entity.webform_ui.element', ['webform' => $webform->id()]),
-      '#attributes' => $local_action_attributes,
+    $local_actions = [];
+    $local_actions['add_element'] = [
+      '#theme' => 'menu_local_action',
+      '#link' => [
+        'title' => $this->t('Add element'),
+        'url' => new Url('entity.webform_ui.element', ['webform' => $webform->id()]),
+        'attributes' => WebformDialogHelper::getModalDialogAttributes(800),
+      ]
     ];
     if ($this->elementManager->createInstance('webform_wizard_page')->isEnabled()) {
-      $form['local_actions']['add_page'] = [
-        '#type' => 'link',
-        '#title' => $this->t('Add page'),
-        '#url' => new Url('entity.webform_ui.element.add_form', ['webform' => $webform->id(), 'type' => 'webform_wizard_page']),
-        '#attributes' => $local_action_attributes,
+      $local_actions['add_page'] = [
+        '#theme' => 'menu_local_action',
+        '#link' => [
+          'title' => $this->t('Add page'),
+          'url' => new Url('entity.webform_ui.element.add_form', ['webform' => $webform->id(), 'type' => 'webform_wizard_page']),
+          'attributes' => WebformDialogHelper::getModalDialogAttributes(800),
+        ]
       ];
     }
     if ($webform->hasFlexboxLayout()) {
-      $form['local_actions']['add_layout'] = [
-        '#type' => 'link',
-        '#title' => $this->t('Add layout'),
-        '#url' => new Url('entity.webform_ui.element.add_form', ['webform' => $webform->id(), 'type' => 'webform_flexbox']),
-        '#attributes' => $local_action_attributes,
+      $local_actions['add_layout'] = [
+        '#theme' => 'menu_local_action',
+        '#link' => [
+          'title' => $this->t('Add layout'),
+          'url' => new Url('entity.webform_ui.element.add_form', ['webform' => $webform->id(), 'type' => 'webform_flexbox']),
+          'attributes' => WebformDialogHelper::getModalDialogAttributes(800),
+        ]
       ];
     }
+    $form['local_actions'] = [
+      '#prefix' => '<ul class="action-links">',
+      '#suffix' => '</ul>',
+    ] + $local_actions;
 
     $form['webform_ui_elements'] = [
       '#type' => 'table',
diff --git a/src/WebformEntityHandlersForm.php b/src/WebformEntityHandlersForm.php
index e0dde873..2cf05e8e 100644
--- a/src/WebformEntityHandlersForm.php
+++ b/src/WebformEntityHandlersForm.php
@@ -144,37 +144,41 @@ class WebformEntityHandlersForm extends EntityForm {
       $rows[$handler_id] = $row;
     }
 
-    // Must manually add local actions to the webform because we can't alter local
-    // actions and add the needed dialog attributes.
-    // @see https://www.drupal.org/node/2585169
-    $dialog_attributes = WebformDialogHelper::getModalDialogAttributes(
-      800,
-      ['button', 'button-action', 'button--primary', 'button--small']
-    );
-
     // Filter add handler by excluded_handlers.
     $handler_definitions = $this->handlerManager->getDefinitions();
     $handler_definitions = $this->handlerManager->removeExcludeDefinitions($handler_definitions);
     unset($handler_definitions['broken']);
 
-    $form['local_actions'] = [];
+
+    // Must manually add local actions to the webform because we can't alter local
+    // actions and add the needed dialog attributes.
+    // @see https://www.drupal.org/node/2585169
+    $local_actions = [];
     if (isset($handler_definitions['email'])) {
-      $form['local_actions']['add_email'] = [
-        '#type' => 'link',
-        '#title' => $this->t('Add email'),
-        '#url' => new Url('entity.webform.handler.add_form', ['webform' => $webform->id(), 'webform_handler' => 'email']),
-        '#attributes' => $dialog_attributes,
+      $local_actions['add_email'] = [
+        '#theme' => 'menu_local_action',
+        '#link' => [
+          'title' => $this->t('Add email'),
+          'url' => new Url('entity.webform.handler.add_form', ['webform' => $webform->id(), 'webform_handler' => 'email']),
+          'attributes' => WebformDialogHelper::getModalDialogAttributes(800),
+        ]
       ];
     }
     unset($handler_definitions['email']);
     if ($handler_definitions) {
-      $form['local_actions']['add_handler'] = [
-        '#type' => 'link',
-        '#title' => $this->t('Add handler'),
-        '#url' => new Url('entity.webform.handlers', ['webform' => $webform->id()]),
-        '#attributes' => $dialog_attributes,
+      $local_actions['add_handler'] = [
+        '#theme' => 'menu_local_action',
+        '#link' => [
+          'title' => $this->t('Add handler'),
+          'url' => new Url('entity.webform.handlers', ['webform' => $webform->id()]),
+          'attributes' => WebformDialogHelper::getModalDialogAttributes(800),
+        ]
       ];
     }
+    $form['local_actions'] = [
+      '#prefix' => '<ul class="action-links">',
+      '#suffix' => '</ul>',
+    ] + $local_actions;
 
     // Build the list of existing webform handlers for this webform.
     $form['handlers'] = [
diff --git a/src/WebformEntityListBuilder.php b/src/WebformEntityListBuilder.php
index 71860639..81669eb5 100644
--- a/src/WebformEntityListBuilder.php
+++ b/src/WebformEntityListBuilder.php
@@ -147,11 +147,10 @@ class WebformEntityListBuilder extends ConfigEntityListBuilder {
     ];
     $header['results_operations'] = [
       'data' => $this->t('Operations'),
-      'class' => [RESPONSIVE_PRIORITY_MEDIUM, 'webform-entity-list-builder-results-operations'],
+      'class' => [RESPONSIVE_PRIORITY_MEDIUM],
     ];
     $header['operations'] = [
       'data' => '',
-      'class' => ['webform-entity-list-builder-operations'],
     ];
     return $header;
   }
diff --git a/src/WebformHelpManager.php b/src/WebformHelpManager.php
index f746ce2b..8458c1b9 100644
--- a/src/WebformHelpManager.php
+++ b/src/WebformHelpManager.php
@@ -1397,6 +1397,14 @@ SUGGESTIONS
       'content' => $this->t("A webform node allows webforms to be fully integrated into a website as nodes."),
       'video_id' => 'blocks',
     ];
+    $help['webform_node_reference'] = [
+      'routes' => [
+        // @see /admin/structure/webform/manage/{webform}/references
+        'entity.webform.references',
+      ],
+      'title' => $this->t('Webform references'),
+      'content' => $this->t("The Reference pages displays an overview of a webform's references and allows you to quickly create new references (a.k.a Webform nodes)."),
+    ];
 
     // Webform Block.
     $help['webform_block'] = [
