API & Automations

Webhooks reference

February 14, 2026 2 min read

Complete reference for Lattica webhook events. For setup and signature verification, see Zapier and webhooks.

Common payload structure

Every webhook delivery has the same envelope:

{
  "event": "task.created",
  "delivered_at": "2026-04-12T10:14:22Z",
  "workspace_id": "ws_8FjK4q",
  "actor": {
    "type": "user",
    "id": "usr_a91kp2",
    "name": "Priya Shah"
  },
  "data": { ... event-specific payload ... }
}

Headers

Header Description
X-Lattica-Event Event name, e.g. task.created
X-Lattica-Signature HMAC-SHA256 of body, prefixed sha256=
X-Lattica-Delivery-Id Unique ID per delivery — log it, dedupe with it
X-Lattica-Workspace Workspace ID
X-Lattica-Webhook-Id The configured webhook endpoint’s ID

Task events

  • task.created — new task
  • task.updated — any field changed; payload includes changes object
  • task.deleted — soft-deleted (still recoverable for 30 days)
  • task.completed — moved into a status configured as terminal
  • task.reopened — moved back out of a terminal status
  • task.assigned — assignee set or changed
  • task.unassigned — assignee cleared
  • task.due_soon — fires 24h before due date
  • task.overdue — fires once when due date passes

Project events

  • project.created
  • project.updated
  • project.archived
  • project.member_added
  • project.member_removed

Comment events

  • comment.created
  • comment.updated
  • comment.deleted

Workspace events

  • member.invited
  • member.joined
  • member.removed
  • member.role_changed
  • billing.plan_changed
  • billing.payment_failed

Sample: task.updated

{
  "event": "task.updated",
  "delivered_at": "2026-04-12T10:14:22Z",
  "workspace_id": "ws_8FjK4q",
  "actor": { "type": "user", "id": "usr_a91kp2", "name": "Priya Shah" },
  "data": {
    "task": {
      "id": "task_d3Bk2e",
      "title": "Customer onboarding call — Acme",
      "status": "in_progress",
      "assignee_id": "usr_a91kp2",
      "due_date": "2026-04-15"
    },
    "changes": {
      "status": { "from": "todo", "to": "in_progress" }
    }
  }
}

Idempotency

Webhook deliveries are at-least-once. Use X-Lattica-Delivery-Id to dedupe on your side — store the ID after successful processing and reject duplicates.