Toggle Sidebar


This section describes how to use webhooks. Webhooks allow you to send data into TrackingTime (Incoming Webhooks) or to get data out of it in real-time (Outgoing Webhooks).

You can use webhooks to build your own custom integrations. Also, we offer some cool integrations with popular online services like Slack, HipChat and GitHub out-of-the-box. For instance, you can create an incoming webhook that automatically starts tracking a task when you type a message like "/track [someTask] in [someProject]" in a Slack channel or a HipChat room.

Outgoing webhooks are triggered when certain events in your TrackingTime account occurs, e.g. when a new task is assigned to someone or when somebody starts tracking a task, etc.

Check out all supported Incoming and Outgoing Events to discover all the cool integrations you can build with our API.

Webhooks can be configured for the whole account or for a single user. You can manage your account and user webhooks in our web apps as well as via the API, using the endpoints described in this section.

Available Endpoints


Type Parameter Description Required
Integer id Read only
String event_name A unique identifier of the webhook event, e.g. 'task.add'. Check out all available Incoming and Outgoing Events YES
String description A short text that describes how a particular webhook works. NO
String token A randomly generated security token for verifying that the webhook is valid. Read only
String callback_url The callback URL is where TrackingTime will post your webhook events. This is the script or location where you'll handle the data received from TrackingTime. This parameter is only required for outgoing webhooks. NO
String status [ACTIVE | ENABLED | DISABLED]. Active means the webhook is currently in a process queue. Default: ENABLED NO
Boolean is_incoming Specifies whether this is an incoming webhook or not. Default: false YES
String service The online service where the webhook request is originated. See supported Online services and Integrations. Default: 'TrackingTime' YES

JSON Object

    "token": "CP691ADLPN0VQFDFVO9Q3LHDNU",
    "event_name": "task.tracking.started",
    "description": "Outgoing request triggered when a user starts tracking a task",
    "callback_url": "",
    "error_count": 0,
    "status": "ENABLED",
    "payload": "{\"text\":\"[TEXT]\"}",
    "is_incoming": false,
    "service": null,
    "id": 1


List Webhooks

Lists all account webhooks.


Type Parameter Description Required
String filter [ALL | ENABLED | DISABLED | ACTIVE]. Default: ALL NO

Add Webhook

Adds a new webhook in the current account.


Get Webhook

Retrieves a single webhook with the given id.


Update Webhook

Updates the webhook with the given id.


Delete Webhook

Deletes the webhook with the given id. Warning: The data will be lost forever. This action cannot be undone.


Enable / Disable Webhook

Changes the webhook status. If webhooks are disabled they won't be processed. You can re-enable disabled webhooks anytime.

Endpoint to enable the webhook with the given id to disbale the webhook with the given id

Reset Webhook Token

Generates a new security token for this webhook. If you think your token could have been compromised you can issue a new one with this endpoint.