diff --git a/config/schema/yamlform.schema.yml b/config/schema/yamlform.schema.yml
index e883fdb..0ace012 100644
--- a/config/schema/yamlform.schema.yml
+++ b/config/schema/yamlform.schema.yml
@@ -598,7 +598,7 @@ yamlform.handler.email:
       type: text
     excluded_elements:
       type: sequence
-      label: 'Exclude Elements'
+      label: 'Exclude elements'
       sequence:
         type: string
         label: 'Element name'
@@ -628,6 +628,12 @@ yamlform.handler.remote_post:
     delete_url:
       label: 'Delete URL'
       type: uri
+    excluded_data:
+      type: sequence
+      label: 'Excluded data'
+      sequence:
+        type: string
+        label: 'Data name'
     debug:
       type: boolean
       label: 'Enable debugging'
diff --git a/src/Plugin/YamlFormHandler/RemotePostYamlFormHandler.php b/src/Plugin/YamlFormHandler/RemotePostYamlFormHandler.php
index fb61840..aea2cb0 100644
--- a/src/Plugin/YamlFormHandler/RemotePostYamlFormHandler.php
+++ b/src/Plugin/YamlFormHandler/RemotePostYamlFormHandler.php
@@ -75,11 +75,14 @@ class RemotePostYamlFormHandler extends YamlFormHandlerBase {
    * {@inheritdoc}
    */
   public function defaultConfiguration() {
+    $field_names = array_keys(\Drupal::service('entity_field.manager')->getBaseFieldDefinitions('yamlform_submission'));
+    $excluded_data = array_combine($field_names, $field_names);
     return [
       'type' => 'x-www-form-urlencoded',
       'insert_url' => '',
       'update_url' => '',
       'delete_url' => '',
+      'excluded_data' => $excluded_data,
       'debug' => FALSE,
     ];
   }
@@ -117,7 +120,7 @@ class RemotePostYamlFormHandler extends YamlFormHandlerBase {
 
     $form['type'] = [
       '#type' => 'select',
-      '#title' => $this->t('Post Type'),
+      '#title' => $this->t('Post type'),
       '#description' => $this->t('Use x-www-form-urlencoded if unsure, as it is the default format for HTML forms. You also have the option to post data in <a href="http://www.json.org/" target="_blank">JSON</a> format.'),
       '#options' => [
         'x-www-form-urlencoded' => $this->t('x-www-form-urlencoded'),
@@ -127,6 +130,20 @@ class RemotePostYamlFormHandler extends YamlFormHandlerBase {
       '#default_value' => $this->configuration['type'],
     ];
 
+    $form['post_data'] = [
+      '#type' => 'details',
+      '#title' => $this->t('Posted data'),
+    ];
+    $form['post_data']['excluded_data'] = [
+      '#type' => 'yamlform_excluded_columns',
+      '#title' => $this->t('Posted data'),
+      '#title_display' => 'invisible',
+      '#yamlform' => $yamlform,
+      '#required' => TRUE,
+      '#parents' => ['settings', 'excluded_data'],
+      '#default_value' => $this->configuration['excluded_data'],
+    ];
+
     $form['debug'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Enable debugging'),
@@ -230,7 +247,17 @@ class RemotePostYamlFormHandler extends YamlFormHandlerBase {
    *   A form submission converted to an associative array.
    */
   protected function getPostData(YamlFormSubmissionInterface $yamlform_submission) {
-    return $yamlform_submission->toArray(TRUE);
+    // Get submission and elements data.
+    $data = $yamlform_submission->toArray(TRUE);
+
+    // Flatten data.
+    $data += $data['data'];
+    unset($data['data']);
+
+    // Excluded selected data.
+    $data = array_diff_key($data, $this->configuration['excluded_data']);
+
+    return $data;
   }
 
   /**
diff --git a/src/Tests/YamlFormHandlerRemotePostTest.php b/src/Tests/YamlFormHandlerRemotePostTest.php
index 633a6d2..7901a79 100644
--- a/src/Tests/YamlFormHandlerRemotePostTest.php
+++ b/src/Tests/YamlFormHandlerRemotePostTest.php
@@ -23,6 +23,12 @@ class YamlFormHandlerRemotePostTest extends YamlFormTestBase {
     // Check remote post 'create' operation.
     $sid = $this->postSubmission($yamlform_handler_remote);
     $this->assertPattern('#<label>Remote operation</label>\s+insert#ms');
+    $this->assertRaw('first_name: John');
+    $this->assertRaw('last_name: Smith');
+    $this->assertRaw('email: from@example.com');
+    $this->assertRaw("subject: '{subject}'");
+    $this->assertRaw("message: '{message}'");
+    $this->assertNoRaw("sid: '$sid'");
 
     // Check remote post 'update' operation.
     $this->drupalPostForm("admin/structure/yamlform/manage/test_handler_remote_post/submission/$sid/edit", [], t('Save'));
@@ -32,6 +38,23 @@ class YamlFormHandlerRemotePostTest extends YamlFormTestBase {
     $this->drupalPostForm("admin/structure/yamlform/manage/test_handler_remote_post/submission/$sid/delete", [], t('Delete'));
     $this->assertPattern('#<label>Remote operation</label>\s+delete#ms');
 
+    // Check including data.
+    $handler = $yamlform_handler_remote->getHandler('remote_post');
+    $configuration = $handler->getConfiguration();
+    $configuration['settings']['excluded_data'] = [
+      'subject' => 'subject',
+      'message' => 'message',
+    ];
+    $handler->setConfiguration($configuration);
+    $yamlform_handler_remote->save();
+    $sid = $this->postSubmission($yamlform_handler_remote);
+    $this->assertRaw('first_name: John');
+    $this->assertRaw('last_name: Smith');
+    $this->assertRaw('email: from@example.com');
+    $this->assertNoRaw("subject: '{subject}'");
+    $this->assertNoRaw("message: '{message}'");
+    $this->assertRaw("sid: '$sid'");
+
     // @todo Figure out why the below test is failing on Drupal.org.
     // Check remote post 'create' 500 error handling.
     // $this->postSubmission($yamlform_handler_remote, ['first_name' => 'FAIL']);
diff --git a/tests/modules/yamlform_test/config/install/yamlform.yamlform.test_handler_remote_post.yml b/tests/modules/yamlform_test/config/install/yamlform.yamlform.test_handler_remote_post.yml
index baaa752..222063a 100644
--- a/tests/modules/yamlform_test/config/install/yamlform.yamlform.test_handler_remote_post.yml
+++ b/tests/modules/yamlform_test/config/install/yamlform.yamlform.test_handler_remote_post.yml
@@ -121,4 +121,23 @@ handlers:
       update_url: 'http://defaultyamlform_test/remote_post/update'
       delete_url: 'http://defaultyamlform_test/remote_post/delete'
       type: x-www-form-urlencoded
+      excluded_data:
+        serial: serial
+        sid: sid
+        uuid: uuid
+        token: token
+        uri: uri
+        created: created
+        completed: completed
+        changed: changed
+        in_draft: in_draft
+        current_page: current_page
+        remote_addr: remote_addr
+        uid: uid
+        langcode: langcode
+        yamlform_id: yamlform_id
+        entity_type: entity_type
+        entity_id: entity_id
+        sticky: sticky
+        notes: notes
       debug: true
diff --git a/tests/modules/yamlform_test/yamlform_test.install b/tests/modules/yamlform_test/yamlform_test.install
index 7731a7b..27deea4 100644
--- a/tests/modules/yamlform_test/yamlform_test.install
+++ b/tests/modules/yamlform_test/yamlform_test.install
@@ -6,12 +6,11 @@
  */
 
 use Drupal\yamlform\Entity\YamlForm;
-
+use Drupal\Core\Url;
 /**
  * Implements hook_install().
  */
 function yamlform_test_install() {
-  global $base_url;
 
   // Update 'Test: Handler: Remote post' URLs.
   /** @var \Drupal\yamlform\YamlFormInterface $remote_post_yamlform */
@@ -21,6 +20,9 @@ function yamlform_test_install() {
   $remote_post_handler = $remote_post_yamlform->getHandler('remote_post');
   $remote_post_configuration = $remote_post_handler->getConfiguration();
 
+  // ISSUE: $base_url and $base_path are not working correctly so we are just
+  // going to use the front page.
+  $base_url = Url::fromRoute('<front>', [], ['absolute' => TRUE])->toString();
   $remote_post_configuration['settings']['insert_url'] = $base_url . 'yamlform_test/remote_post/insert';
   $remote_post_configuration['settings']['update_url'] = $base_url . 'yamlform_test/remote_post/update';
   $remote_post_configuration['settings']['delete_url'] = $base_url . 'yamlform_test/remote_post/delete';
