Send workspace events to your own systems over HTTPS. Every delivery is signed
with a per-endpoint secret you can verify from the X-TimeTracker-Signature
header.
The concept and the receiving side live on
/integrations/webhooks. This page documents the screen.
Before you start
webhook.manage is held by Owner and Admin only. It is deliberately kept
away from Project Manager, Finance, Member and Contractor, because an endpoint
can carry every workspace event out to an external address. It can be granted to
a custom role. See /settings/roles.
Without the capability, the Webhooks nav item does not appear. If you reach
the URL anyway, the page shows a no-access panel.
What is on the page
- A page action in the top right: Add endpoint.
- One card per endpoint, below it.
Empty state
With no endpoints, you get:No webhook endpoints yet Send workspace events to your own systems. Add an HTTPS endpoint and choose which events to receive.An Add endpoint button sits under it.
The endpoint card
Each endpoint is its own card. The card’s title is the endpoint URL – hover it to read the full address.
The status badge is derived, not something you set:
The three-dot menu
Add an endpoint
1
Open the dialog
Click Add endpoint. The dialog is titled Add endpoint and says
“Choose which events this endpoint receives. Leave the filter empty to
receive every event.”
2
Enter the URL
Type the address in Endpoint URL. It is required. The placeholder shows
the shape:
https://api.example.com/webhooks/timetracker.3
Choose the events
Use Event filters to pick the categories this endpoint should receive.
Leaving it empty means every event. The hint under the field says so:
“No selection means this endpoint receives every event.”
4
Save
Click Add endpoint. The dialog closes and the signing secret dialog opens
immediately.
5
Copy the secret
Copy the secret before you close that dialog. It is never shown again.
The event catalogue
Event filters is a multi-select of ten categories. An endpoint with no filter receives everything.
Each category holds several individual event keys. The full list of keys and the
shape of the body is on
/reference/webhook-events.
The signing secret
Every endpoint has its own secret. It is shown exactly once and there is no screen anywhere that shows it again.Right after you add an endpoint
The dialog is titled Copy your signing secret:This secret is shown once. Store it now – you won’t be able to see it again. Use it to verify the X-TimeTracker-Signature header.It holds a read-only field with the secret, a Copy button that turns into Copied, and a Done button. Copying raises a “Copied to clipboard.” toast.
Rotating the secret
1
Open the menu
On the endpoint card, open the three-dot menu and choose Rotate secret.
2
Confirm
A confirmation asks “Rotate signing secret?” and explains: “Rotating
invalidates the current secret immediately. In-flight deliveries keep their
existing signature; new deliveries use the new secret.” Click Rotate
secret.
3
Copy the new secret
A dialog titled New signing secret appears: “The previous secret is now
invalid. Update your receiver with this value. It won’t be shown again.”
Copy it, then click Done.
Turning an endpoint on and off
The Active switch lives in the edit dialog. Its hint reads: “When off, no events are delivered to this endpoint.” Switching it off is not the same as deleting. The endpoint, its filters and its delivery history all stay.Edit an endpoint
1
Open the dialog
Three-dot menu, then Edit. The dialog is titled Edit endpoint.
2
Change what you need
You can change the Endpoint URL, the Event filters and the Active
switch. The signing secret is not touched here – rotating is a separate
action.
3
Save
Click Save changes. A toast confirms “Endpoint updated.”
Send a test event
Open the three-dot menu and choose Send test event. The item shows a spinner while it sends, and every other action stays usable.
A test delivery appears in the delivery log with the event
webhook.test. It
never creates or changes any real workspace data, so you can verify your
receiver’s signature check and reachability without waiting for a real event.
The delivery log
Each endpoint card has a Delivery log expander. Open it to see recent attempts. While it loads you get placeholder rows. With no history it reads “No deliveries yet.”
Delivery states:
The log shows the most recent 100 attempts, newest first.
Redelivering
Click Redeliver on any row to send that event again.
A redelivery creates a new attempt row. The original attempt is never
changed, so the log stays a faithful history. The redelivery uses whatever secret
is current, so it works after a rotation.
Retries and automatic disabling
A rejected or unsafe URL is never retried.
When an endpoint is auto-disabled
The card shows a red alert above everything else:Endpoint disabled after repeated failures We stopped sending after N consecutive failures. Fix your receiver, then re-enable this endpoint.A Re-enable button sits beside it.
1
Fix your receiver first
Re-enabling with a broken receiver only starts the failure count again.
2
Click Re-enable
A confirmation asks “Re-enable this endpoint?” and warns: “Deliveries resume
immediately and the failure count resets. Make sure your receiver is fixed
first.”
3
Confirm
Click Re-enable. A toast confirms “Endpoint re-enabled.”
Delete an endpoint
1
Open the menu
Three-dot menu, then Delete.
2
Read the warning
The modal asks “Delete this endpoint?” and states: “This permanently deletes
the endpoint and its delivery history. This cannot be undone.”
3
Type the URL
You must type the endpoint URL into the field labelled “Type the endpoint URL
to confirm”. The button stays disabled until it matches.
4
Confirm
Click Delete endpoint. A toast confirms “Endpoint deleted.”
Error states
Example
Tom Whitfield (Admin) at Northwind Studio wants their internal ops dashboard to hear about approvals and money.- He clicks Add endpoint and enters
https://hooks.northwind.example/timetracker. - In Event filters he picks Timesheets and Invoices.
- He clicks Add endpoint, copies the signing secret, and pastes it into the dashboard’s configuration.
- He opens the three-dot menu and chooses Send test event, then expands
Delivery log and sees one row: event
webhook.test, status Delivered · 200, attempt 1.
webhook.manage is
Owner and Admin only.
App off vs not on your plan
Switching the app off does not lose events. A queued delivery waits for the
switch rather than failing, and no retry is consumed while it waits.
Common questions
Can I see a secret again after I close the dialog?
Can I see a secret again after I close the dialog?
No. There is no screen that shows an existing secret. If you lost it, use
Rotate secret and update your receiver with the new value.
How quickly does an event arrive?
How quickly does an event arrive?
An event reaches a matching endpoint within about a minute of it happening.
Can I use an http:// address or a local one?
Can I use an http:// address or a local one?
No. Endpoints must be public HTTPS addresses. The address is checked when you
save it and again at the moment of every delivery, so an address that later
points somewhere private is rejected then too.
What happens to queued retries when I rotate the secret?
What happens to queued retries when I rotate the secret?
A delivery already in flight keeps the signature it was created with. New
deliveries use the new secret. A manual Redeliver uses the current one.
Why does my endpoint say Failing when deliveries look fine?
Why does my endpoint say Failing when deliveries look fine?
Failing means at least one consecutive failure has been recorded since
the last success. Open the Delivery log and look for the most recent
Failed row and its response code.
Related guides
Webhooks
How to receive and verify a delivery.
Webhook events
Every event key and what it carries.
Apps
Switching Webhooks & API on or off.
Roles and capabilities
Why
webhook.manage is Owner and Admin only.Free vs Pro
What the Integrations feature includes.
All settings
Every settings page and who can open it.