How to use webhooks
A webhook is an automatic notice: when something happens in Rabbiit, the system sends the event to a URL you registered. The other system (ERP, automation, data warehouse) reacts at once — without asking every few minutes whether any hour changed.
In Rabbiit the administrator registers the URL, chooses the event types, and follows each delivery attempt. Only whoever administers the account creates and manages webhooks.
💡 Plan: near-real-time webhooks are part of Ultimate. There is a limit of active webhooks; inactive ones do not take a slot.
Who it is for
Administrator — creates the subscription, chooses the events, activates or deactivates, and opens the history when the other end does not receive.
Operations / integration — sets the destination URL and uses the delivery detail (payload, HTTP response, error) to close the diagnosis.
Manager and team member — usually do not enter this screen. The effect is indirect: the system the team already uses updates on its own.
Where to find it
Integrations, webhooks and API screen
Settings > Integrations
On the same API page there are two webhook tabs:
- Webhooks — registration, events, and active limit
- Event deliveries — history of each send
Only administrators operate these tabs.
How it works in Rabbiit
- Open Settings > Integrations and the Webhooks tab.
- Click New webhook. Enter a name the team will still recognize months from now (“Client X ERP”, “Billing automation”).
- Enter the destination URL — the HTTPS address that will receive the POST.
- Select the event types. Choose only what that integration needs; too many events become noise and cost.
- Optional: enter a token (secret) or leave it blank for Rabbiit to generate one. Use that value to validate the
X-Signatureheader on deliveries. The secret appears at creation; later, if you need to change it, use Generate new secret (the previous one stops working at once). - Save. Rabbiit fires a POST to the URL whenever one of the chosen events happens on the account.
Each webhook can be activated or deactivated. Deactivating does not delete the registration and does not count toward the active limit. You can edit events and URL, or delete when the integration ends.
Use a webhook when the other system needs to react (create an invoice, update a spreadsheet, trigger a flow). To pull data on demand, use the API and access tokens.
Available events
When you register the webhook you choose one or more types. The code (project.created, time_entry.updated, and so on) is what arrives in the payload and what appears in the history.
Project
project.created— project createdproject.updated— project updatedproject.deleted— project deleted
Client
customer.created— client createdcustomer.updated— client updatedcustomer.deleted— client deleted
Rate
rate.created— rate createdrate.updated— rate updatedrate.deleted— rate deleted
User
user.created— user createduser.updated— user updateduser.deleted— user deleted
Task
task.created— task createdtask.updated— task updatedtask.deleted— task deleted
Team
team.created— team createdteam.updated— team updatedteam.deleted— team deleted
Team member
team_user.created— user added to a teamteam_user.deleted— user removed from a team
Project member
project_user.created— user added to a projectproject_user.updated— the user’s assignment on the project changedproject_user.deleted— user removed from a project
Project task
project_task.created— task linked to the projectproject_task.updated— the task link on the project changedproject_task.deleted— task unlinked from the project
Time entry
time_entry.created— time entry createdtime_entry.updated— time entry updatedtime_entry.deleted— time entry deletedtime_entry.timer_started— timer startedtime_entry.timer_stopped— timer stopped
To-do list
todo_list.created— list createdtodo_list.updated— list updatedtodo_list.deleted— list deletedtodo_list.restored— list restored
To-do
todo.created— to-do createdtodo.updated— to-do updatedtodo.deleted— to-do deletedtodo.restored— to-do restored
Hour approval
timesheet_approval.created— hour approval created (week submission)timesheet_approval.update— hour approval updated (approval, rejection, or another status change)
Follow the deliveries
On the Event deliveries tab the administrator sees each send attempt:
- Event — the type that fired
- Status — Pending, Delivered, Failed, or Retrying
- HTTP — destination response code
- Attempts and next attempt — when Rabbiit tries again after a failure
- Created at — dispatch date
Filters by status and by event type help find the failure. View details opens the payload sent, the response body, and the error message — without having to guess whether the URL went down, authentication refused, or there was a timeout.
If the account does not integrate with anything, ignore these tabs. Submitting and approving the week and reports cover day-to-day work without a webhook.