New to Kestra?
Use blueprints to kickstart your first workflows.
Find content gaps with Kestra and Meilisearch. Replay top user queries against the docs index and post a Discord alert for each query with zero hits.
The most valuable content roadmap is the list of things users search for and never find. This blueprint replays your top search queries against the live docs index with io.kestra.plugin.core.flow.ForEach and io.kestra.plugin.meilisearch.Search, and posts one short Discord message per query that returns zero hits. The result is an actionable gap list in the content channel, built from real user intent instead of guesswork.
review_queries (io.kestra.plugin.core.flow.ForEach) iterates over a plain list of query strings, typically the top queries exported from your search analytics.search_query (io.kestra.plugin.meilisearch.Search) runs the current {{ taskrun.value }} against the docs_site index, exactly as the search box would.check_zero (io.kestra.plugin.core.flow.If) reads the per-iteration hit count as {{ outputs.search_query[taskrun.value].totalHits }} and matches on zero.report_miss posts one Discord message naming the exact query, so the channel accumulates a clean, per-gap list with no noise from queries that work.errors block posts a distinct alert when the review itself fails, so a broken run is never mistaken for a gap-free corpus.outputs.task_id[taskrun.value], the standard Kestra pattern for loops.Replaying queries is trivial once; doing it after every reindex, keeping the results attributable to an execution, and alerting per miss without spam is orchestration work. Kestra's ForEach fans out the queries, If keeps the noise down to actual gaps, and the execution history records every review, so you can show exactly when a gap appeared and when it was closed.
MEILISEARCH_URL: Meilisearch connection URL, e.g. https://meilisearch.internal:7700.MEILISEARCH_KEY: Meilisearch API key with search permissions.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.review_queries with your real top queries.Schedule trigger to make it weekly.values.