Salesforce Experience Cloud · Arazzo Workflow

Salesforce Experience Cloud CMS Content Revise and Republish

Version 1.0.0

Update an existing CMS content item, then republish it to channels.

1 workflow 1 source API 1 provider
View Spec View on GitHub CMSCommunitiesCRMCustomer PortalDigital ExperienceExperience CloudPartner PortalArazzoWorkflows

Provider

salesforce-experience-cloud

Workflows

cms-content-revise-republish
Revise an existing CMS content item and republish it.
Reads a content item, updates its title and body, and republishes it to the supplied delivery channels.
3 steps inputs: accessToken, channelIds, contentBody, contentId, contentType, title outputs: contentId, managedContentId
1
getContent
getCmsContent
Read the content item to confirm it exists before revising.
2
updateContent
updateCmsContent
Apply the revised title and body to the content item.
3
republishContent
publishCmsContent
Republish the revised content item to the supplied delivery channels.

Source API Descriptions

Arazzo Workflow Specification

salesforce-experience-cloud-cms-content-revise-republish-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Salesforce Experience Cloud CMS Content Revise and Republish
  summary: Update an existing CMS content item, then republish it to channels.
  description: >-
    A content maintenance flow for Experience Cloud. The workflow reads an
    existing CMS content item to confirm it exists, applies revised title and
    body fields, then republishes the item to its delivery channels 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: cmsConnectApi
  url: ../openapi/salesforce-experience-cloud-cms-connect-openapi.yml
  type: openapi
workflows:
- workflowId: cms-content-revise-republish
  summary: Revise an existing CMS content item and republish it.
  description: >-
    Reads a content item, updates its title and body, and republishes it to the
    supplied delivery channels.
  inputs:
    type: object
    required:
    - accessToken
    - contentId
    - title
    - contentType
    - channelIds
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer token for the Salesforce instance.
      contentId:
        type: string
        description: ID of the CMS content item to revise.
      title:
        type: string
        description: Updated title for the content item.
      contentType:
        type: string
        description: Developer name of the content type.
      contentBody:
        type: object
        description: Updated content body fields as defined by the content type.
      channelIds:
        type: array
        description: Channel IDs to republish the content to.
        items:
          type: string
  steps:
  - stepId: getContent
    description: Read the content item to confirm it exists before revising.
    operationId: getCmsContent
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: contentId
      in: path
      value: $inputs.contentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      currentStatus: $response.body#/status
  - stepId: updateContent
    description: Apply the revised title and body to the content item.
    operationId: updateCmsContent
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: contentId
      in: path
      value: $inputs.contentId
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.title
        contentType: $inputs.contentType
        contentBody: $inputs.contentBody
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      managedContentId: $response.body#/managedContentId
  - stepId: republishContent
    description: Republish the revised content item to the supplied delivery channels.
    operationId: publishCmsContent
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: contentId
      in: path
      value: $inputs.contentId
    requestBody:
      contentType: application/json
      payload:
        channelIds: $inputs.channelIds
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contentId: $inputs.contentId
  outputs:
    contentId: $inputs.contentId
    managedContentId: $steps.updateContent.outputs.managedContentId