Event
Registers a Trello webhook on one model at publish and starts one run per action Trello delivers, verified against Trello's HMAC-SHA1 signature.
Start a run when a Trello board, list, card or member changes. Publishing creates a webhook in the tenant's own Trello account, scoped to the connection's token; disabling or unpublishing deletes it.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Trello
- Secret shape
- the Trello api_key + token pair, plus "api_secret" — the application secret Trello signs webhook deliveries with
- Resolved by
- config.connection_id, else node.connection_id
- Note
- The token must be able to administer webhooks; a read-only token registers nothing. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to an https URL Trello can reach — Trello runs a HEAD request against the callback before it will create the webhook, and refuses a URL with an invalid TLS certificate.
Configuration
2 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
model_id Id of the board, list, card or member to watch — Trello's 24-character id, not a board's 8-character shortLink. Every action on that model is delivered; Trello has no server-side event filter. | string | Yes | — | matches ^[0-9a-fA-F]{24}$ | 5f2a1c9d3e4b5a6c7d8e9f01 |
description What this webhook is called in Trello's own webhook list. Defaults to a name carrying the Mantle webhook id, which survives a workflow rename. | string | No | — | ≤ 200 characters | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"model_id": "5f2a1c9d3e4b5a6c7d8e9f01"
}Output
One shape.
trello action
The flattened Trello action. data's own keys vary by action type, so the shape is open below the declared fields.
Extra keys beyond the ones listed can appear.
| Field | Type | Example |
|---|---|---|
id Trello's action id. Also the idempotency key: a redelivery carries the same id, so it joins the run it already started instead of starting a second. The ingress remembers a key for 24 hours. | string | 5f2a1c9d3e4b5a6c7d8e9f02 |
type The action name — createCard, updateCard, commentCard, addMemberToCard, moveCardFromBoard… Trello sends every action on the watched model, so branch on this. | string | createCard |
date When Trello recorded the action, ISO-8601 UTC. | string | 2024-05-30T12:00:00.000Z |
member_creator_id Id of the Trello member who caused the action. | string | 5f2a1c9d3e4b5a6c7d8e9f03 |
member_creator_username That member's username, when Trello expanded it on the delivery. | string | alice |
model_id The watched model — the board, list, card or member this webhook was registered against. Always the id from the trigger's config. | string | 5f2a1c9d3e4b5a6c7d8e9f01 |
model_name That model's name at the time of the action. | string | — |
board_id Id of the board the action happened on, or empty when the action names no board. | string | 5f2a1c9d3e4b5a6c7d8e9f01 |
list_id Id of the list the action names, or empty. | string | — |
card_id Id of the card the action names, or empty. | string | — |
data Trello's action.data — the objects the action is about (board, list, card, text, old…). Its keys depend on type, which is why this shape is open below the declared fields. | object | — |
payload The delivery exactly as Trello sent it (action, model, webhook), for anything the fields above do not lift out. | object | — |
{
"board_id": "5f2a1c9d3e4b5a6c7d8e9f01",
"card_id": "5f2a1c9d3e4b5a6c7d8e9f05",
"data": {
"board": {
"id": "5f2a1c9d3e4b5a6c7d8e9f01",
"name": "Release board"
},
"card": {
"id": "5f2a1c9d3e4b5a6c7d8e9f05",
"idShort": 42,
"name": "Ship 2.1"
},
"list": {
"id": "5f2a1c9d3e4b5a6c7d8e9f04",
"name": "To do"
}
},
"date": "2024-05-30T12:00:00.000Z",
"id": "5f2a1c9d3e4b5a6c7d8e9f02",
"list_id": "5f2a1c9d3e4b5a6c7d8e9f04",
"member_creator_id": "5f2a1c9d3e4b5a6c7d8e9f03",
"member_creator_username": "alice",
"model_id": "5f2a1c9d3e4b5a6c7d8e9f01",
"model_name": "Release board",
"payload": {
"action": {
"type": "createCard"
},
"model": {
"name": "Release board"
}
},
"type": "createCard"
}Notes
- Publishing creates the webhook in Trello; unpublishing, disabling or archiving deletes it. A workflow that is off is off at Trello too.
- Trello delivers EVERY action on the watched model — there is no server-side event filter. Branch on 'type' or follow this node with a control.filter.
- Trello signs each delivery over the body concatenated with the callback URL, keyed with the application secret; a connection without an api_secret cannot publish this trigger.
- Trello disables a webhook after roughly 30 days with no successful delivery; re-publishing the workflow registers a fresh one.
See Event run in a workflow.
In a technical demo we add the Trello connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.