Summary
library/workflows/root-cause-analysis/root-cause-analysis.yaml references {{ context.kibanaUrl }}, but kibanaUrl is a top-level context field, not a member of context. Two consequences:
- Runtime:
context only ever carries hitl (see WorkflowTemplatePersistedContextSchema, kbn-workflows/spec/schema.ts:1206-1208), so {{ context.kibanaUrl }} renders as an empty string and the generated links are broken.
- Editor: the variable validator reports
Variable context.kibanaUrl is invalid at error severity, which blocks the Enabled toggle — the installed template cannot be scheduled.
The correct form is already used elsewhere in this repo, e.g. examples/security/response/traditional-triage.yaml:
<{{kibanaUrl}}/app/security/cases/{{steps.createCase.output.case.id}}|Elastic Case>
Affected lines
library/workflows/root-cause-analysis/root-cause-analysis.yaml (2 sites):
[View Full Conversation]({{ context.kibanaUrl }}/app/agent_builder/conversations/{{ steps.get_conversation.output.id }})
- ✅ **Found {{ result_count }} results** → [View in Discover]({{ context.kibanaUrl }}/app/discover#/?_a=...)
examples/observability/root-cause-analysis-rca-workflow.yaml has the same two occurrences and should be fixed in the same pass.
Fix
Replace context.kibanaUrl with kibanaUrl in all four places.
How this was found
Installed all 18 library templates into a local 9.5 Kibana and ran the editor's validation pipeline over each. 17 of 19 workflows came out with zero blocking errors; this template and windows-clickfix-investigation were the exceptions. The other blockers were Kibana-side validator false positives, tracked separately:
This one is genuinely a template bug: the validator is correct here.
Summary
library/workflows/root-cause-analysis/root-cause-analysis.yamlreferences{{ context.kibanaUrl }}, butkibanaUrlis a top-level context field, not a member ofcontext. Two consequences:contextonly ever carrieshitl(seeWorkflowTemplatePersistedContextSchema,kbn-workflows/spec/schema.ts:1206-1208), so{{ context.kibanaUrl }}renders as an empty string and the generated links are broken.Variable context.kibanaUrl is invalidat error severity, which blocks the Enabled toggle — the installed template cannot be scheduled.The correct form is already used elsewhere in this repo, e.g.
examples/security/response/traditional-triage.yaml:<{{kibanaUrl}}/app/security/cases/{{steps.createCase.output.case.id}}|Elastic Case>Affected lines
library/workflows/root-cause-analysis/root-cause-analysis.yaml(2 sites):[View Full Conversation]({{ context.kibanaUrl }}/app/agent_builder/conversations/{{ steps.get_conversation.output.id }}) - ✅ **Found {{ result_count }} results** → [View in Discover]({{ context.kibanaUrl }}/app/discover#/?_a=...)examples/observability/root-cause-analysis-rca-workflow.yamlhas the same two occurrences and should be fixed in the same pass.Fix
Replace
context.kibanaUrlwithkibanaUrlin all four places.How this was found
Installed all 18 library templates into a local 9.5 Kibana and ran the editor's validation pipeline over each. 17 of 19 workflows came out with zero blocking errors; this template and
windows-clickfix-investigationwere the exceptions. The other blockers were Kibana-side validator false positives, tracked separately:.sizenot modeled (the remaining clickfix errors)This one is genuinely a template bug: the validator is correct here.