New to Kestra?
Use blueprints to kickstart your first workflows.
Attach Kestra execution context to Squadcast pages. SquadcastExecution sends the execution id, custom fields, and a custom message to on-call.
A page that says "the pipeline failed" starts a search; a page that carries the execution id, flow, and namespace starts a fix. This blueprint uses io.kestra.plugin.squadcast.SquadcastExecution, the plugin's execution-aware task, at the end of the errors block of a critical flow. Where the raw SquadcastIncomingWebhook sends whatever payload you compose, SquadcastExecution is built to ship Kestra execution context, its executionId property defaults to {{ execution.id }} and switches to {{ trigger.executionId }} for flows launched by Flow triggers, and customFields plus customMessage enrich the incident with structured triage data.
extract_customers (io.kestra.plugin.core.http.Request) performs the monitored work against the source_url input, and record_success logs quietly when it succeeds.errors block first posts a short Slack heads-up (notify_channel), so the team channel knows a page is going out and nobody double-escalates.page_with_context (io.kestra.plugin.squadcast.SquadcastExecution) then opens the incident with message, executionId set explicitly to {{ execution.id }}, customFields carrying flow and namespace, and a customMessage telling on-call where to look first.executionId as a first-class property with a sensible default, so the incident is always correlated to the exact execution that failed rather than to whatever string a hand-rolled payload happened to include.customFields on the notification, flow and namespace arrive as data, not prose.customMessage slot for runbook pointers that ride along with every page.Execution context is something only the orchestrator has. Because the paging task runs inside the failing execution, Kestra fills in the execution id, flow, and namespace at render time with zero plumbing, and the errors block guarantees the page fires for any task failure in the flow, present or added later.
SQUADCAST_WEBHOOK_URL: the full Squadcast incoming webhook endpoint, including its token.SLACK_WEBHOOK_URL: Slack incoming webhook URL.source_url set to an unreachable URL and confirm the Slack heads-up plus a Squadcast incident carrying the execution id, flow, and namespace.extract_customers with your real critical tasks.customFields, such as environment, data domain, or owning team, so Squadcast routing rules can act on them.executionId to {{ trigger.executionId }} and attach this pattern to a Flow trigger that watches other flows for failure, one pager flow for the whole namespace.