asyncapi: 2.6.0
info:
title: Trello Webhooks Events
description: >-
The Trello Webhooks API delivers real-time notifications when changes
occur on Trello models such as boards, lists, cards, and members.
Rather than polling the REST API for updates, webhooks push event data
to a specified callback URL via HTTP POST requests containing JSON
payloads. Each webhook is scoped to a single model and fires for all
action types on that model. Webhook requests include an HMAC-SHA1
signature in the X-Trello-Webhook header for verification, computed
by concatenating the request body with the callback URL and hashing
with the application secret.
version: '1'
contact:
name: Atlassian Developer Support
url: https://developer.atlassian.com/support
externalDocs:
description: Trello Webhooks Documentation
url: https://developer.atlassian.com/cloud/trello/guides/rest-api/webhooks/
servers:
trello:
url: 'https://api.trello.com/1'
protocol: https
description: >-
Trello API server that manages webhook registrations. Webhook
callbacks are sent from Trello servers to your registered callback URL.
security:
- apiKeyToken: []
channels:
/webhook:
description: >-
Callback endpoint that receives webhook events from Trello via HTTP POST
when any action occurs on the watched model. The callback URL must return
a 200 status code on HEAD requests for webhook creation and on POST
requests to acknowledge delivery.
publish:
operationId: receiveWebhookEvent
summary: Receive a Trello webhook event
description: >-
Trello sends an HTTP POST request to the registered callback URL
whenever an action occurs on the watched model. The payload contains
the action that triggered the webhook and the current state of the
model. Webhook callbacks cannot be filtered by action type; all
actions on the model are delivered and must be filtered by the
consumer.
message:
oneOf:
- $ref: '#/components/messages/BoardEvent'
- $ref: '#/components/messages/CardEvent'
- $ref: '#/components/messages/ListEvent'
- $ref: '#/components/messages/MemberEvent'
- $ref: '#/components/messages/ChecklistEvent'
- $ref: '#/components/messages/OrganizationEvent'
- $ref: '#/components/messages/LabelEvent'
- $ref: '#/components/messages/CommentEvent'
- $ref: '#/components/messages/AttachmentEvent'
- $ref: '#/components/messages/CustomFieldEvent'
components:
securitySchemes:
apiKeyToken:
type: httpApiKey
in: query
name: key
description: >-
Trello API key and token used for webhook management. The HMAC-SHA1
signature in the X-Trello-Webhook header should be validated using
your application secret to verify the authenticity of incoming
webhook callbacks.
messages:
BoardEvent:
name: BoardEvent
title: Board Event
summary: >-
An action that occurred on a board, such as creating, updating,
closing, or deleting a board.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: >-
HMAC-SHA1 signature for verifying the webhook payload. Computed
by concatenating the raw request body with the callback URL and
hashing with base64-encoded HMAC-SHA1 using the application
secret as the key.
payload:
$ref: '#/components/schemas/WebhookPayload'
examples:
- name: updateBoard
summary: Board name was updated
payload:
action:
id: '5a1234567890abcdef123456'
idMemberCreator: '5a9876543210fedcba654321'
type: updateBoard
date: '2026-03-20T12:00:00.000Z'
data:
board:
id: '5a1111111111111111111111'
name: Updated Board Name
shortLink: aBcDeFgH
old:
name: Old Board Name
model:
id: '5a1111111111111111111111'
name: Updated Board Name
closed: false
CardEvent:
name: CardEvent
title: Card Event
summary: >-
An action that occurred on a card, such as creating, updating, moving,
archiving, or deleting a card.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
examples:
- name: createCard
summary: A new card was created
payload:
action:
id: '5a2234567890abcdef123456'
idMemberCreator: '5a9876543210fedcba654321'
type: createCard
date: '2026-03-20T12:05:00.000Z'
data:
board:
id: '5a1111111111111111111111'
name: My Board
shortLink: aBcDeFgH
list:
id: '5a2222222222222222222222'
name: To Do
card:
id: '5a3333333333333333333333'
name: New Task
idShort: 42
shortLink: xYzWvU12
model:
id: '5a1111111111111111111111'
name: My Board
ListEvent:
name: ListEvent
title: List Event
summary: >-
An action that occurred on a list, such as creating, renaming,
archiving, or moving a list.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
MemberEvent:
name: MemberEvent
title: Member Event
summary: >-
An action involving a member, such as adding or removing a member
from a board or card.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
ChecklistEvent:
name: ChecklistEvent
title: Checklist Event
summary: >-
An action involving a checklist or check item, such as creating a
checklist, adding a check item, or completing a check item.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
OrganizationEvent:
name: OrganizationEvent
title: Organization Event
summary: >-
An action that occurred on an organization (workspace), such as
updating settings or managing members.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
LabelEvent:
name: LabelEvent
title: Label Event
summary: >-
An action involving a label, such as creating, updating, or deleting
a label, or adding or removing a label from a card.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
CommentEvent:
name: CommentEvent
title: Comment Event
summary: >-
An action involving a comment on a card, such as adding, updating,
or deleting a comment.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
AttachmentEvent:
name: AttachmentEvent
title: Attachment Event
summary: >-
An action involving an attachment, such as adding or removing an
attachment from a card.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
CustomFieldEvent:
name: CustomFieldEvent
title: Custom Field Event
summary: >-
An action involving custom fields, such as creating a custom field
definition or setting a custom field value on a card.
contentType: application/json
headers:
type: object
properties:
X-Trello-Webhook:
type: string
description: HMAC-SHA1 signature for verification.
payload:
$ref: '#/components/schemas/WebhookPayload'
schemas:
WebhookPayload:
type: object
description: >-
The top-level payload delivered to a webhook callback URL. Contains
the action that triggered the webhook and the current state of the
watched model.
required:
- action
- model
properties:
action:
$ref: '#/components/schemas/WebhookAction'
model:
type: object
description: >-
The current state of the model that the webhook is watching. The
structure depends on the model type (board, card, list, member,
or organization).
WebhookAction:
type: object
description: >-
Represents the action (event) that triggered the webhook callback.
required:
- id
- type
- date
- data
properties:
id:
type: string
description: The unique identifier for the action.
idMemberCreator:
type: string
description: The ID of the member who performed the action.
type:
type: string
description: >-
The type of action that was performed. Common types include
addAttachmentToCard, addChecklistToCard, addLabelToCard,
addMemberToBoard, addMemberToCard, commentCard, convertToCardFromCheckItem,
copyCard, createBoard, createCard, createChecklist, createLabel,
createList, deleteAttachmentFromCard, deleteCard, deleteCheckItem,
deleteComment, deleteLabel, moveCardFromBoard, moveCardToBoard,
moveListFromBoard, moveListToBoard, removeChecklistFromCard,
removeLabelFromCard, removeMemberFromBoard, removeMemberFromCard,
updateBoard, updateCard, updateCheckItem, updateCheckItemStateOnCard,
updateChecklist, updateComment, updateCustomFieldItem, updateLabel,
updateList, and updateMember.
enum:
- addAttachmentToCard
- addChecklistToCard
- addLabelToCard
- addMemberToBoard
- addMemberToCard
- commentCard
- convertToCardFromCheckItem
- copyBoard
- copyCard
- copyChecklist
- createBoard
- createCard
- createChecklist
- createLabel
- createList
- createOrganization
- deleteAttachmentFromCard
- deleteBoardInvitation
- deleteCard
- deleteCheckItem
- deleteComment
- deleteLabel
- deleteOrganizationInvitation
- disablePlugin
- disablePowerUp
- emailCard
- enablePlugin
- enablePowerUp
- makeAdminOfBoard
- makeAdminOfOrganization
- makeNormalMemberOfBoard
- makeNormalMemberOfOrganization
- makeObserverOfBoard
- memberJoinedTrello
- moveCardFromBoard
- moveCardToBoard
- moveListFromBoard
- moveListToBoard
- removeChecklistFromCard
- removeLabelFromCard
- removeMemberFromBoard
- removeMemberFromCard
- removeMemberFromOrganization
- unconfirmedBoardInvitation
- unconfirmedOrganizationInvitation
- updateBoard
- updateCard
- updateCheckItem
- updateCheckItemStateOnCard
- updateChecklist
- updateComment
- updateCustomFieldItem
- updateLabel
- updateList
- updateMember
- updateOrganization
- voteOnCard
date:
type: string
format: date-time
description: The date and time the action was performed.
data:
type: object
description: >-
Context data about the action, including references to the
objects involved.
properties:
text:
type: string
description: Text content of the action, such as comment text.
board:
type: object
description: The board involved in the action.
properties:
id:
type: string
name:
type: string
shortLink:
type: string
card:
type: object
description: The card involved in the action.
properties:
id:
type: string
name:
type: string
idShort:
type: integer
shortLink:
type: string
idList:
type: string
closed:
type: boolean
desc:
type: string
due:
type: string
format: date-time
pos:
type: number
list:
type: object
description: The list involved in the action.
properties:
id:
type: string
name:
type: string
listBefore:
type: object
description: >-
The list a card was moved from (present on card move actions).
properties:
id:
type: string
name:
type: string
listAfter:
type: object
description: >-
The list a card was moved to (present on card move actions).
properties:
id:
type: string
name:
type: string
member:
type: object
description: The member involved in the action.
properties:
id:
type: string
name:
type: string
checklist:
type: object
description: The checklist involved in the action.
properties:
id:
type: string
name:
type: string
checkItem:
type: object
description: The check item involved in the action.
properties:
id:
type: string
name:
type: string
state:
type: string
enum:
- complete
- incomplete
label:
type: object
description: The label involved in the action.
properties:
id:
type: string
name:
type: string
color:
type: string
attachment:
type: object
description: The attachment involved in the action.
properties:
id:
type: string
name:
type: string
url:
type: string
format: uri
customField:
type: object
description: The custom field involved in the action.
properties:
id:
type: string
name:
type: string
type:
type: string
customFieldItem:
type: object
description: The custom field value that was changed.
properties:
id:
type: string
idCustomField:
type: string
idModel:
type: string
value:
type: object
organization:
type: object
description: The organization involved in the action.
properties:
id:
type: string
name:
type: string
old:
type: object
description: >-
The previous values of fields that were changed in an update
action.
display:
type: object
description: Display information for rendering the action.
properties:
translationKey:
type: string
entities:
type: object
memberCreator:
type: object
description: The member who performed the action.
properties:
id:
type: string
username:
type: string
fullName:
type: string
initials:
type: string
avatarHash:
type: string
avatarUrl:
type: string
format: uri