diff --git a/webform_features.api.php b/webform_features.api.php
new file mode 100644
index 0000000..81bb5e4
--- /dev/null
+++ b/webform_features.api.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * @file
+ * API documentation for webform features.
+ */
+
+/**
+ * Allows to alter webform node that is going to be exported.
+ *
+ * @param object $export
+ *   Cloned webform node object.
+ */
+function hook_webform_features_export_render_alter(&$export) {
+  unset($export->workbench_moderation);
+}
+
+/**
+ * Allows to alter webform node that is going to be rebuilt from export.
+ *
+ * @param array $data
+ *   Associative array representing single webform node.
+ */
+function hook_webform_features_rebuild_data_alter(&$data) {
+  $data['webform']['machine_name'] = 'new_machine_name';
+}
diff --git a/webform_features.features.inc b/webform_features.features.inc
index 59e4b30..906fee3 100644
--- a/webform_features.features.inc
+++ b/webform_features.features.inc
@@ -69,8 +69,7 @@ function webform_features_export_render($module_name, $data, $export = NULL) {
 
     $export = clone $node;
 
-    // Use date instead of created, in the same format used by node_object_prepare.
-    $export->date = format_date($export->created, 'custom', 'Y-m-d H:i:s O');
+    drupal_alter('webform_features_export_render', $export);
 
     // Don't cause conflicts with nid/vid/revision_timestamp/changed fields.
     unset($export->nid);
@@ -171,6 +170,9 @@ function webform_features_rebuild($module) {
       if (empty($data['webform']) || empty($data['webform']['machine_name'])) {
         continue;
       }
+
+      drupal_alter('webform_features_rebuild_data', $data);
+
       $webform_machine_name = $data['webform']['machine_name'];
 
       $node = (object) $data;
