arazzo: 1.0.1 info: title: Salesforce Experience Cloud Headless Content Delivery summary: Resolve a delivery channel, query its published content, then fetch one item. description: >- A headless content delivery flow on the Managed Content API. The workflow lists the available delivery channels, queries published managed content versions for the first channel filtered by content type, then retrieves a single content item by its content key. Each 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: cmsManagedContentApi url: ../openapi/salesforce-experience-cloud-cms-managed-content-openapi.yml type: openapi workflows: - workflowId: headless-content-delivery summary: Query a delivery channel and fetch a published content item. description: >- Lists delivery channels, queries published content for the first channel by content type, and retrieves the first returned content item. inputs: type: object required: - accessToken - managedContentType properties: accessToken: type: string description: OAuth 2.0 bearer token for the Salesforce instance. managedContentType: type: string description: Developer name of the managed content type to query (e.g. news). language: type: string description: Language code to filter content (e.g. en_US). steps: - stepId: listChannels description: List the available delivery channels and capture the first channel ID. operationId: listDeliveryChannels parameters: - name: Authorization in: header value: Bearer $inputs.accessToken successCriteria: - condition: $statusCode == 200 outputs: firstChannelId: $response.body#/channels/0/channelId - stepId: queryContent description: Query published managed content for the channel filtered by content type. operationId: queryChannelContent parameters: - name: Authorization in: header value: Bearer $inputs.accessToken - name: channelId in: path value: $steps.listChannels.outputs.firstChannelId - name: managedContentType in: query value: $inputs.managedContentType - name: language in: query value: $inputs.language successCriteria: - condition: $statusCode == 200 outputs: firstContentKey: $response.body#/items/0/contentKey - stepId: getContentItem description: Retrieve the first returned content item by its content key. operationId: getChannelContentItem parameters: - name: Authorization in: header value: Bearer $inputs.accessToken - name: channelId in: path value: $steps.listChannels.outputs.firstChannelId - name: contentKeyOrId in: path value: $steps.queryContent.outputs.firstContentKey - name: language in: query value: $inputs.language successCriteria: - condition: $statusCode == 200 outputs: title: $response.body#/title managedContentId: $response.body#/managedContentId outputs: channelId: $steps.listChannels.outputs.firstChannelId contentKey: $steps.queryContent.outputs.firstContentKey title: $steps.getContentItem.outputs.title