       msg.reply "Unable to remove Job ##{id}"
     msg.finish()
 
-  robot.respond /aws untagged(?: at ([^]+))?/, (msg) ->
-    [ __, cron ] = msg.match
+  robot.respond /aws untagged(?: running for ([^\s]+))?(?: at ([^]+))?/, (msg) ->
+    [ __, duration, cron ] = msg.match
     if cron?
-      job = setupJob 'reportUntagged', [ msg.message.room ], cron
+      job = setupJob 'reportUntagged', [ msg.message.room, duration ], cron
       msg.reply "Job ##{getJobs().length - 1} has been scheduled to run `#{job.func}` with `#{job.args}` at cron `#{job.time}`"
     else
-      reportUntagged msg.message.room, yes
+      reportUntagged msg.message.room, duration, yes
     msg.finish()
 
   robot.respond /aws query ([^\s]+)(?: running for ([^\s]+))?(?: at ([^]+))?/, (msg) ->

          missing and instance.State.Name is 'running'
        instances.length > 0

      if untagged.length > 0
        message = "The following instances are missing at least one the following tags (#{requiredTags}) in AWS:"
        reportInstancesWithMessage untagged, message, room
      else
        message = "There are no untagged instances in AWS, go team!"
        if reportZero
          robot.messageRoom room, message
        else


        robot.messageRoom room, message

  reportUntagged = (room, duration, reportZero) ->
    reportZero = no if not reportZero?
    duration = moment.duration duration if duration?

    fetchInstances (data) ->
      if not data
