New to Kestra?
Use blueprints to kickstart your first workflows.
Schedule a morning Hex notebook refresh with Kestra. Wait for the run, confirm in Slack with the run URL, and page the channel when the notebook fails.
A morning dashboard has two failure modes, and the silent one is worse: the refresh that fails at 06:30 and nobody notices until someone presents stale numbers at 09:00. This blueprint schedules io.kestra.plugin.hex.projects.Run on weekday mornings, waits for the notebook to finish, and makes both outcomes loud, a Slack confirmation with the run URL and elapsed time on success, and a page through the errors block the moment the run fails.
Schedule trigger (disabled by default) fires at 06:30 on weekdays, before the first meeting reads the dashboard.refresh_notebook (io.kestra.plugin.hex.projects.Run) calls the Hex API with the project ID and polls every ten seconds; wait: true means the task only succeeds when the run itself does.confirm posts the run's status, elapsedTime, and runUrl outputs to Slack, so the confirmation carries a link to the exact run behind today's numbers.errors block pages the same channel with an explicit stale-dashboard warning.Hex's own scheduler runs the notebook, but confirming success and escalating failure to the team's channel is outside its lane. Kestra treats the refresh as a pipeline step: wait: true gives it a real exit status, outputs carry the evidence into Slack, and the errors block guarantees failures interrupt someone before the dashboard's audience arrives. Later, the same flow can grow a data-load dependency or an SLA timeout without changing the notebook.
HEX_API_TOKEN: Hex API token used to run the project.SLACK_WEBHOOK_URL: Slack incoming webhook URL.HEX_API_TOKEN and SLACK_WEBHOOK_URL secrets to your Kestra namespace.project_id input and execute the flow once manually; check the Slack confirmation and its run link.every_morning trigger and adjust the cron to land before your first meeting.maxDuration so a hanging notebook pages as an SLA breach, as shown in the notebook SLA guard blueprint.inputParams to pin the notebook to the current reporting date on each run.ForEach for a whole morning suite.