Productivity
Asana Webhooks
Project management platform. Receive events for tasks, projects, stories, and team changes.
Connecting Asana to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Asana. Then:
- 1Create a webhook with the Asana API: POST /webhooks, with target set to your Hookbase ingest URL
- 2Set resource to the GID of the project, task or workspace you want to watch
- 3Asana sends a handshake request with an X-Hook-Secret header; Hookbase echoes it back automatically, so the webhook is created
- 4Copy the X-Hook-Secret value from the POST /webhooks response (Asana does not show it again) and paste it into your Hookbase source so X-Hook-Signature can be verified
Signature verification
Set the source's provider to asana and paste the signing secret. Every request is checked before the event is stored, and anything that fails is rejected rather than quietly recorded.
- Algorithm
- HMAC-SHA256
- Header
- X-Hook-Signature
- Where to find the secret
- Asana issues X-Hook-Secret when you create the webhook with POST /webhooks: it is in the create response (and on the handshake request Asana sends to this URL). It is not returned by later GETs, so save it then.
Asana event types
6 of the events people route most often. Hookbase accepts every event Asana sends, whether or not it is listed here.
task.changed
A task was changed
task.added
A task was added to a project
task.removed
A task was removed from a project
task.deleted
A task was deleted
project.changed
A project was changed
story.added
A comment or story was added
What a Asana webhook looks like
A task.changed payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"events": [
{
"user": {
"gid": "12345",
"resource_type": "user"
},
"resource": {
"gid": "67890",
"resource_type": "task",
"name": "Implement auth flow"
},
"parent": {
"gid": "11111",
"resource_type": "project",
"name": "Sprint 24"
},
"action": "changed",
"type": "task",
"created_at": "2024-01-15T10:30:00.000Z",
"change": {
"field": "completed",
"action": "changed",
"new_value": {
"completed": true
}
}
}
]
}Start receiving Asana webhooks
Create a source, paste the URL into Asana, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free