Asana webhook payload example (task changed)

Asana · event: task changed + story added (batched events) · content type: application/json

This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).

See it live, not frozen

One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:

Then paste the bin's URL into Asana's webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json
x-hook-signature: e91b214ea1521bf0429612df7fa05cfcbf1c1a79728c974eeacd83d9cdf6ae9e

Body

{
  "events": [
    {
      "user": {
        "gid": "1201234567890123",
        "resource_type": "user"
      },
      "created_at": "2026-08-30T12:10:04.483Z",
      "action": "changed",
      "parent": null,
      "change": {
        "field": "assignee",
        "action": "changed",
        "new_value": {
          "gid": "1201234567890123",
          "resource_type": "user"
        }
      },
      "resource": {
        "gid": "1209876543210987",
        "resource_type": "task"
      }
    },
    {
      "user": {
        "gid": "1201234567890123",
        "resource_type": "user"
      },
      "created_at": "2026-08-30T12:10:05.121Z",
      "action": "added",
      "parent": {
        "gid": "1209876543210987",
        "resource_type": "task"
      },
      "resource": {
        "gid": "1209876543211042",
        "resource_type": "story"
      }
    }
  ]
}

Things that bite people

Send it yourself

Reproduce this delivery against any endpoint (your handler, a bin, staging):

$ curl -X POST https://your-endpoint.example/hook \
  -H 'content-type: application/json' \
  -H 'x-hook-signature: e91b214ea1521bf0429612df7fa05cfcbf1c1a79728c974eeacd83d9cdf6ae9e' \
 -d '{
  "events": [
    {
      "user": {
        "gid": "1201234567890123",
        "resource_type": "user"
      },
      "created_at": "2026-08-30T12:10:04.483Z",
      "action": "changed",
      "parent": null,
      "change": {
        "field": "assignee",
        "action": "changed",
        "new_value": {
          "gid": "1201234567890123",
          "resource_type": "user"
        }
      },
      "resource": {
        "gid": "1209876543210987",
        "resource_type": "task"
      }
    },
    {
      "user": {
        "gid": "1201234567890123",
        "resource_type": "user"
      },
      "created_at": "2026-08-30T12:10:05.121Z",
      "action": "added",
      "parent": {
        "gid": "1209876543210987",
        "resource_type": "task"
      },
      "resource": {
        "gid": "1209876543211042",
        "resource_type": "story"
      }
    }
  ]
}'

← All payload examples · Related guide · Signature debugger · Docs