arazzo: 1.0.1
info:
title: SAP BI Tools Story and Resource Cross-Reference
summary: Find a SAC story, fetch its detail, then list MODEL resources from the file repository to cross-reference its data sources.
description: >-
Connects a SAP Analytics Cloud story to the model resources in the tenant
file repository. The workflow lists stories to pick a starting point,
retrieves that story's detail with its model references, and then lists the
MODEL resources from the repository so the story's models can be matched
against the catalog of available models. SAP Analytics Cloud uses OAuth 2.0
bearer authentication, so no logon token is threaded between steps. 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: resourcesApi
url: ../openapi/sap-bi-tools-resources-api-openapi.yml
type: openapi
- name: storiesApi
url: ../openapi/sap-bi-tools-stories-api-openapi.yml
type: openapi
workflows:
- workflowId: story-resource-crossref
summary: Inspect a story and cross-reference its models against repository resources.
description: >-
Picks the first story, reads its model references, and lists MODEL
resources from the file repository for cross-referencing.
inputs:
type: object
properties:
top:
type: integer
description: Maximum number of resources to return.
default: 100
steps:
- stepId: listStories
description: List stories with their models and capture the first story id.
operationId: listStories
parameters:
- name: include
in: query
value: models
successCriteria:
- condition: $statusCode == 200
outputs:
firstStoryId: $response.body#/0/id
onSuccess:
- name: hasStories
type: goto
stepId: getStory
criteria:
- context: $response.body
condition: $.length > 0
type: jsonpath
- name: noStories
type: end
criteria:
- context: $response.body
condition: $.length == 0
type: jsonpath
- stepId: getStory
description: Retrieve the first story's detail including the models it references.
operationId: getStory
parameters:
- name: storyId
in: path
value: $steps.listStories.outputs.firstStoryId
- name: include
in: query
value: models
successCriteria:
- condition: $statusCode == 200
outputs:
storyName: $response.body#/name
firstModelId: $response.body#/models/0/id
firstModelName: $response.body#/models/0/name
- stepId: listModelResources
description: >-
List MODEL resources from the file repository to cross-reference against
the story's models.
operationId: listResources
parameters:
- name: resourceType
in: query
value: MODEL
- name: $top
in: query
value: $inputs.top
successCriteria:
- condition: $statusCode == 200
outputs:
firstResourceId: $response.body#/0/id
firstResourceName: $response.body#/0/name
outputs:
firstStoryId: $steps.listStories.outputs.firstStoryId
storyName: $steps.getStory.outputs.storyName
firstModelId: $steps.getStory.outputs.firstModelId
firstResourceId: $steps.listModelResources.outputs.firstResourceId
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.