diff --git a/exportable_scheduler.admin.inc b/exportable_scheduler.admin.inc
new file mode 100644
index 0000000..fb928e9
--- /dev/null
+++ b/exportable_scheduler.admin.inc
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Settings form.
+ */
+function exportable_scheduler_admin_form($form, &$form_state) {
+  ctools_include('export');
+
+  $schemas = ctools_export_get_schemas();
+  $options = array();
+  foreach ($schemas as $key => $val) {
+    $options[$key] = $val['name'];
+  }
+
+  $form['exportable_scheduler_schemas'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Exportables'),
+    '#description' => t('Select which exportables can be scheduled.'),
+    '#options' => $options,
+    '#default_value' => variable_get('exportable_scheduler_schemas', array()),
+  );
+
+  return system_settings_form($form);
+}
diff --git a/exportable_scheduler.module b/exportable_scheduler.module
index fe0d973..cf3a693 100644
--- a/exportable_scheduler.module
+++ b/exportable_scheduler.module
@@ -16,6 +16,21 @@ function exportable_scheduler_help($path, $arg) {
 }
 
 /**
+ * Implements hook_menu().
+ */
+function exportable_scheduler_menu() {
+  $items['admin/config/scheduling'] = array(
+    'title' => 'Scheduling',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('exportable_scheduler_admin_form'),
+    'access arguments' => array('schedule exportables'),
+    'file' => 'exportable_scheduler.admin.inc',
+  );
+
+  return $items;
+}
+
+/**
  * Implementation of hook_permission().
  */
 function exportable_scheduler_permission() {
@@ -66,7 +81,8 @@ function exportable_scheduler_cron() {
  * Form alter for the ctools_export_ui_edit_item_form.
  */
 function exportable_scheduler_form_ctools_export_ui_edit_item_form_alter(&$form, &$form_state) {
-  if (!user_access('schedule exportables')) {
+  $schemas = variable_get('exportable_scheduler_schemas', array());
+  if (!user_access('schedule exportables') || !in_array($form_state['plugin']['schema'], $schemas, TRUE)) {
     return;
   }
 
