TrackingTime API

Webhooks

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.

Parameters

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": "https://hooks.slack.com/services/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",
    "error_count": 0,
    "status": "ENABLED",
    "payload": "{\"text\":\"[TEXT]\"}",
    "is_incoming": false,
    "service": null,
    "id": 1
 }

Available Endpoints

These are the endpoints available to manage your account webhooks.

Add Webhook

Adds a new webhook in the current account.

Action URL

webhooks/add

Get Webhook

Retrieves a single webhook with the given id.

Action URL

webhooks/:id

List Webhooks

Lists all account webhooks.

Action URL

/webhooks

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

Update Webhook

Updates the webhook with the given id.

Action URL

webhooks/update/:id

Delete Webhook

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

Action URL

webhooks/delete/:id

Enable / Disable Webhook

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

Action URL

webhooks/enable/:id to enable the webhook with the given id

webhooks/disable/: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.

Action URL

webhooks/reset_token/:id