---
canonical_url: "https://docs.composio.dev/reference/api-reference/webhook-events/composio_trigger_message_v1"
markdown_url: "https://docs.composio.dev/reference/api-reference/webhook-events/composio_trigger_message_v1.md"
product: "platform"
version: "3.1"
last_updated: null
---

# Trigger message (V1)

**Documentation:** /reference/api-reference/webhook-events/composio_trigger_message_v1

> **API version:** This page documents Composio REST API v3.1, the current version, at `https://backend.composio.dev/api/v3.1`. `https://backend.composio.dev/api/v3` is the previous version and remains supported.

The V1 trigger payload format. New integrations should use V3.

---

## POST `composio.trigger.message.v1`

**Event type:** `composio.trigger.message.v1`

**Summary:** Trigger message (V1)

The V1 trigger payload format. New integrations should use V3.

### Delivery Headers

- `webhook-id` (string) *(required)*: Unique message id, stable across delivery retries. Use it as an idempotency key. Equals the payload `id`.
- `webhook-timestamp` (string) *(required)*: Unix timestamp (seconds) of this delivery attempt.
- `webhook-signature` (string) *(required)*: Base64 HMAC-SHA256 signature, formatted `v1,<signature>`, over `${webhook-id}.${webhook-timestamp}.${raw_body}`.
- `x-composio-webhook-version` (string) *(required)*: Payload version for this subscription (for example `V3`).
- `x-composio-delivery-attempt` (string) *(required)*: Attempt number for this delivery, starting at `1` and incrementing on each retry. The payload and `webhook-id` are identical across attempts, so use `webhook-id` for idempotency rather than this value.

### Request Body

**Schema:**

- `trigger_name` (string) *(required)*: The trigger that fired (for example github_commit_event).
- `connection_id` (string (uuid)) *(required)*: UUID of the connected account.
- `trigger_id` (string (uuid)) *(required)*: UUID of the trigger instance.
- `payload` (object) *(required)*: The trigger event payload.
  - `[key: string]` (any)
- `log_id` (string) *(required)*: ID of the execution log.

**Example:**

```json
{
  "trigger_name": "github_commit_event",
  "connection_id": "d3547de1-d1f2-4344-b4c2-6d1e5a7b8c9d",
  "trigger_id": "5727dbbb-3b26-4abe-aec6-181a7b2c3d4e",
  "payload": {
    "commit_sha": "a1b2c3d",
    "message": "fix: resolve null pointer",
    "author": "jane"
  },
  "log_id": "log_abc123"
}
```

### Responses

#### 200 - Return any 2xx status to acknowledge receipt. Non-2xx responses are retried.

---

## REST API version

The current REST API version is **v3.1**, served at `https://backend.composio.dev/api/v3.1`. Prefer it for new code and new examples.

`https://backend.composio.dev/api/v3` is the previous version. It is frozen with pinned tool-version defaults and remains supported — existing v3 integrations keep working and do not need to migrate.