Klokwork Team Connector

Synchronize the client, project and tasks across your entire organization. Allow users to submit timesheet data to a centralized location. This connector is free when you buy a Klok license. Download now!

Download Now

  • Download v1.1.8
  • Requires Klok 2.3.7 or higher
  • Note: Do not unzip the file. You will install it as a complete package.

Related Products

Synchronize Projects

Using the Klokwork Team Connector gives Klok the ability to synchronize the project tree with a file located on your network or a URL which should return the appropriate XML data. The format of the XML should be as shown below.

When configured to use a URL instead of a file, the request for projects is made as a GET request to the configured URL. The username and password are passed as a Base64 encoded string in the Authorization header. This allows you to return unique projects to each individual user if so desired.

Sample XML

<klok>
  <projects>
    <project name="Sample Client" color="10092288" billable="false" estimate="0" rate="-1" tags="" description="" code="123" remoteId="1" contactName="" contactEmail="" contactPhone="">
      <project name="Print Ad/Poster" color="10092288" billable="true" estimate="0" rate="-1" tags="" description="" code="123.1" remoteId="2" contactName="" contactEmail="" contactPhone="">
        <project name="Copywriting" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="123.1.1" remoteId="3" contactName="" contactEmail="" contactPhone=""/>
        <project name="Design" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="123.1.2" remoteId="4" contactName="" contactEmail="" contactPhone=""/>
        <project name="Project Management" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="123.1.3" remoteId="5" contactName="" contactEmail="" contactPhone=""/>
      </project>
    </project>
    <project name="Sample Client 2" color="10092288" billable="false" estimate="0" rate="-1" tags="" description="" code="456" remoteId="6" contactName="" contactEmail="" contactPhone="">
      <project name="Website Site" color="10092288" billable="true" estimate="0" rate="-1" tags="" description="" code="456.1" remoteId="7" contactName="" contactEmail="" contactPhone="">
        <project name="Copywriting" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="456.1.1" remoteId="8" contactName="" contactEmail="" contactPhone=""/>
        <project name="Design" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="456.1.2" remoteId="9" contactName="" contactEmail="" contactPhone=""/>
        <project name="Project Management" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="456.1.3" remoteId="10" contactName="" contactEmail="" contactPhone=""/>
      </project>
    </project>
    <project name="Sample Client 3" color="10092288" billable="false" estimate="0" rate="-1" tags="" description="" code="789" remoteId="11" contactName="" contactEmail="" contactPhone="">
      <project name="Project 1" color="10092288" billable="true" estimate="0" rate="-1" tags="" description="" code="789.1" remoteId="12" contactName="" contactEmail="" contactPhone="">
        <project name="Admin" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.1.1" remoteId="13" contactName="" contactEmail="" contactPhone=""/>
        <project name="Business Development" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.1.2" remoteId="14" contactName="" contactEmail="" contactPhone=""/>
        <project name="Project Management" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.1.3" remoteId="15" contactName="" contactEmail="" contactPhone=""/>
        <project name="R &amp; D" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.1.4" remoteId="16" contactName="" contactEmail="" contactPhone=""/>
        <project name="Vacation" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.1.5" remoteId="17" contactName="" contactEmail="" contactPhone=""/>
      </project>
      <project name="Product 1" color="10092288" billable="true" estimate="0" rate="-1" tags="" description="This is a test project" code="789.2" remoteId="18" contactName="" contactEmail="" contactPhone="">
        <project name="Sprint Planning" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.2.1" remoteId="19" contactName="" contactEmail="" contactPhone=""/>
        <project name="Project Management" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.2.2" remoteId="20" contactName="" contactEmail="" contactPhone=""/>
        <project name="UI Design" color="10092288" billable="false" estimate="0" rate="0" tags="" description="" code="789.2.3" remoteId="21" contactName="" contactEmail="" contactPhone=""/>
      </project>
    </project>
  </projects>
</klok>

If you are implementing your own back end, you will need to return the correct type of response from your server. For any request, your should return with an HTTP 200 but the body of the response would differ depending on if the request was successful or not

Sample Success Response

<klok>
	<result>
    	<success>true</success>
    </result>
</klok>

There may be times when you need to return an error response. In this case, you can use the format below.

Sample Error Response

<klok>
    <result>
        <error code="403">
            <message title="Authentication Error">Your username or password was incorrect</message>
            <details>Authentication Error</details>
        </error>
    </result>
</klok>

Latest Release Notes (Full List)