diff --git a/rules/modules/comment.rules.inc b/rules/modules/comment.rules.inc
index 3886fd9..177ba66 100644
--- a/rules/modules/comment.rules.inc
+++ b/rules/modules/comment.rules.inc
@@ -128,6 +128,22 @@
       ),
       'module' => 'Comment',
     ),
+    'rules_action_add_comment' => array(
+        'label' => t('Add new comment'),
+        'arguments' => array(
+            'node' => array('type' => 'node', 'label' => t('Content')),
+            'comment_author' => array('type' => 'user', 'label' => t('User, who is set as comment author')),
+        ),
+        'new variables' => array(
+            'comment_added' => array(
+                'type' => 'comment',
+                'label' => t('Added comment'),
+                'save' => TRUE,
+            ),
+        ),
+        'module' => 'Comment',
+        'eval input' => array('subject','comment_body'),
+    ),
   );
 }
 
@@ -138,6 +154,24 @@
   return array('comment_loaded' => _comment_load($cid));
 }
 
+/**
+ * Action: Add comment to node.
+ */
+function rules_action_add_comment($node, $user, $settings) {
+  $comment = array();
+  $comment['pid'] = 0;
+  $comment['cid'] = NULL;
+  $comment['nid'] = $node->nid;
+  $comment['uid'] = $user->uid;
+  $comment['name'] = $user->name;
+
+  $comment['subject'] = $settings['subject'];
+  $comment['comment'] = $settings['comment_body'];
+  $comment['format'] = $settings['comment_body_format'];
+
+  return array('comment_added' => $comment);
+}
+
 /**
  * Implementation of hook_rules_data_type_info()
  */
@@ -146,7 +180,7 @@
     'comment' => array(
       'label' => t('comment'),
       'class' => 'rules_data_type_comment',
-      'savable' => FALSE,
+      'savable' => TRUE,
       'identifiable' => TRUE,
       'module' => 'Comment',
     ),
@@ -161,6 +195,12 @@
     return _comment_load($cid);
   }
 
+  function save() {
+    $comment = &$this->get();
+    comment_save($comment);
+    return TRUE;
+  }
+  
   function get_identifier() {
     $comment = $this->get();
     return $comment->cid;
diff --git a/rules/modules/comment.rules_forms.inc b/rules/modules/comment.rules_forms.inc
index 39bca04..d2330b3 100644
--- a/rules/modules/comment.rules_forms.inc
+++ b/rules/modules/comment.rules_forms.inc
@@ -16,6 +16,27 @@
   return t('Comment with id @id', array('@id' => $settings['cid']));
 }
 
+/**
+ * Action "Add new comment" form.
+ */
+function rules_action_add_comment_form($settings, &$form) {
+  $settings += array('subject' => '', 'comment_body' => '');
+  $form['settings']['subject'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Subject'),
+      '#maxlength' => 60,
+      '#default_value' => $settings['subject'],
+      '#weight' => -1,
+      '#description' => t('Comment subject'),
+  );
+  $form['settings']['comment_body'] = array(
+      '#type' => 'textarea',
+      '#title' => t('Comment text'),
+      '#default_value' => $settings['comment_body'],
+      '#description' => t('Text of the comment'),
+  );
+}
+
 /**
  * @}
  */
\ No newline at end of file