Wolfram|Alpha · Arazzo Workflow

Wolfram|Alpha Full Results to Specific Pod

Version 1.0.0

Run a full query, then re-query to retrieve a single named pod in detail.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIArtificial IntelligenceComputational KnowledgeMachine LearningNatural Language ProcessingPublic APIsSearchArazzoWorkflows

Provider

wolframalpha

Workflows

full-results-to-specific-pod
Enumerate pods from a full query, then fetch one specific pod by id.
Submits the query to the Full Results API to list all pods, then issues a focused follow-up request filtered to the requested pod id with full formatting.
2 steps inputs: appid, input, podId, units outputs: availablePods, selectedPod, selectedPodPlaintext
1
surveyPods
queryFullResults
Run the query against the Full Results API to enumerate all available pods and their ids so the caller can confirm the pod of interest exists.
2
getSpecificPod
queryFullResults
Re-run the same query filtered to the requested pod id, returning that one pod with full image and plaintext formatting for detailed display.

Source API Descriptions

Arazzo Workflow Specification

wolframalpha-full-results-to-specific-pod-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Wolfram|Alpha Full Results to Specific Pod
  summary: Run a full query, then re-query to retrieve a single named pod in detail.
  description: >-
    The Full Results API returns a query broken into pods, each identified by a
    pod id. This workflow first runs the query to enumerate the available pods
    and their ids, then issues a second, focused Full Results request that uses
    includepodid to retrieve just the pod the caller is interested in, with full
    image and plaintext formatting. This is the canonical drilldown pattern:
    survey the result surface first, then pull the one section that matters in
    detail. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: fullResultsApi
  url: ../openapi/wolframalpha-full-results-api-openapi.yml
  type: openapi
workflows:
- workflowId: full-results-to-specific-pod
  summary: Enumerate pods from a full query, then fetch one specific pod by id.
  description: >-
    Submits the query to the Full Results API to list all pods, then issues a
    focused follow-up request filtered to the requested pod id with full
    formatting.
  inputs:
    type: object
    required:
    - appid
    - input
    - podId
    properties:
      appid:
        type: string
        description: Wolfram|Alpha AppID used to authenticate every request.
      input:
        type: string
        description: The natural language query to compute.
      podId:
        type: string
        description: The id of the pod to retrieve in detail (e.g. "Result").
      units:
        type: string
        description: Measurement system preference, either metric or imperial.
  steps:
  - stepId: surveyPods
    description: >-
      Run the query against the Full Results API to enumerate all available pods
      and their ids so the caller can confirm the pod of interest exists.
    operationId: queryFullResults
    parameters:
    - name: appid
      in: query
      value: $inputs.appid
    - name: input
      in: query
      value: $inputs.input
    - name: output
      in: query
      value: json
    - name: format
      in: query
      value: plaintext
    - name: units
      in: query
      value: $inputs.units
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/queryresult/success == true
    outputs:
      numpods: $response.body#/queryresult/numpods
      pods: $response.body#/queryresult/pods
  - stepId: getSpecificPod
    description: >-
      Re-run the same query filtered to the requested pod id, returning that one
      pod with full image and plaintext formatting for detailed display.
    operationId: queryFullResults
    parameters:
    - name: appid
      in: query
      value: $inputs.appid
    - name: input
      in: query
      value: $inputs.input
    - name: output
      in: query
      value: json
    - name: includepodid
      in: query
      value: $inputs.podId
    - name: format
      in: query
      value: plaintext,image
    - name: units
      in: query
      value: $inputs.units
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/queryresult/success == true
    outputs:
      podTitle: $response.body#/queryresult/pods/0/title
      podPlaintext: $response.body#/queryresult/pods/0/subpods/0/plaintext
      pod: $response.body#/queryresult/pods/0
  outputs:
    availablePods: $steps.surveyPods.outputs.pods
    selectedPod: $steps.getSpecificPod.outputs.pod
    selectedPodPlaintext: $steps.getSpecificPod.outputs.podPlaintext