Get icon
SlackIncomingWebhook icon
Trigger icon

Audit New Miro Boards with a Trigger and Slack Notifications

Watch Miro for new boards with a Kestra trigger and post each board name and view link to Slack so IT sees every new shared surface.

Categories
Business

Every new Miro board is a new place where diagrams, credentials pasted into stickies, and customer data can end up shared beyond the team. Most organizations only find out what boards exist during an annual audit. This blueprint closes that gap with io.kestra.plugin.miro.boards.Trigger, which polls Miro on an interval and fires an execution when new boards appear. The flow enriches the detection with a boards.Get call and posts the board's name, creation time, and view link to Slack, giving security and IT eyes on every new shared surface within minutes.

How it works

  1. watch_boards (io.kestra.plugin.miro.boards.Trigger) polls Miro every 15 minutes (interval: PT15M). When new boards are detected, it fires with {{ trigger.id }}, {{ trigger.name }}, and {{ trigger.createdAt }} describing the first new board, {{ trigger.count }} carrying the number detected in the cycle, and {{ trigger.boards }} holding the full list.
  2. get_board (io.kestra.plugin.miro.boards.Get) fetches the detected board by {{ trigger.id }}, exposing its viewLink and sharing policy as flat outputs.
  3. notify posts the board name, creation timestamp, cycle count, and view link to Slack.
  4. The errors block posts a distinct Slack alert if the audit flow fails, so a revoked token never silently stops the reviews.
  5. The trigger ships with disabled: true; flip it once the secrets are in place.

What you get

  • Near-real-time visibility into every board created in the workspace, not an annual surprise.
  • A clickable view link in the review channel, so spot-checking a board takes one click.
  • Zero executions and zero cost while nobody creates boards.
  • A meta-alert covering failure of the audit path itself.

Who it's for

  • Security and IT teams accountable for where company information can be shared.
  • Miro workspace admins who want an inventory that stays current by construction.
  • Compliance teams who need a timestamped record of when each collaboration surface appeared.

Why orchestrate this with Kestra

Miro can list boards, but watching for new ones means polling, remembering what was already seen, fanning detections into notifications, and alerting when the watcher itself breaks. Kestra's trigger handles the polling and state, the flow handles enrichment and delivery, and every detection is preserved in the execution history as an audit trail.

Prerequisites

  • A Miro OAuth access token with boards:read scope.
  • A Slack incoming webhook for the security or IT review channel.

Secrets

  • MIRO_ACCESS_TOKEN: Miro OAuth 2.0 access token.
  • SLACK_WEBHOOK_URL: Slack incoming webhook URL.

Quick start

  1. Add the two secrets to your Kestra namespace.
  2. Set disabled: false on the watch_boards trigger.
  3. Create a test board in Miro and confirm the Slack message arrives with a working view link within the polling interval.

How to extend

  • Scope the watch with the trigger's teamId or projectId properties to audit only sensitive teams.
  • Iterate over {{ trigger.boards }} with a ForEach task to notify on every board in a busy cycle, not just the first.
  • Route boards whose sharingPolicy from get_board allows public access to a higher-severity alert with an If task.
  • Lower the interval for tighter detection windows, or raise it for quieter workspaces.

Links

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

New to Kestra?

Use blueprints to kickstart your first workflows.