diff --git a/configuration.api.inc b/configuration.api.inc
new file mode 100644
index 0000000..600ffa2
--- /dev/null
+++ b/configuration.api.inc
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * @file
+ * Hooks for configuration module.
+ */
+
+/**
+ * Alter the handlers to manage configurations.
+ *
+ * The hook is implemented to provide new handlers to manage configurations not
+ * covered by configuration handler or to modify the main handler that handle
+ * a certain configuration.
+ *
+ * @param array $handlers
+ *   The array of already defined handlers.
+ *
+ * @see configuration_configuration_handlers().
+ */
+function hook_configuration_handlers_alter(&$handlers) {
+  // Define a new configuration handler to manage 'Foo' configurations.
+  // A FooConfiguration.php file must be placed into
+  // yourmodule/lib/Drupal/yourmodule/Config
+  $handlers['foo'] = '\Drupal\yourmodule\Config\FooConfiguration';
+
+  // Modify an existen handler.
+  $handlers['variable'] = '\Drupal\yourmodule\Config\CustomVariableConfiguration';
+}
+
+/**
+ * Allow to execute opterations before import configurations to the Active Store.
+ */
+function hook_configuration_pre_import(ConfigIteratorSettings &$settings) {
+
+}
+
+/**
+ * Allow to execute opterations the settings after configurations were imported
+ * to the Active Store.
+ */
+function hook_configuration_post_import(ConfigIteratorSettings &$settings) {
+
+}
+
+/**
+ * Alter the settings before export configurations to the Data Store.
+ */
+function hook_configuration_pre_export(ConfigIteratorSettings &$settings) {
+
+}
+
+/**
+ * Alter the settings after export configurations to the Data Store.
+ */
+function hook_configuration_post_export(ConfigIteratorSettings &$settings) {
+
+}
+
diff --git a/configuration.module b/configuration.module
index 7d3a3bc..b769c17 100644
--- a/configuration.module
+++ b/configuration.module
@@ -22,7 +22,10 @@ function configuration_stream_wrappers() {
 }
 
 /**
- * Implements hook_configuration_handlers().
+ * Define basic handlers().
+ *
+ * Other modules can modify and alter new this array by implementing
+ * hook_configuration_handlers_alter().
  */
 function configuration_configuration_handlers() {
   $handlers = array(
@@ -42,9 +45,12 @@ function configuration_configuration_handlers() {
     'role_export'  => '\Drupal\configuration\Config\RoleConfiguration',
   );
 
+  drupal_alter('configuration_handlers', $handlers);
+
   return $handlers;
 }
 
+
 /**
  * Backup a configuration into the staging area.
  *
diff --git a/lib/Drupal/configuration/Config/ConfigurationManagement.php b/lib/Drupal/configuration/Config/ConfigurationManagement.php
index de030b5..817249a 100644
--- a/lib/Drupal/configuration/Config/ConfigurationManagement.php
+++ b/lib/Drupal/configuration/Config/ConfigurationManagement.php
@@ -260,6 +260,8 @@ class ConfigurationManagement {
       )
     );
 
+    module_invoke_all('configuration_pre_import', $settings);
+
     foreach ($list as $component) {
       $config = static::createConfigurationInstance($component);
 
@@ -275,6 +277,8 @@ class ConfigurationManagement {
       static::exportToDataStore($list, $import_dependencies, $import_optionals, TRUE);
     }
 
+    module_invoke_all('configuration_post_import', $settings);
+
     return $settings;
   }
 
@@ -354,6 +358,8 @@ class ConfigurationManagement {
       )
     );
 
+    module_invoke_all('configuration_pre_export', $settings);
+
     foreach ($list as $component) {
       $config = static::createConfigurationInstance($component);
 
@@ -368,6 +374,8 @@ class ConfigurationManagement {
       static::updateTrackingFile();
     }
 
+    module_invoke_all('configuration_post_export', $settings);
+
     return $settings;
   }
 
@@ -614,6 +622,8 @@ class ConfigurationManagement {
       )
     );
 
+    module_invoke_all('configuration_pre_export', $settings);
+
     $filename = 'configuration.' . time() . '.tar';
 
     // Clear out output buffer to remove any garbage from tar output.
@@ -636,6 +646,9 @@ class ConfigurationManagement {
     }
 
     $exported = $settings->getInfo('exported');
+
+    module_invoke_all('configuration_post_export', $settings);
+
     $file_content = "<?php\n\n";
     $file_content .= "// This file contains the list of configurations contained in this package.\n\n";
     $file_content .= "\$configurations = array(\n";
