Webhook icon
Comment icon
SlackIncomingWebhook icon

Log Incident Timelines as Trello Card Comments from a Webhook

Log incident timelines to Trello with Kestra. A webhook appends timestamped comments to the incident card and Slack confirms every entry.

Categories
Business

The hardest part of an incident review is reconstructing what happened when. This blueprint makes the incident card write its own timeline: any tool or responder POSTs an update to a Kestra webhook, and io.kestra.plugin.trello.cards.Comment appends it to the incident card as a comment stamped with the time and the author. The card's comment thread becomes the audit trail, in order, attributed, and in the same place the incident is being tracked.

How it works

  1. The timeline_webhook trigger (io.kestra.plugin.core.trigger.Webhook) accepts a JSON POST with entry, author, and optionally cardId fields. Replace the placeholder key with a strong random value.
  2. log_entry (io.kestra.plugin.trello.cards.Comment) writes the comment. The card id comes from the payload with {{ trigger.body.cardId ?? inputs.incident_card_id }}, so ad hoc senders that only know "the current incident" can omit it.
  3. The comment text leads with {{ now() }} and the author, then the entry body, and every field has a fallback so a hurried one-field POST still produces a usable timeline line.
  4. notify acknowledges the entry in Slack with {{ outputs.log_entry.commentId }}, confirming the update landed on the card.
  5. The errors block posts a distinct Slack alert when logging fails, telling the sender explicitly that the update was not recorded, because a gap in an incident timeline is worse than noise.

What you get

  • A single, ordered, attributed incident timeline living on the incident card itself.
  • A webhook any script, monitor, or chat shortcut can call with one JSON POST.
  • Per-entry Slack acknowledgements carrying the comment id.
  • An explicit failure alert, so responders know when an update must be re-posted.

Who it's for

  • On-call teams that track incidents as Trello cards and reconstruct timelines by hand afterwards.
  • Incident commanders who want updates captured where the incident lives, not scattered across chat.
  • Teams writing postmortems who need an ordered record of decisions and observations.

Why orchestrate this with Kestra

Trello stores the comments, but something has to receive updates from many senders, stamp them consistently, fall back safely when fields are missing, and prove each one landed. Kestra provides the webhook endpoint, the templating with ?? fallbacks, secret management for the API credentials, and an execution per entry, so even the logger itself has an audit trail.

Prerequisites

  • An incident card on a Trello board, and its card id for the incident_card_id fallback input.
  • A Trello API key and token from https://trello.com/power-ups/admin.
  • A Slack incoming webhook for acknowledgements and failure alerts.

Secrets

  • TRELLO_API_KEY: Trello API key.
  • TRELLO_API_TOKEN: Trello API token.
  • SLACK_WEBHOOK_URL: Slack incoming webhook URL.

Quick start

  1. Add the three secrets to your Kestra namespace and set incident_card_id to an open incident card.
  2. Replace the webhook key with a strong random value.
  3. POST a JSON body with entry and author fields to the webhook URL, then check the comment on the card and the Slack acknowledgement.
  4. Wire your monitoring or a chat shortcut to POST updates during the next incident.

How to extend

  • Create the incident card itself from the first alert with the card-from-alert blueprint, then log the timeline here.
  • Close out the incident by adding a resolution step with io.kestra.plugin.trello.cards.Update setting closed: true.
  • Move the card across severity or status columns as updates arrive with io.kestra.plugin.trello.cards.Move.
  • Mirror entries to a second channel by adding another notification task after notify.

Links

Orchestrate with Kestra
Orchestrate Slack with Kestra
Share this Blueprint
See How

New to Kestra?

Use blueprints to kickstart your first workflows.