| Action | Description |
|---|---|
task.created | Triggered when a task is created. |
task.status.updated | Triggered when the task status is updated. |
task.start_date.updated | Triggered when the task start date is updated. |
task.end_date.updated | Triggered when the task end date is updated. |
task.tags.updated | Triggered when task tags are added, removed, or updated. |
task.category.updated | Triggered when the task category is updated. |
task.requires_approval.updated | Triggered when the task requires-approval flag is updated. |
task.approved | Triggered when the task approved. |
task.checklist.updated | Triggered when the task checklist or its attachments are created or updated. |
task.comment | Triggered when a comment (with or without attachments) is created |
client.created | Triggered when a client is created. |
equipment.created | Triggered when equipment is created. |
venue.created | Triggered when a venue is created. |
task_category.created | Triggered when a task category is created. |
user.created | Triggered when a user is created. |
tag.created | Triggered when a tag is created. |
checklist_template.created | Triggered when a checklist template is created. |
worklog.created | Triggered when a worklog is created. |
worklog.updated | Triggered when a worklog is updated. |
worklog.deleted | Triggered when a worklog is deleted. |
task_material.created | Triggered when task material is created. |
task_material.updated | Triggered when task material is updated. |
task_material.deleted | Triggered when task material is deleted. |
POST /webhooks{
"name": "task-and-worklog-events",
"url": "https://client-domain.com/webhooks/einpix",
"actions": [
"task.created",
"task.updated",
"worklog.created"
],
}name must be unique per clienturl must be a public HTTPS endpoint and should allow POST dataactions must contain at least one valid action{
"id": 12,
"name": "task-and-worklog-events",
"url": "https://client-domain.com/webhooks/einpix",
"actions": [
"task.created",
"task.updated",
"worklog.created"
],
"status": "active",
"created": "2026-01-28T10:30:00Z"
}PUT /webhooks/{webhookId}{
"name": "task-events-only",
"actions": [
"task.created",
"task.updated",
"task.deleted"
]
}{
"id": 12,
"status": "updated"
}DELETE /webhooks/{webhookId}{
"status": "deleted"
}{
"entity": "task | worklog | category",
"id": 1
}| Field | Type | Description |
|---|---|---|
entity | string | Entity affected by the action. |
id | integer | Unique identifier of the affected entity. |
ℹ️ The action type is inferred from the webhook subscription and optional headers.Content-Type: application/json
einpix-webhook-action: task.updated
einpix-webhook-name: task-and-worklog-events
einpix-webhook-signature: sha256=abc123...| Header | Description |
|---|---|
einpix-webhook-action | Action that triggered the webhook. |
einpix-webhook-name | Name of the webhook. |
einpix-webhook-signature | HMAC signature used to verify the authenticity of the webhook request (Using api secret key). |
POST /webhooks/einpix
{
"action": "task.status.changed",
"id": 101
}POST /webhooks/einpix
{
"entity": "worklog.created",
"id": 55
}POST /webhooks/einpix
{
"entity": "task.checklist.changed",
"id": 55,
"task_id": 1
}POST /webhooks/einpix
{
"entity": "task.comment.added",
"id": 55,
"task_id": 1
}HTTP/1.1 200 OK