New to Kestra?
Use blueprints to kickstart your first workflows.
Publish one Hex notebook for every region with Kestra. Loop passes each region code through inputParams, waits per run, and summarizes to Discord.
Four regions usually means four copies of the same notebook, each drifting out of sync with the others until EMEA's revenue definition no longer matches AMER's. This blueprint keeps one Hex project and lets Kestra do the multiplying: io.kestra.plugin.core.flow.Loop iterates over an inline list of region codes, and each iteration calls io.kestra.plugin.hex.projects.Run with the region passed through inputParams, so the notebook recomputes and publishes once per market from a single definition.
regions variable holds the region codes, so the loop and the summary count read from the same list.per_region (io.kestra.plugin.core.flow.Loop) iterates the list; inside it, run_region calls the Hex API with inputParams set to {region: item.value}, mapping each loop value onto the notebook's region input parameter.wait: true makes every iteration block until that region's run reaches a terminal state, so a failed region stops the flow instead of silently publishing a partial set.summarize posts to Discord with the region count computed as {{ vars.regions | length }}, and the errors block posts a distinct alert whose execution view shows exactly which region failed.Schedule trigger publishes the full set every Monday at 07:00.Hex parameterizes the notebook; it does not enumerate your regions, sequence the runs, or tell anyone when the set is complete. Kestra owns the list, fans the runs out with Loop, waits on each publish, and reports one summary with a count derived from the same variable the loop consumed. Adding a fifth region is a one-line change in the flow, and the execution history shows every region's run individually.
region input parameter.HEX_API_TOKEN: Hex API token used to run the project.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.HEX_API_TOKEN and DISCORD_WEBHOOK_URL secrets to your Kestra namespace.project_id input at a Hex project with a region input parameter and execute the flow.regions variable to match your markets and enable the weekly trigger.inputParams to match your notebook's parameters, for example a reporting date alongside the region.