arazzo: 1.0.1 info: title: Salesforce Experience Cloud Site Update and Publish summary: Update an Experience Cloud site's settings, then publish the changes. description: >- A site maintenance flow. The workflow reads an existing Experience Cloud site to confirm it exists, applies updated name, description, and status properties, then publishes the site so the changes go live. 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: sitesApi url: ../openapi/salesforce-experience-cloud-sites-openapi.yml type: openapi workflows: - workflowId: site-update-publish summary: Update an Experience Cloud site's settings and publish them. description: >- Reads a site, updates its name, description, and status, then publishes the site to apply the changes. inputs: type: object required: - accessToken - communityId properties: accessToken: type: string description: OAuth 2.0 bearer token for the Salesforce instance. communityId: type: string description: ID of the Experience Cloud site (community) to update. name: type: string description: Updated name for the site. description: type: string description: Updated description for the site. status: type: string description: Updated status (Live, Inactive, or DownForMaintenance). steps: - stepId: getSite description: Read the site to confirm it exists before updating. operationId: getExperienceCloudSite parameters: - name: Authorization in: header value: Bearer $inputs.accessToken - name: communityId in: path value: $inputs.communityId successCriteria: - condition: $statusCode == 200 outputs: currentName: $response.body#/name - stepId: updateSite description: Apply the updated name, description, and status to the site. operationId: updateExperienceCloudSite parameters: - name: Authorization in: header value: Bearer $inputs.accessToken - name: communityId in: path value: $inputs.communityId requestBody: contentType: application/json payload: name: $inputs.name description: $inputs.description status: $inputs.status successCriteria: - condition: $statusCode == 200 outputs: updatedName: $response.body#/name - stepId: publishSite description: Publish the site to make the updated settings live. operationId: publishExperienceCloudSite parameters: - name: Authorization in: header value: Bearer $inputs.accessToken - name: communityId in: path value: $inputs.communityId successCriteria: - condition: $statusCode == 200 outputs: publishStatus: $response.body#/status outputs: communityId: $inputs.communityId updatedName: $steps.updateSite.outputs.updatedName publishStatus: $steps.publishSite.outputs.publishStatus