New to Kestra?
Use blueprints to kickstart your first workflows.
Poll AWS Security Hub for active CRITICAL severity findings and alert Slack with finding titles and source products.
This sentinel continuously polls AWS Security Hub for active findings with CRITICAL severity. When critical findings are present, a Slack alert is sent with the count, sample finding titles, and the names of the security products that generated them, giving security and compliance teams immediate visibility into the most urgent open issues.
io.kestra.plugin.aws.cli.AwsCLI calls aws securityhub get-findings with filters for
SeverityLabel=CRITICAL and RecordState=ACTIVE, capped to max_findings (default 25) items.jq to extract the finding count, the first five finding titles, and the
unique set of product names that generated the findings.io.kestra.plugin.core.flow.If branches on findings_found. When true, a Slack message is sent with the
count, sample titles, and products. When false, the flow logs a clean result.errors block fires a Slack alert on any unhandled exception.max_findings input to control how many findings are fetched per run.Security Hub can send events to EventBridge, but that requires configuring rules, targets, and SNS topics separately. Kestra consolidates the findings query, conditional branching, and Slack notification into a single declarative flow with retries, execution lineage, and namespace-scoped secrets.
securityhub:GetFindings permission.AWS_ACCESS_KEY_ID: AWS access key ID.AWS_SECRET_ACCESS_KEY: AWS secret access key.SLACK_WEBHOOK: Slack incoming webhook URL.AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and SLACK_WEBHOOK to your Kestra namespace secrets.aws_region to the region where Security Hub is enabled.max_findings if needed (default: 25).ForEach.TITLES list before alerting.