Common workflows with CMS tools
Example workflows using Optimizely Opal tools in CMS 13.
Practical examples of how Optimizely Opal uses CMS tools to accomplish common content management tasks.
Create a page with content
A typical content creation workflow involves creating the content type (if needed), creating a content item, populating its properties, and publishing it.
List available content types
- Tool –
paas_cms_list_content_types - Parameters
{ "baseType": "_page" }
Returns all page content types with their names, keys, and property counts.
Create a content item
- Tool –
paas_cms_create_content_item - Parameters
{ "contentType": "StandardPage", "displayName": "About Us", "routeSegment": "about-us", "locale": "en" }
Returns contentKey (GUID) and contentVersion for subsequent operations.
Populate content properties
- Tool –
paas_cms_update_content_item - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 1, "properties": "{\"MainBody\": \"<p>Welcome to our company...</p>\", \"TeaserText\": \"Learn about our mission and values.\"}" }
Publish the page
- Tool –
paas_cms_publish_content_item - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 1 }
Create a custom content type
Build a new content type and organize properties into groups.
Check current property groups
- Tool –
paas_cms_list_property_groups
Returns available property groups (tabs) you can use to organize properties.
Create a property group (if needed)
- Tool –
paas_cms_create_property_group - Parameters
{ "key": "SEO_Settings", "sortOrder": 200 }
Create the content type
- Tool –
paas_cms_create_content_type - Parameters
{ "key": "BlogPost", "displayName": "Blog Post", "description": "A blog post with author, date, and rich content", "baseType": "_page", "properties": "[{\"name\": \"Author\", \"type\": \"string\", \"group\": \"Content\"}, {\"name\": \"PublishDate\", \"type\": \"string\", \"group\": \"Content\"}, {\"name\": \"MainBody\", \"type\": \"richtext\", \"group\": \"Content\"}, {\"name\": \"MetaTitle\", \"type\": \"string\", \"group\": \"SEO_Settings\"}, {\"name\": \"MetaDescription\", \"type\": \"string\", \"group\": \"SEO_Settings\"}]" }
Verify the content type
- Tool –
paas_cms_get_content_type_details - Parameters
{ "contentTypeKey": "BlogPost" }
Returns the full content type definition with all properties.
Create a localized version
Create a translated version of existing content for a different locale.
Get the original content
- Tool –
paas_cms_get_content_data - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5" }
Create a locale variation
- Tool –
paas_cms_create_content_variation - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "variationKey": "Swedish", "locale": "sv", "displayName": "Om oss" }
Set translated properties
- Tool –
paas_cms_update_content_item - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 2, "properties": "{\"MainBody\": \"<p>Välkommen till vårt företag...</p>\", \"TeaserText\": \"Läs om vårt uppdrag och våra värderingar.\"}" }
Publish the variation
- Tool –
paas_cms_publish_content_item - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 2 }
Optimize content for SEO
Analyze existing content and apply Search Engine Optimization (SEO) improvements.
Get a preview URL
- Tool –
paas_cms_get_content_preview_url - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 1 }
Run SEO analysis
- Tool –
paas_cms_seo_analysis - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "previewUrl": "https://mysite.com/about-us", "question": "How can I improve search rankings for this page?" }
Returns detailed analysis with recommended values for SEO fields.
Apply SEO recommendations
- Tool –
paas_cms_seo_edit - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "recommendedValues": "{\"MetaTitle\": \"About Us | Company Name\", \"MetaDescription\": \"Learn about our mission, values, and team.\"}", "actualPropertyNames": "{\"MetaTitle\": \"MetaTitle\", \"MetaDescription\": \"MetaDescription\"}" }
Add schema markup
Improve content discoverability for AI and search engines using JSON-LD structured data.
Run Generative Engine Optimization (GEO) analysis
- Tool –
paas_cms_geo_analysis - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "previewUrl": "https://mysite.com/about-us" }
Returns a comprehensive LLM discoverability audit with JSON-LD schema recommendations.
Apply JSON-LD templates
- Tool –
paas_cms_geo_apply - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "jsonLdTemplates": "{\"Organization\": {\"@context\": \"https://schema.org\", \"@type\": \"Organization\", \"name\": \"Company Name\", \"url\": \"https://mysite.com\"}}" }
Schedule content for future publish
Create content now and schedule it to go live at a specific date and time.
Create and populate content
Follow the Create a Page with Content workflow (steps 1-3).
Schedule publish
- Tool –
paas_cms_publish_content_item - Parameters
{ "contentKey": "c3558e08-00a6-45d0-bfff-5bd2bda3acb5", "contentVersion": 1, "scheduledPublishDate": "2026-04-01T09:00:00Z" }
Optimizely automatically publishes the content at the specified date and time.
Updated 2 days ago
