Skip to content

Clockodo

1. Get your API key

  1. In Clockodo, click the icon in the top-right corner, then click Personal data.
  2. Scroll down to locate the API key section.
  3. There is a field that contains a bunch of random digits and letters. Click it to select its value.
  4. Copy the API key into the clipboard.
  1. Log in to my.chronolink.app.
  2. In the Linked Accounts section, click the Link Clockodo button.
  3. Enter the email address you use to log in to Clockodo, then paste the created token.

3. Create a synchronization connection

Reading Clockodo time entries

  1. Click the New connection button.
  2. Open the Source selection list, locate the "clockodo: YourCompany, Inc." section and choose the option "Time Entries".
  3. Set Target and other options as usual.
  4. Finally, click the Save button.

Writing Clockodo time entries

  1. Click the New connection button.
  2. Open the Source selection list and select the calendar containing the events for which ChronoLink should create Clockodo time entries.
  3. Open the Target selection list, locate the "clockodo: YourCompany, Inc." section and choose the desired customer or project for the time entries.
  4. Select values for the Service and Billability fields.
  5. Add suitable Conditions if only specific kinds of events in the source calendar should be turned into time entries. See our Conditions reference for details.
  6. Add Transformers to customize the created time entries. Here are some basic examples; please refer to our Transformers reference for more options.
    • The entry text consists of the event title followed by the event description. If the original event descriptions are not suitable for Clockodo time entries, you can remove them with the following transformer configuration.
      [
        {
          "type": "textchange",
          "field": "DESCRIPTION",
          "mode": "CLEAR"
        }
      ]
      
    • If the time entries should be marked as billable by default, but some entries should be non-billable, set the Billability field to "Billable", then use a Transformers configuration similar to the one shown here.
      You can use any condition (or combination of conditions via and) supported by ChronoLink.
      [
        {
          "type": "if",
          "condition": {
            "type": "text",
            "search": "[free]",
            "field": "TITLE"
          },
          "then": {
            "type": "propertyset",
            "key": "clockodo:billable",
            "value": "false"
          }
        }
      ]
      
  7. Finally, click the Save button.

Limitations of Clockodo sinks

While Clockodo time entries are similar to a regular calendar in many ways, there are some important differences that ChronoLink has to take into account.

Billing status

  • Clockodo distinguishes the following Billability values:
    • Non-billable
    • Billable, not yet billed
    • Billable, already billed
  • For safety reasons, a ChronoLink connection adheres to the following rules related to Billability:
    • No time entry will be changed to "Billable, already billed".
    • Time entries that are marked as "Billable, already billed" inside Clockodo will never be updated or deleted. This means that for those entries, synchronization silently stops:
      • Changing or deleting the corresponding event in the source calendar no longer has any effect on the time entry.
      • When the corresponding source event no longer lies inside the synchronization time frame configured for the connection (due to time passing or the connection being changed), the time entry is not deleted.
  • Not updating/deleting such time entries is not considered a connection error; the connection simply continues synchronizing other events.

Old time entries

  • Even if time entries are not marked as billable (or were never billed), changing or deleting old time entries could cause trouble for an organization's processes.
  • Therefore, ChronoLink connections adhere to the following additional rules:
    • Time entries which end more than a month ago at the time of the connection run will not be updated or deleted.
    • Connection runs never create new time entries that would trigger the rule above immediately.
  • Not creating/updating/deleting such time entries is not considered a connection error; the connection simply continues synchronizing other events.

Zero-duration events and all-day events

  • Clockodo does not support time entries with a duration of less than one second or greater than or equal to 24 hours.
  • Source events that match the criteria given above are rejected silently, which means they are treated just like a deleted event, or one that has been filtered out by your conditions configuration:
    • No new time entry is created.
    • If a corresponding time entry was created in an earlier connection run, that entry is now deleted.
  • Having to reject source events this way is not considered a connection error; the connection simply continues synchronizing other events.

Hourly rates

  • For time entries created by ChronoLink, Clockodo applies the default hourly rate resulting from the rules configured by the organization.
  • When you change a ChronoLink connection so that it uses a different project or customer, the hourly rate stored in existing time entries is not updated, potentially causing an unintended mismatch.

    • For such changes, it is therefore recommended to force ChronoLink to recreate all events: adding a { "type": "exclude" } transformer will cause the connection to delete all its time entries, after which you can remove that transformer again so that new ones get created.
    • Alternatively, you can use the bulk change functionality inside Clockodo to delete the affected entries.

    Background

    Unfortunately, Clockodo does not provide any way for ChronoLink to determine the correct hourly rate for a customer or project. Therefore, mismatching hourly rates after changing the configured customer/project can neither be detected nor fixed.