diff --git a/voipwebform.info b/voipwebform.info
index 07add79..0fd7ef5 100644
--- a/voipwebform.info
+++ b/voipwebform.info
@@ -1,4 +1,7 @@
 core = 6.x
 name = VOIP Webform
 description = Allows a user to complete a Webform using the voice dialing capabilities of VoipDrupal.
+package = VoIP Drupal
 dependencies[] = webform
+dependencies[] = voip
+dependencies[] = voipcall
\ No newline at end of file
diff --git a/voipwebform.install b/voipwebform.install
index 812b636..09b27f8 100644
--- a/voipwebform.install
+++ b/voipwebform.install
@@ -32,13 +32,35 @@ function voipwebform_schema() {
     'unique keys' => array('uk' => array('cid', 'wcid')),
   );
 
+  $schema['voipwebform_node'] = array(
+    'description' => 'VoIP Webform Node Data',
+    'fields' => array(
+      'vid' => array(
+        'description' => 'Webform node VID',
+        'type' => 'int',
+      ),
+      'nid' => array(
+        'description' => 'Webform node ID',
+        'type' => 'int',
+      ),
+      'voipwebform' => array(
+        'description' => 'VoIP enabled webform',
+        'type' => 'int',
+      ),
+    ),
+    'primary key' => array('vid'),
+    'unique keys' => array('uk' => array('vid')),
+  );
+
   return $schema;
 }
 
 function voipwebform_install() {
   drupal_install_schema('voipwebform');
+  drupal_install_schema('voipwebform_node');
 }
 
 function voipwebform_uninstall() {
   drupal_uninstall_schema('voipwebform');
+  drupal_install_schema('voipwebform_node');
 }
\ No newline at end of file
diff --git a/voipwebform.module b/voipwebform.module
index 2ac07a8..e69b62a 100644
--- a/voipwebform.module
+++ b/voipwebform.module
@@ -397,4 +397,50 @@ function voipwebform_input_handler($script, $prompt, $type, $element) {
 
 function voipwebform_guess_prefix($phone_number) {
 
+}
+
+function voipwebform_form_alter(&$form, &$form_state, $form_id) {
+  if (is_array($form['#node']->webform) && $form_id == $form['type']['#value'] .'_node_form') {
+    // Add option on node form to differentiate between VoIP webform and standard webform.
+    $form['voipwebform'] = array(
+      '#type' => 'checkbox',
+      '#title' => 'VoIP Webform',
+      '#description' => 'Check this box if this is a VoIP webform. Doing so will limit the components to the available VoIP options.',
+      '#weight' => -4,
+      '#default_value' => $form['#node']->voipwebform,
+    );
+  }
+  if ($form_id == 'webform_components_form') {
+    // Limit available webform components if this webform is a VoIP webform
+    if ($form['#node']->voipwebform) {
+      $form['add']['type']['#options'] = array(
+        'textfield' => 'Textfield (as digits)',
+        'select' => 'Select options',
+        'file' => 'Record voice message',
+      );
+    }
+  }
+}
+
+function voipwebform_nodeapi(&$node, $op) {
+  $webform_types = webform_variable_get('webform_node_types');
+  if (in_array($node->type, $webform_types)) {
+    switch ($op) {
+      case 'insert':
+        db_query("INSERT INTO {voipwebform_node} (vid, nid, voipwebform) VALUES (%d, %d, %d)", $node->vid, $node->nid, $node->voipwebform);
+        break;
+      case 'update':
+        db_query("UPDATE {voipwebform_node} SET voipwebform = %d WHERE vid = %d", $node->voipwebform, $node->vid);
+        break;
+      case 'delete revision':
+        db_query("DELETE FROM {voipwebform_node} WHERE vid = %d", $node->vid);
+        break;
+      case 'delete':
+        db_query("DELETE FROM {voipwebform_node} WHERE nid = %d", $node->nid);
+        break;
+      case 'load':
+        $node->voipwebform = db_result(db_query("SELECT voipwebform FROM {voipwebform_node} WHERE vid = %d", $node->vid));
+        break;
+    }
+  }
 }
\ No newline at end of file
