> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tela.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payload Reference

> Complete webhook payload structure and delivery guarantees

## Webhook Payload Structure

Each webhook delivers a **complete and structured payload** with all relevant task information, eliminating the need for additional API calls.

### Complete Payload Example

```json theme={null}
{
  "id": "unique-webhook-id",
  "event": "task.completed",
  "timestamp": "2025-10-16T12:00:00Z",
  "task": {
    "id": "task-uuid",
    "title": "Contract Analysis",
    "description": "Review of contractual clauses",
    "status": "completed",
    "reference": 1234,
    // ... complete task metadata
  },
  "inputContent": {
    "files": [
      {
        "filename": "contract.pdf",
        "content": "processed and extracted content",
        "type": "application/pdf"
      }
    ]
  },
  "outputContent": "Complete analysis with all identified clauses..."
}
```

### Field Reference

<ParamField path="id" type="string" required>
  Unique notification identifier (useful for deduplication)
</ParamField>

<ParamField path="event" type="string" required>
  Which event triggered this webhook. Possible values:

  * `task.completed` - Task completed and ready for review
  * `task.approved` - Task approved
</ParamField>

<ParamField path="timestamp" type="string" required>
  Exact moment when the event occurred (ISO 8601 format)
</ParamField>

<ParamField path="task" type="object" required>
  Complete task data including:

  * `id` (string) - Unique task identifier
  * `title` (string) - Task title
  * `description` (string) - Task description
  * `status` (string) - Current task status
  * `reference` (number) - Readable task reference number
  * Additional metadata
</ParamField>

<ParamField path="inputContent" type="object">
  All input content that was processed:

  * `files` (array) - Array of processed files with:
    * `filename` (string) - Original file name
    * `content` (string) - Processed and extracted content
    * `type` (string) - File MIME type
  * Additional input data
</ParamField>

<ParamField path="outputContent" type="string">
  The complete result generated by the task
</ParamField>

## Next Steps

<CardGroup cols={3}>
  <Card title="Overview" icon="webhook" href="/en/workstation/events/overview">
    Learn about Events and webhooks
  </Card>

  <Card title="Configuration" icon="gear" href="/en/workstation/events/configuration">
    Configure webhooks in your app
  </Card>

  <Card title="Authentication" icon="key" href="/en/workstation/events/authentication">
    Secure your webhook integrations
  </Card>
</CardGroup>
