     "HEALTH: #{result}\n"
 
   _getJob: (escape = false) =>
-    job = @msg.match[1].trim()
+    # check if its a job we already stored
+    if (typeof(@msg.match[1]) == "object")
+      return @msg.match[1]
+    # otherwise search for it with what the user gave us
+    jobName = @msg.match[1].trim()
 
     # if the provided name is an alias, provide it's mapped job name
     aliases = @_getSavedAliases()
-    job     = aliases[job] if aliases[job]
-
-    if escape then @_querystring.escape(job) else job
+    jobName     = aliases[jobName] if aliases[jobName]
+
+    jobName = if escape then @_querystring.escape(jobName) else jobName
+	
+    jobs = []
+    # perform lookup
+    for server in @_serverManager.listServers()
+      job = server.getFolder().getJobByName(jobName)
+      if job and job.length > 0
+        jobs = jobs.concat(job)
+    if jobs.length > 1
+      @send "There are multiple jobs with that name, please use an id instead."
+    jobs[0] if jobs.length == 1	
 
   # Switch the index with the job name
   _getJobById: =>

    if (recursive)
      for folder in @_folders
        folder = folder.getFolderByName(folderName)
        return folder if folder.length > 0
    null

  hasFolderByName: (folderName, recursive=true) =>


  _lastBuildStatus: (lastBuild) =>
    job = @_getJob()
    server = @_serverManager.getServerByJobName(job.name)
    path = "#{job.path}/#{lastBuild.number}/api/json"
    @_requestFactorySingle server, null, path, @_handleLastBuildStatus

  _requestFactorySingle: (server, folder, endpoint, callback, method = "get") =>
