       callback(msg, result)
       return
 
-    getBuildTypes msg, (err, msg, buildTypes) ->
+    getBuildTypes msg, project, (err, msg, buildTypes) ->
       callback msg, execute(buildTypes)
 
   robot.respond /tc build start (.*)/i, (msg) ->
-    buildName = msg.match[1]
-    mapNameToIdForBuildType msg, buildName, (msg, buildType) ->
+    configuration = buildName = msg.match[1]
+    project = null
+    buildTypeRE = /(.*?) of (.*)/i
+
+    buildTypeMatches = buildName.match buildTypeRE
+    if buildTypeMatches?
+      configuration = buildTypeMatches[1]
+      project = buildTypeMatches[2]
+
+    mapNameToIdForBuildType msg, project, configuration, (msg, buildType) ->
       if not buildType
         msg.send "Build type #{buildName} was not found"
         return

         buildTypes = JSON.parse(body).buildType unless err
         callback err, msg, buildTypes

   getBuilds = (msg, id, type, callback) ->
    url = "http://#{hostname}/httpAuth/app/rest/buildTypes/#{type}:#{escape(id)}/builds"
    msg.http(url)
      .headers(getAuthHeader())
      .query(locator: ["lookupLimit:5","running:any"].join(","))

         projects = JSON.parse(body).project unless err
         callback err, msg, projects

  getBuildTypes = (msg, project, callback) ->
    projectSegment = ''
    if project?
      projectSegment = '/projects/name:' + encodeURIComponent project
    url = "http://#{hostname}/httpAuth/app/rest#{projectSegment}/buildTypes"
    console.log url
    msg.http(url)
      .headers(getAuthHeader())
      .get() (err, res, body) ->
