New to Kestra?
Use blueprints to kickstart your first workflows.
Run a Saturday full refresh of a Power BI dataset with Kestra. An extended wait window sized for long loads, with Discord confirmation and alerts.
Incremental refresh keeps weekdays fast, but most models still need a periodic full rebuild: historical partitions get restated, source backfills land, and schema changes require a complete reload. Those refreshes take hours, not minutes, and they belong on the weekend. This blueprint schedules io.kestra.plugin.powerbi.RefreshGroupDataset for Saturday at 03:00 with a waitDuration of three hours, sized for a full load instead of the default ten minutes.
Schedule trigger (disabled by default) fires at 03:00 on Saturdays, when capacity is idle and nobody is waiting on reports.refresh_dataset (io.kestra.plugin.powerbi.RefreshGroupDataset) authenticates with the Azure AD service principal and triggers the refresh. With wait: true, pollDuration: PT1M, and waitDuration: PT3H, it checks once a minute for up to three hours, a window sized for a complete reload rather than an incremental merge.notify posts the final status to Discord, so the team knows Monday starts on a fully rebuilt model.errors block posts a distinct Discord alert on failure or timeout, early enough on Saturday that there is a whole weekend left to fix and re-run.A multi-hour refresh is exactly where fire-and-forget scheduling fails: nobody watches it, nobody is told when it dies at hour two, and its duration is recorded nowhere. Kestra waits through the whole refresh, records how long every weekend rebuild took, and alerts while there is still weekend left to react.
groupId) and dataset id (datasetId) of the model to rebuild.AZURE_TENANT_ID: Azure AD tenant id.AZURE_CLIENT_ID: Azure AD application (client) id.AZURE_CLIENT_SECRET: Azure AD client secret.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.groupId and datasetId with your workspace and dataset ids.waitDuration to your observed full refresh time plus headroom, then set disabled: false on the saturday_mornings trigger.