diff --git a/lib/hipchat/chef.rb b/lib/hipchat/chef.rb
index <HASH>..<HASH> 100644
--- a/lib/hipchat/chef.rb
+++ b/lib/hipchat/chef.rb
@@ -15,12 +15,13 @@ require 'hipchat'
 module HipChat
   class NotifyRoom < Chef::Handler
 
-    def initialize(api_token, room_name, options={}, notify_users=false, report_success=false, excluded_envs=[])
+    def initialize(api_token, room_name, options={}, msg_options={}, notify_users=false, report_success=false, excluded_envs=[])
       @api_token = api_token
       @room_name = room_name
       @options = options
-      @notify_users = notify_users
       @report_success = report_success
+      @msg_options = msg_options
+      @msg_options[:notify] = notify_users
       @excluded_envs = excluded_envs
     end
 
@@ -32,13 +33,13 @@ module HipChat
               else nil
               end
 
-        color = if run_status.success? then 'green'
+        @msg_options[:color]= if run_status.success? then 'green'
                 else 'red'
                 end
 
         if msg
           client = HipChat::Client.new(@api_token, @options)
-          client[@room_name].send('Chef', msg, :notify => @notify_users, :color => color)
+          client[@room_name].send('Chef', msg, @msg_options)
         end
       end
     end
Adds more flexibility to chef msg options

Without breaking existing options or cluttering the init method with
options, this adds the ability to specify an arbitrary number of
notification options, such as message_format.