Every workflow action stores its output after it completes. Subsequent actions in the same workflow can reference those outputs using Liquid template syntax. This lets you chain actions together — for example, fetch data with an HTTP request and pass the response into an AI prompt or a second API call.Documentation Index
Fetch the complete documentation index at: https://docs.rootly.com/llms.txt
Use this file to discover all available pages before exploring further.
Syntax
Reference a previous action’s output using thetasks object and the action’s slug:

Available Properties
Each completed action exposes the following properties:| Property | Description |
|---|---|
tasks.<slug>.name | Action name |
tasks.<slug>.slug | Action slug identifier |
tasks.<slug>.status | Execution status (queued, started, completed, failed, canceled) |
tasks.<slug>.output | Action output (structure varies by action type — see below) |
tasks.<slug>.logs | Event logs from the action |
tasks.<slug>.started_at | When the action started |
tasks.<slug>.completed_at | When the action completed |
tasks.<slug>.failed_at | When the action failed (if applicable) |
HTTP Request Action Output
The Fetch an HTTP endpoint action stores the full HTTP response. Access it throughoutput.response:
| Path | Description |
|---|---|
tasks.<slug>.output.response.status | HTTP status code |
tasks.<slug>.output.response.body | Response body (parsed as JSON when applicable) |
tasks.<slug>.output.response.headers | Response headers |
Accessing nested JSON
When the HTTP response returns JSON, you can traverse the parsed structure directly:AI Chat Completion Action Output
The OpenAI, Anthropic, Google Gemini, and Mistral chat completion actions store the AI model’s response inoutput.response. The exact structure depends on the provider and model.
OpenAI
OpenAI uses two different API formats depending on the model: GPT models (gpt-4o, gpt-4o-mini, etc.) use the Chat Completions API:
o1-*, o3-*) use the Responses API, which returns a different structure:
If you switch between GPT and reasoning models, you must update the output path in any downstream actions that reference the task output.
Google Gemini
Other Action Outputs
Most built-in actions (Create Jira Issue, Create Linear Issue, Send Slack Message, etc.) store their response inoutput.response. The structure matches the response from the underlying integration API.
Examples:
Examples
Chain two HTTP requests
Fetch a service catalog entry, then use part of the response in a follow-up API call. Action 1 — “get-service-info” (HTTP GET):Use HTTP response in action URL parameters
Look up a user by email from a previous action’s response:Feed HTTP response into an OpenAI prompt
Fetch logs from an observability tool, then have AI analyze them. Action 1 — “get-logs” (HTTP GET to your logging API) Action 2 — “analyze-logs” (OpenAI Chat Completion) with prompt:Pass AI output into a subsequent HTTP request
Generate a postmortem with AI, then post it to the incident timeline. Action 1 — “generate-postmortem” (OpenAI Chat Completion) Action 2 — “post-to-timeline” (HTTP POST):Use the
to_json filter when inserting task output into a JSON body. AI-generated text often contains quotes and newlines that break JSON syntax without proper escaping.Use Jira/Linear issue output to update an alert
Create a ticket, then write the ticket URL back to a custom alert field. Action 1 — “create-a-linear-issue” (Create Linear Issue) Action 2 — “update-alert-with-ticket” (HTTP PATCH):Assign a role based on an on-call lookup
Look up who is on-call, find them in Rootly, then assign them to an incident role. Action 1 — “get-on-call” (HTTP GET to your paging provider) Action 2 — “find-rootly-user” (HTTP GET):Using Liquid Filters with Task Outputs
You can apply any Liquid filter to task output values. Common patterns:Troubleshooting
Action output is empty
- Verify the referenced action ran successfully. Check the workflow run log for errors.
- Check that the action slug matches exactly — slugs are case-sensitive and use hyphens, not underscores (e.g.,
my-http-request, notmy_http_request).
JSON path returns nothing
- The HTTP response body is only parsed as JSON when the response
Content-Typeisapplication/json. If the API returns a different content type,bodymay be a raw string. - Use the workflow run log to inspect the actual response structure and verify your path.
Subsequent action does not see the previous output
- Actions run sequentially in order. An action can only reference outputs from actions that appear above it in the workflow editor.
- If the previous action has Skip on Failure enabled and failed, its output may be incomplete or missing.