System tools are built-in features that help Optimizely Opal take action. Each tool performs a specific task, such as creating a campaign, uploading files, or generating images. Think of tools like attachments on a Swiss Army knife. Each one has a distinct purpose that helps you get work done.
In addition to the system tools available in Opal, Optimizely Content Marketing Platform (CMP) includes a set of system tools designed to support content planning and production. These Opal system tools are grouped by functionality to make it easier to find the right tool for your workflow.
Click a tool's name to expand it and learn when to use it, its required and optional parameters, and example prompts to calling the tool. If you do not provide a required parameter, Opal prompts you for it.
Create
create_article_in_task – Creates an article inside a task in CMP.
-
When to use
- Generate a new article as part of a content creation task in CMP.
- Create an article and associate it with a specific task for tracking and workflow purposes.
- Populate a task with initial article content, including title, body, and SEO metadata.
-
Parameters
-
task_id– The ID of the CMP task where the article is created. -
title– The main title of the article. -
body– The main content of the article. -
author– The author of the article. -
meta_title– The meta title for Search Engine Optimization (SEO) purposes. -
meta_description– The meta description for SEO purposes.
-
-
Example prompts
-
Create an article in task
task-123with the title "Benefits of A/B Testing" and a brief body. -
I need to create a new blog post for task
task-456. The title should be "Optimizing Landing Pages" and the meta description "Learn how to optimize your landing pages for better conversions." -
Can you add an article to task
task-789? The author is John Doe, the title is "Content Strategy for 2025", and the body should discuss key trends.
-
Create an article in task
create_campaign – Proposes new campaigns for CMP based on the prompt, conversation history, and existing campaign brief (if creating a sub-campaign).
-
When to use
- Creating a campaign.
- Generating a campaign.
- Initiating a campaign creation process within CMP.
-
Parameters
-
campaign_title– The title of the campaign. This should be plain text without any formatting. -
campaign_brief– A brief description of the campaign. This should be under 500 words and in proper HTML format. Do not include the words "campaign title" or "campaign brief" in your response for this parameter. Only include the actual brief content. - (Optional)
parent_campaign_id– The ID of the parent campaign, if the new campaign is a sub-campaign.
-
-
Example prompts
- Create a new marketing campaign for the upcoming product launch.
- Suggest a campaign titled "Summer Sale 2025" with a brief about increasing online sales.
- Generate a campaign to promote our new e-book, focusing on lead generation.
-
Create a sub-campaign under
parent_campaign_id_123for social media promotion.
create_campaign_from_work_request – Creates a campaign in Opal based on an existing work request.
-
When to use
- Generate a new campaign after a work request has been approved.
- Streamline the campaign creation process by converting a work request into a campaign.
- Ensure all relevant details from a work request are accurately transferred to a new campaign.
- Quickly initiate a campaign once a work request is finalized.
-
Parameters
-
work_request_id– The ID of the work request from which to create the campaign. - (Optional)
campaign_name– The name for the new campaign. If not provided, the tool may use the work request's name. - (Optional)
start_date– The start date of the campaign in 'YYYY-MM-DD' format. - (Optional)
end_date– The end date of the campaign in 'YYYY-MM-DD' format.
-
-
Example prompts
-
Create a campaign from work request
wr-123. -
Convert work request
wr-456into a new campaign named "Q3 Product Launch". -
Please create a campaign from work request
wr-789with a start date of 2026-03-01 and an end date of 2026-05-31. -
Initiate a campaign from work request
wr-101.
-
Create a campaign from work request
create_event – Creates an event in CMP to track important dates and activities.
-
When to use
- Create an event to track important dates and activities in CMP.
- Associate events with a campaign.
- Schedule all-day events or events with specific start and end times.
-
Parameters
-
title– The name of the event to create. -
end_date– End date and time of the event in ISO 8601 format. For example, '2023-10-07T13:15:30Z'. -
start_date– Start date and time of the event in ISO 8601 format. For example, '2023-10-07T13:15:30Z'. -
is_all_day– Indicate if the event is all day long. - (Optional)
campaign_id– ID of the campaign under which the event is to be created. - (Optional)
description– Description of the event.
-
-
Example prompts
- Create an all-day event called 'Product Launch Day' on December 15th.
- Add a team meeting event from 2pm to 4pm on Friday.
- Create an event for the marketing campaign review next week.
create_library_folder – Creates a folder in the CMP library to organize assets and content. Folders support nesting by specifying a parent folder ID.
-
When to use
- Creating a new folder to store and categorize assets in the CMP library.
- Organizing your digital assets (like images, videos, documents) into a hierarchical structure.
- Creating subfolders within existing folders to further refine your organization.
-
Parameters
-
name– The name of the folder you want to create. It must be at least 1 character long. - (Optional)
parent_folder_id– The ID of an existing folder that you want to be the parent of the new folder. Use this if you want to create a nested folder. If not provided, the folder will be created at the root level of the library.
-
-
Example prompts
- Create a folder called 'Product Images'.
- Make a new folder for organizing video content.
- Create a subfolder 'Spring 2024' inside the 'Campaign Assets' folder.
create_milestone – Creates a new milestone within a specified campaign or project in CMP.
-
When to use
- To mark significant phases or achievements within a campaign or project.
- To set key deadlines or checkpoints for a project.
- To break down a large campaign into manageable stages.
- To track progress towards a major goal.
-
Parameters
-
campaign_id– The ID of the campaign or project where the milestone will be created. -
milestone_name– The name of the new milestone. - (Optional)
due_date– The due date for the milestone in 'YYYY-MM-DD' format. - (Optional)
description– A brief description of the milestone.
-
-
Example prompts
-
Create a milestone named "Content Finalized" in campaign
cmp-456. -
Add a milestone "Design Approval" to campaign
cmp-789with a due date of 2026-03-15. -
I need a new milestone "Launch Date" for campaign
cmp-101with a description "Official product launch" and a due date of 2026-04-01. -
Can you create a milestone "Q1 Review" in campaign
cmp-222?
-
Create a milestone named "Content Finalized" in campaign
create_task – Creates a single task suggestion for a specified CMP campaign.
-
When to use
- Suggesting a single task.
- Creating a single task.
- Generating a single task.
- Requesting a task related to a specific campaign or as a general task.
-
Parameters
-
title–: The title of the task to be created. This title should directly relate to the task's purpose. - (Optional)
campaign_id– The ID of the campaign to associate the task with. This can be determined from the system context, the current URL, or provided by you. - (Optional)
estimated_time_required_to_complete_task– The estimated time required to complete the task, provided as a string containing only the number of hours (for example, "3"). - (Optional)
workflow_id– The ID of the workflow to be used for the task.
-
-
Example prompts
- Create a task titled "Draft social media posts" for the "Summer Campaign".
- Suggest a task for "review legal copy" with an estimated time of 2 hours.
-
Generate a task named "Update website banner" and associate it with workflow
workflow-abc. -
Create a task for campaign
campaign-789called "Finalize Q3 Report".
create_tasks – Suggests multiple tasks for a CMP campaign based on prompt, chat history, and campaign brief.
-
When to use
- Suggesting tasks.
- Creating tasks.
- Generating tasks.
- Requesting tasks related to a particular campaign.
-
Parameters
-
campaign_id– The ID of the campaign to which these tasks are associated. This should be determined from the system instructions, the current URL, or provided by you. -
task_items– A list of task items to be created. Each item in the list should be an object with the following properties:-
title– The title of the task. -
estimated_time_required_to_complete_task– The estimated time needed to complete the task, provided as a string containing only the number of hours (for example, "4"). - (Optional)
workflow_id– The ID of the workflow to be used for this task.
-
-
-
Example prompts
- Create tasks for the "Holiday Marketing Campaign" to include content creation and social media scheduling.
-
Suggest some tasks for campaign
campaign-123related to a new product launch. -
Generate a task for "email draft" with an estimated time of 4 hours for campaign
campaign-456.
create_task_from_work_request – Creates a new task in CMP based on an existing work request.
-
When to use
- To convert a specific work request into an actionable task.
- To create a trackable task within a campaign or project from a work request.
- To assign responsibilities and set deadlines for a work request.
- To streamline the process of task creation using details from a work request.
-
Parameters
-
work_request_id– The ID of the work request from which to create the task. - (Optional)
task_name– The name for the new task. If not provided, the tool may use the work request's name. - (Optional)
assignee_id– The ID of the user to whom the task will be assigned. - (Optional)
due_date– The due date for the task in 'YYYY-MM-DD' format. - (Optional)
campaign_id– The ID of the campaign to associate the task with.
-
-
Example prompts
-
Create a task from work request
wr-321. -
Convert work request
wr-654into a task named "Review Ad Copy" and assign it to useruser-123. -
Please create a task from work request
wr-987with a due date of 2026-03-20 and associate it with campaigncmp-777. -
Initiate a task for work request
wr-001.
-
Create a task from work request
create_work_request – Create a new work request in CMP using a specified template.
-
When to use
- Create a new work request in CMP.
- Generate a work request from a template with custom form entries.
- Assign users or teams to a work request.
-
Parameters
-
form_template_id– The ID of the form template to use to create the work request. - (Optional)
assignee_names– List of assignee names to assign to the work request. Each name is resolved to user or team IDs automatically. - (Optional)
form_instructions– Instructions or context to help fill out the form fields in the work request.
-
-
Example prompts
- Create a work request using template `template-123`.
- Generate a work request with template `template-abc` and assign it to "John Doe".
- Create a work request with instructions "Review marketing assets" using template `template-xyz`.
Collaborate
add_comment_on_cmp_campaign – Add a comment to a CMP campaign, with support for attachments and replies.
-
When to use
- When you need to provide feedback, updates, or general communication on a specific CMP campaign.
- To attach relevant files (for example, reports or screenshots) to a campaign comment.
- To reply to an existing comment on a campaign, maintaining conversation threads.
-
Parameters
-
campaign_id– Unique identifier of the CMP campaign. -
comment– The comment text to add (minimum length is one character). Supports @mentions using format:@name. - (Optional)
file_ids– An array of Opal backend file IDs to attach to the comment. - (Optional)
parent_comment_id– The ID of an existing comment if the new comment is intended as a reply.
-
-
Example prompts
- Add a comment to campaign saying 'Review completed successfully'.
- Comment on the campaign with the generated report attached.
- Add feedback comment with screenshots attached.
- Reply to an existing comment with additional information.
add_comment_on_cmp_task – Add a comment to a CMP task, with support for attachments and replies.
-
When to use
- To add a comment to a task.
- To comment on the task with a generated report attached.
- To add a feedback comment with screenshots attached.
- To reply to an existing comment with additional information.
-
Parameters:
-
task_id– Unique identifier of the CMP task. -
comment– The comment text to add (minimum length is one character).. Supports @mentions using format:@name. - (Optional)
file_ids– An array of Opal backend file IDs to attach to the comment. - (Optional)
parent_comment_id– The ID of an existing comment if the new comment is intended as a reply.
-
-
Example prompts
- Add a comment to task saying 'Review completed successfully'.
- Comment on the task with the generated report attached.
- Add feedback comment with screenshots attached.
- Reply to an existing comment with additional information.
add_comment_on_task_substep – Add a comment to a CMP task workflow substep.
-
When to use
- To add a comment to a substep.
- To comment on the substep with a generated report attached.
- To add a feedback comment with screenshots attached.
- To reply to an existing comment with additional information.
-
Parameters
-
task_id– Thetask_id. -
step_id– The ID of the workflow step. -
sub_step_id– The ID of the substep within the workflow step. -
comment– The comment text to add (minimum length: 1). Supports @mentions using format: @name. - (Optional)
file_ids– An array of Opal backend file IDs to attach to the comment. - (Optional)
parent_comment_id– Optional parent comment ID for creating a reply to an existing comment. - (Optional)
only_sub_step– Whether the step has only one substep.
-
-
Example prompts
- Add a comment to the substep saying 'Review completed successfully'.
- Comment on the substep with the generated report attached.
- Add feedback comment with screenshots attached.
- Reply to an existing comment with additional information.
add_comment_on_cmp_work_request– Add a comment with optional file attachments to a work request in CMP.
-
When to use
- When you need to provide feedback, updates, or general communication on a specific CMP work request.
- To attach relevant files (for example, reports or screenshots) to a work request comment.
- To reply to an existing comment on a work request, maintaining conversation threads.
-
Parameters
-
work_request_id– The unique identifier of the CMP work request to add a comment to. -
comment– The text content of the comment. This field requires a minimum length of one character. You can add<span class="mention-highlight">@mentions</span>to notify other users within the comment. - (Optional)
file_ids– An array of Opal backend file IDs to attach to the comment. - (Optional)
parent_comment_id– The ID of an existing comment if the new comment is intended as a reply.
-
- Example prompts
- Add a comment to work request saying 'Review completed successfully'.
- Comment on the work request with the generated report attached.
- Add feedback comment with screenshots attached.
- Reply to an existing comment with additional information.
add_field_to_asset – Add a custom field and its value to an existing asset in the content library.
-
When to use
- Add custom metadata fields to assets for organization.
- Assign classification fields to documents.
- Add tracking fields to assets.
- Bulk assign multiple fields to an asset.
- Control the display order of fields (prepend important fields).
-
Parameters
-
asset_id– The unique identifier of the asset to modify. -
fields– List of field objects to add. Each field must have an 'id' property. Example: [{'id': 'field_id_1'}, {'id': 'field_id_2'}]. - (Optional)
prepend– If true, adds fields at the beginning. If false (default), adds at the end.
-
-
Example prompts
- Add a field with ID 'field_guid_1' to asset 'asset-123'.
-
Update asset
asset-456by adding a "Project" field with the value "Website Redesign". -
Assign the custom field "Status" with "Approved" to asset
asset-789.
update_work_request – Update a work request in CMP by modifying its assignee, status, or priority.
-
When to use
- To update the status of a work request.
- To change the priority of a work request.
- To reassign a work request to a user or team.
-
Parameters
-
work_request_id– The unique identifier of the work request to update. - (Optional)
status– The new status for the work request. Valid values areSubmitted,Accepted,Completed, orDeclined. - (Optional)
priority– The new priority for the work request. Valid values areLow,Medium,High. - (Optional)
assignee_name– The name or partial name of the user or team to assign the work request to. - (Optional)
assignee_type– The type of assignee to search. Valid values areuser,team, orauto(searches both). The default isauto.
-
-
Example prompts
- Update the status of work request 'WR-123' to 'Completed'.
- Change the priority of work request 'WR-456' to 'High'.
- Reassign work request 'WR-789' to 'John Doe'.
- Set work request 'WR-101' status to 'Accepted' and priority to 'Medium'.
Get
get_all_fields – Returns suggested task-asset fields in CMP that match a natural-language description. Includes IDs, names, types, and descriptions.
-
When to use
- Find available fields based on a natural language description.
- Identify fields by their name, type, or purpose.
- Prepare to add or update fields on a task asset.
- Understand what field options are available in CMP.
-
Parameters
-
context– A description of the fields you want to find. For example, 'checkbox field for selecting fruits', 'date field for deadlines', or 'all label fields'. - (Optional)
max_suggestions– The maximum number (integer) of field suggestions to return.
-
-
Example prompts
- Show me all available fields.
- What are the journey stage fields?
- Find checkbox fields for product categories.
- List all date fields for deadlines.
- I need to see all dropdown fields.
- What are the priority fields?
get_cmp_content_type_details – Returns details for a specific content type in CMP.
-
When to use
- Understand the structure and properties of an existing content type in CMP.
- Inspect the fields, their types, and other configurations for a particular content type.
- Get detailed information about a content type after listing them with the
get_cmp_organization_content_typestool.
-
Parameters
-
content_type_guid– The unique identifier (GUID) of the content type you want to retrieve details for.
-
-
Example prompts
- Show me the details of the 'Article' content type.
-
What are the properties of the content type with GUID
a1b2c3d4-e5f6-7890-1234-567890abcdef? - Can you provide the full schema for the 'Product Page' content type?
get_cmp_organization_content_types – Lists content types defined for your organization in CMP.
-
When to use
- See all the content types that are available in your CMP organization.
- Understand the different kinds of content you can create or manage.
- Identify content types before performing actions like creating new content or getting detailed information about a specific content type.
-
Parameters
- None
-
Example prompts
- List all content types in my CMP organization.
- What content types are available in CMP?
- Show me the different types of content I can create.
get_cmp_resource – Returns contextual information for a CMP task or campaign, including content and file metadata.
-
When to use
- Get detailed context about a particular CMP task, campaign, or work request.
- Understand the current state, content, or associated files of a specific resource.
- Gather information to provide a more informed response or perform subsequent actions related to that resource.
-
Parameters
-
resource_type– The type of CMP resource you want to get context for. Valid values are "task", "campaign", or "work_request". -
resource_id– The unique identifier (ID) of the specific resource you want to retrieve information for.
-
-
Example prompts
-
Get the details for task
task-123. -
What is the context for campaign
campaign-abc? -
Show me the information for work request
wr-456. -
Can you provide me with the content and file metadata for task
task-789?
-
Get the details for task
get_cmp_resource_files – Fetches files (images, videos, raw files, and attachments) from CMP tasks or campaigns and uploads them into Opal.
-
When to use
- Access files attached to a CMP task or campaign.
- Retrieve documents, images, videos, or other attachments from a CMP resource.
- Automatically convert documents (DOCX, PPTX) to PDF for viewing or further processing.
-
Parameters
-
resource_type– The type of CMP resource you want to get files from. Valid values are "task" or "campaign". -
resource_id–The unique identifier (ID) of the specific resource (task or campaign) whose files you want to retrieve.
-
-
Example prompts
-
Get all files from task
task-123. -
Show me the attachments for campaign
campaign-abc. -
I need to see the documents related to task
task-456. -
Can you fetch the files from campaign
campaign-789and convert any Word or PowerPoint documents to PDF?
-
Get all files from task
get_form_templates – Retrieves a list of all available form templates in CMP.
-
When to use
- When you need to see a comprehensive list of all form templates configured in CMP.
- When you want to understand the types of forms available for various content or object creation workflows.
- When preparing to create a new item and need to select from existing form structures.
- When reviewing or auditing the current set of form templates in the system.
-
Parameters
- None
-
Example prompts
- List all available form templates.
- Show me the form templates.
- What form templates can I use?
- Can you retrieve the list of form templates?
- I need to see all the form templates.
get_form_template_by_id – Retrieves a specific form template using its unique identifier.
-
When to use
- To fetch the details of a known form template for review.
- To integrate a specific form template into another system or process.
- To verify the existence and content of a form template.
- To retrieve a form template for editing or duplication.
-
Parameters
-
form_template_id– The unique identifier of the form template to retrieve.
-
-
Example prompts
-
Get the form template with ID
form-123. -
Can you show me the details of form template
template-abc? -
Retrieve the form template
xyz-456.
-
Get the form template with ID
get_library_folder_tree – Displays a hierarchical tree view of the CMP library folders and assets. Functions much like the tree command in Unix, displaying folders and assets in a tree-like format.
-
When to use
- Visualize the organizational structure of your CMP library.
- See all subfolders and, optionally, assets within a specific folder or the entire library.
- Understand how your digital assets are organized.
-
Parameters
- (Optional)
folder_id– The ID of the folder for which you want to get the tree structure. If not provided, the tool builds the tree for the root folder of the library. - (Optional)
include_assets– Set toTrueif you want the output to include individual assets within the folders, in addition to the subfolders. - (Optional)
max_depth– The maximum depth to traverse in the folder hierarchy. For example, amax_depthof 1 would show only the immediate subfolders and assets of the specified folder.
- (Optional)
-
Example prompts
- Show me the folder tree for the 'Campaign Assets' folder.
- What's the structure of the entire CMP library?
-
List all folders and assets within the folder with ID
folder-123. - Display the folder tree for the root, including assets, but only go 2 levels deep.
get_object_templates – Retrieves a list of available object templates in CMP.
-
When to use
- To see what kinds of content or asset templates are available for use.
- When planning to create new content and need to know the predefined structures.
- To understand the standard content types supported within CMP.
- Before using a tool that requires a
template_idto ensure the correct template is selected.
-
Parameters
- None
-
Example prompts
- What object templates are available?
- Can you list all the content templates in Opal?
- Show me the available templates for creating new objects.
get_relevant_workflows – Finds CMP workflows that match the given context.
-
When to use
- Discover appropriate workflows before creating tasks, to ensure they follow established processes.
- Understand which existing workflows best fit your specific requirements for a task or campaign.
- Search for workflows in CMP based on their purpose or the type of work they manage.
-
Parameters
-
context– A description of the task or campaign requirements for which you need a workflow. - (Optional)
max_suggestions– The maximum number of workflow suggestions to return.
-
-
Example prompts
- Find workflows for creating and publishing a blog post.
- What workflows are available for a multi-channel marketing campaign that requires approvals?
- Suggest workflows for distributing existing content across various platforms.
- I need a workflow for a quick content review process.
cmp_retrieve_asset_from_library – Retrieves assets from the CMP Library and returns their content in human-readable form (markdown). For textual MIME types (pdf, pptx, xlsx, markdown, html, txt, csv, json, css, and so on), it returns the content as markdown text. For other types (for instance, image/jpg, application/pdf, and so on) it returns the MIME Type and the base64 encoding.
-
When to use
- Access the content of a specific asset stored in the CMP Library.
- Read the text from documents like PDFs, presentations, spreadsheets, or markdown files.
- Get information about non-textual assets such as images or videos.
-
Parameters
-
asset_id– The unique identifier (GUID) of the asset you want to retrieve from the library.
-
-
Example prompts
-
Retrieve the content of the asset with ID
asset-123. -
Can you show me what's inside the document
doc-456from the library? -
Get the details of the image
img-789from the CMP library.
-
Retrieve the content of the asset with ID
get_saved_view_resources – Retrieves resources associated with a specific saved view in CMP.
-
When to use
- To fetch the content or assets that are part of a particular saved view.
- To review the items grouped under a specific saved filter or view.
- To integrate content from a saved view into another process or report.
- To verify what resources are included in a saved view before making changes.
-
Parameters
-
saved_view_id– The ID of the saved view.
-
-
Example prompts
-
Get the resources for saved view
view-123. -
What are the resources in my 'Q4 Campaign' saved view (ID
view-456)? -
Show me all the items associated with saved view
view-789.
-
Get the resources for saved view
get_task_asset_fields – Retrieves current field values for a task asset.
-
When to use
- View the current values of fields on a task asset.
- Understand the existing configuration of a content item within a task.
- Get the current state of fields before making updates or additions.
- As part of a field management workflow, typically after identifying available fields (
get_all_fields) and before updating them (update_task_asset_fields).
-
Parameters
-
asset_id– The ID of the asset or content item within the task. This can often be determined from thecontentTabGuidparameter in the current URL or provided by you. For newly created content, there might be a slight delay before fields can be accessed. -
task_id– The ID of the task that contains the asset. This can be determined from the system instructions, the current URL, or provided by you.
-
-
Example prompts
-
Get the fields for the asset
content-guid-123in tasktask-id-456. - Show me the current field values for the article in my current task.
-
What are the fields set for the image asset
image-guid-789within tasktask-id-101?
-
Get the fields for the asset
get_workflow_by_id – Returns the CMP workflow's structure, steps, sub-steps, actions, and assignees.
-
When to use
- Understand the specific details of a particular workflow.
- Get a comprehensive breakdown of a workflow's stages, including who is assigned to each step and what actions are involved.
- Verify the structure and configuration of a workflow before applying it to a task.
-
Parameters
-
workflow_id– The unique identifier of the workflow you want to retrieve information for.
-
-
Example prompts
-
Show me the details of workflow
workflow-abc. - Can you describe the steps in the "Content Approval" workflow?
-
What are the assignees and sub-steps for workflow
workflow-xyz?
-
Show me the details of workflow
File operations
batch_upload_files_to_cmp_resource – Uploads multiple files to a CMP campaign, task, or library.
-
When to use
- Upload several files at once to a CMP Campaign as attachments.
- Create multiple task assets from a batch of files within a CMP Task.
- Add multiple files as separate assets to the CMP Library.
- Streamline the process of getting content from Opal into CMP.
-
Parameters
-
file_items– A list of files to upload. You can specify 1 to 10 files per batch. Each object in the list should have the following:-
file_id– The ID of the file in the Opal backend. - (Optional)
title– A title for the uploaded file. If not provided, the original file name will be used.
-
-
resource_type– The target CMP resource type. Valid values are "campaign", "task", or "library". - (Optional)
resource_id– The ID of the target resource. This is required for "campaign" and "task" uploads. For "library" uploads, itis optional. If provided, it is thefolder_idwhere the files will be uploaded (null for the root of the library).
-
-
Example prompts
-
Upload these 5 images to the marketing campaign
campaign-123. -
Add all these documents as task assets for task
task-456. - Save these files to the CMP library.
-
I have three reports; please upload them to campaign
campaign-789.
-
Upload these 5 images to the marketing campaign
write_file_to_library – Write (create or update) a file to the CMP Library with automatic folder creation and file versioning.
-
When to use
- Add a new file to the CMP Library.
- Update an existing file in the CMP Library, which will create a new version of that file.
- Organize files into specific folder structures within the library, as it creates any necessary parent folders.
- Save generated content (for example, reports, images or videos) from Opal directly into your CMP asset management system.
-
Parameters
-
file_id– The ID of the file from the Opal file server (this would typically come from a previous file upload or generation step). -
file_path– The complete path where the file should be stored in the library, including the folder structure and the filename with its extension (for example, 'assets/images/banner.jpg' or 'docs/project/readme.md'). - (Optional)
title– A custom title for the file in the CMP Library. If not provided, the filename derived from thefile_pathwill be used as the title.
-
-
Example prompts
-
Write
report.pdftodocuments/quarterly/2024/. -
Save
banner.jpgtoassets/images/campaign/. -
Create
config.jsoninsettings/api/. -
Upload the file with ID
file-123to the library underproduct_assets/new_product/image.png. -
Save this generated image as
marketing/hero_image.pngwith the title "Homepage Hero".
-
Write
Idea Lab
get_idealab_domain_competition – Returns Idea Lab domain organic competition data.
-
When to use
- Analyze the organic search competition for a particular website.
- Understand the competitive landscape for a domain in specific geographic regions.
- Identify key competitors and their performance in search engine rankings.
-
Parameters
-
domain– The domain for which you want to analyze the competition. -
country_code– The two-letter ISO country code (for example, 'us', 'gb', or 'se') for the SEO analysis.
-
-
Example prompts
- Analyze the organic competition for example.com in the US.
- What is the domain competition for mywebsite.com in the UK?
- Show me the SEO competition for optimizely.com in Sweden.
get_idealab_domain_keywords – Returns Idea Lab domain organic competition data.
-
When to use
- Identify the keywords a particular domain ranks for in organic search results.
- Analyze a website's keyword portfolio in a specific country.
- Filter keywords to include or exclude certain terms (for example, branded keywords or specific topics).
- Sort keywords based on various metrics like traffic, position, or search volume.
-
Parameters
-
domain– The domain for which you want to analyze keywords. -
country_code– The two-letter ISO country code (for example, 'us', 'gb', or 'de') for the keyword analysis. - (Optional)
include_keywords– A comma-separated list of keywords that must be present in the results. - (Optional
exclude_keywords– A comma-separated list of keywords that must not appear in the results. - (Optional)
sort_by– A comma-separated list of fields to sort the results by. Use a '-' prefix for descending order (for example,sort_by='traffic,-position').
-
-
Example prompts
- What keywords does example.com rank for in the US?
- Show me the top keywords for mywebsite.com in the UK, excluding 'brand name'.
- List keywords for optimizely.com in Sweden, including 'experimentation' and sorting by traffic descending.
-
Get all keywords for
digitalmarketing.comin Germany that contain 'SEO' or 'content'.
get_idealab_keyword_infos – Returns Idea Lab SEO keyword information.
-
When to use
- Get in-depth SEO insights for a particular keyword.
- Understand the performance and characteristics of a keyword in a specific geographic market.
- Research keywords for content planning, SEO strategy, or paid advertising campaigns.
-
Parameters
-
keyword– The specific keyword for which you want to retrieve information. -
country_code– The two-letter ISO country code (for example,, 'us', 'gb', or 'au') for the SEO analysis.
-
-
Example prompts
- What are the keyword infos for "A/B testing" in the US?
- Show me the SEO data for "content marketing strategy" in the UK.
- Get the keyword information for "experimentation platform" in Australia.
get_idealab_keyword_keyword_questions – Returns common questions for an Idea Lab SEO keyword in a given country. This is highly valuable for content creation, FAQ development, and understanding user intent.
-
When to use
- Identify common questions users ask related to a particular keyword.
- Generate ideas for content, blog posts, or FAQ sections.
- Understand the information gaps or specific queries users have about a topic.
- Improve your SEO strategy by addressing user questions directly.
-
Parameters
-
keyword– The specific keyword for which you want to find related questions. -
country_code– The two-letter ISO country code (for example,, 'us', 'gb', or 'ca') for the analysis.
-
-
Example prompts
- What questions are associated with "conversion rate optimization" in the US?
- Find keyword questions for "headless CMS" in GB.
- Show me common questions about "A/B testing tools" in ca.
get_idealab_keyword_related_keywords – Returns related keywords that are semantically related to a given keyword in a specific country. This helps in expanding keyword research and discovering new content opportunities.
-
When to use
- Discover new keyword ideas for SEO and content strategies.
- Expand your understanding of a topic by identifying related search terms.
- Find long-tail keywords or variations that users might search for.
- Improve your content's relevance and coverage by incorporating related terms.
-
Parameters
-
keyword– The main keyword for which you want to find related terms. -
country_code– The two-letter ISO country code (for example., 'us', 'de', and 'au') for the analysis.
-
-
Example prompts
- What are the related keywords for "digital marketing" in the US?
- Show me keywords related to "e-commerce platforms" in DE.
- Find related search terms for "customer experience" in AU.
Retrieve
retrieve_from_cmp – Retrieves content items from CMP.
retrieve_from_cmp tool does not return the full CMP resource. Instead, it searches and provides the relevant chunks. To retrieve the entire content, use RAG for Content Marketing Platform (CMP).-
When to use
- Find specific campaigns, tasks, assets, or work requests in CMP.
- Get information about campaign briefs or task details.
- Search for content across your CMP workspace.
- Retrieve context for content creation or planning.
- When you need consistent, repeatable results by providing explicit filters.
-
Parameters
-
query– Search query to find relevant data in CMP. - (Optional)
resource_types– Filter to specific types: "asset", "campaign", "task", "work_request". - (Optional)
creator_ids– Filter by creator user IDs. - (Optional)
owner_ids– Filter by owner user IDs. - (Optional)
assignee_ids– Filter by assignee user IDs (tasks only). - (Optional)
status– Filter by status (tasks and work requests). - (Optional)
asset_types– Filter by "image", "video", "pdf", and so on. - (Optional)
date_filters– Filter by date ranges on specific date fields. - (Optional)
field_filters– Filter by custom fields or labels. - (Optional)
limit– Maximum number of results to return. - (Optional)
chat_history– Previous conversation context for better search results. - (Optional)
thread_id– Thread identifier for conversation continuity.
-
-
Example prompts
- Find campaigns related to summer marketing.
- Show me tasks assigned to the design team.
- What assets do we have for product launches?
- Find campaign briefs about social media.
- Retrieve all active campaigns.
- Get tasks due this month.
retrieve_from_cmp_as_csv – Retrieves content items from CMP and exports them as a .csv file.
retrieve_from_cmp_as_csv tool does not return the full CMP resource. Instead, it searches and provides the relevant chunks. To retrieve the entire content, use RAG for Content Marketing Platform (CMP).-
When to use
- Export CMP content for offline analysis or reporting.
- Migrate content from CMP to other systems in a structured format.
- Share CMP content data with stakeholders who require a spreadsheet format.
- When you need data from CMP in a CSV format.
-
Parameters
-
query– Search query to find relevant data in CMP. - (Optional)
resource_types– Filter to specific types: "asset", "campaign", "task", "work_request". - (Optional)
creator_ids– Filter by creator user IDs. - (Optional)
owner_ids– Filter by owner user IDs. - (Optional)
assignee_ids– Filter by assignee user IDs (tasks only). - (Optional)
status– Filter by status (tasks and work requests). - (Optional)
asset_types– Filter by "image", "video", "pdf", and so on. - (Optional)
date_filters– Filter by date ranges on specific date fields. - (Optional)
field_filters– Filter by custom fields or labels. - (Optional)
limit– Maximum number of results to return. - (Optional)
chat_history– Previous conversation context for better search results. - (Optional)
thread_id– Thread identifier for conversation continuity.
-
-
Example prompts
- Export all active campaigns as CSV.
- Get a spreadsheet of tasks due this month.
- Retrieve assets as CSV with resource type 'asset' and asset type 'image'.
Search
find_library_folder – Finds CMP library folders using regex.
-
When to use
- Locate a specific folder in the CMP library by its name or a part of its name.
- Find all folders that match a certain pattern (for example, all folders containing "campaign" in their name).
- Identify existing folders to use as a parent for new folders or to upload assets into.
-
Parameters
-
pattern(string, required): A valid Python regex pattern to match against folder names (case-insensitive). - (Optional)
max_results– The maximum number of matching folders to return. - (Optional)
parent_folder_id– The ID of a parent folder to limit the search scope. If not specified, the tool searches across all folders.
-
-
Example prompts
- Find folders containing 'campaign'.
- Search for folders matching the pattern 'product.2024'.
- Locate folders with 'video' in the name.
- Are there any folders named 'Q3 Reports'?
find_team – Finds CMP teams using regex-based queries.
-
When to use
- Locate a specific team or a group of teams based on their name.
- Identify teams for purposes such as assigning tasks, sending communications, or generating reports.
- Verify the existence of a team before performing other actions that require a team ID.
-
Parameters
-
search_query– The search query to match against team names using regex pattern matching. - (Optional)
max_results– The maximum number of teams to return.
-
-
Example prompts
- Find the engineering team.
- Search for teams containing 'marketing' or 'sales'.
- Are there any teams whose name starts with 'product'?
- Locate all QA teams.
- Show me the frontend development teams.
find_user – Finds CMP users using regex-based queries. This is useful for identifying individuals based on their name, role, or other attributes.
-
When to use
- Locate a specific user or a group of users.
- Identify users for purposes such as assigning tasks, sending emails, or checking roles.
- Verify the existence of a user before performing other actions that require a user ID.
-
Parameters
-
search_query– The search query to match against user names, roles, or other attributes using regex pattern matching. - (Optional)
max_results– The maximum number of users to return.
-
-
Example prompts
- Find users named "John".
- Search for users who are "designers" or "developers".
- Are there any users whose name starts with "admin"?
- Locate all "marketing specialists".
- Show me the "sales managers".
search_cmp_resources – Searches for various resources within CMP based on specified criteria.
-
When to use
- To find specific content items, campaigns, tasks, or assets in CMP.
- To retrieve a list of resources matching certain keywords or types.
- To locate assets or projects for reporting or further action.
- To discover existing content related to a new topic or initiative.
- To quickly access resources based on their current status. For example, 'published' or 'in review'.
-
Parameters
-
query– The search term or keyword to look for within resource names, descriptions, or content. - (Optional)
resource_type– Filters the search to a specific type of resource. For example, 'article', 'campaign', 'task', 'asset', or 'project'. - (Optional)
limit– The maximum number of results to return. Defaults to a reasonable number if not specified. - (Optional)
offset– The starting point for results, useful for pagination. - (Optional)
status– Filters resources by their current workflow status. For example, 'draft', 'published', 'in_review', or 'completed'.
-
-
Example prompts
- Find all articles related to "A/B testing".
- Search for campaigns that mention "holiday sale".
- Show me tasks that are currently "in review".
- List the top 5 assets tagged with "product launch".
- Can you find any content about "personalization" that is in "draft" status?
Suggest
suggest_structured_content – Suggests structured content, such as articles, blogs, newsletters, or social media posts, for a CMP task. This is useful for populating tasks with initial content drafts based on a summary and desired content type.
-
When to use
- Generate content suggestions for a CMP task, such as articles, blog posts, newsletters, or social media posts.
- Provide a content summary and title, and specify the type of content you want to create within a task.
- Initiate the content creation process for structured content that aligns with a task's objectives.
-
Parameters
-
content_summary– A summary of the content you want to generate. -
content_title– The title of the content. -
content_type_guid– The GUID of the content type you want to use. This GUID must correspond to one of the content types available in your organization (which you can retrieve using theget_cmp_organization_content_typestool). -
content_type_name– The name of the content type. -
task_id– The ID of the CMP task for which you are suggesting content. -
user_email– The email address of the user initiating the suggestion. -
user_name– The name of the user initiating the suggestion.
-
-
Example prompts
-
Suggest a blog post for task
task-123. The title is "5 Ways to Improve Your CRO" and the summary is about practical tips for conversion rate optimization. -
Generate a social media post for task
task-456about our new product launch. The title is "New Product Alert!" and the summary highlights key features. -
I need content for an email newsletter in task
task-789. The title is "Monthly Update" and the summary covers recent company news. -
Using the 'Article' content type, suggest content for task
task-001with the title "Understanding A/B Testing" and a summary explaining its benefits.
-
Suggest a blog post for task
Update
canvas_to_structured_content – Converts the content of an AI canvas into a specified structured content (an asset type) within a specified CMP task.
-
When to use
- When you have free-form text or markdown in a canvas and need to extract specific data points into structured content.
- When you want to transform brainstorming notes or meeting minutes from a canvas into a structured summary or a list of actionable items.
- When you want to convert a markdown document created in a canvas into a structured data model for automated processing or CMP.
- When you need to validate and reformat user-generated content from a canvas into a consistent, machine-readable structure.
-
Parameters
-
canvas_id– The unique identifier of the canvas whose content needs to be converted. -
output_schema– A JSON schema or a clear natural language description defining the desired structure of the output. This guides the extraction and formatting process. - (Optional)
content_type– The MIME type of the content within the canvas (for example,text/markdownortext/plain). If not provided, the tool will attempt to infer it.
-
-
Example prompts
-
Convert the content of canvas
canvas-123into a JSON object with fields for 'title', 'sections' (an array of strings), and 'keywords' (an array of strings). -
Structure the notes in canvas
meeting-notes-456into a YAML format, extracting 'date', 'attendees' (a list), 'topics_discussed' (a list), and 'action_items' (a list of objects with 'description' and 'owner'). -
Take the markdown content from canvas
blog-post-789and create a structured JSON output, ensuring 'h1' becomes the main title, 'h2' become section titles, and bullet points are converted into arrays under their respective sections. -
I have raw text in canvas
raw-data-101. Can you convert it into a JSON array of objects, where each object has 'name' and 'value' fields based on lines like 'Name: John Doe' and 'Value: Example'? -
Please structure the content of canvas
project-brief-222into a JSON object following this schema:{ "project_name": "string", "objectives": ["string"], "deliverables": ["string"], "timeline": "string" }.
-
Convert the content of canvas
update_asset – Updates various properties of an asset in the CMP Library, including metadata, tags, location, and archival status, using partial updates.
-
When to use
- To change the name, description, or other core attributes of an existing asset.
- To update the status (for example, 'Draft', 'Approved', or 'Archived') or add or remove tags associated with an asset.
- To modify the values of custom fields defined for a specific asset type.
- To replace the digital file content of an asset with a newer version or a different file.
- To adjust asset metadata for better organization, searchability, or compliance.
-
Parameters
-
asset_id– The unique identifier of the asset to be updated. - (Optional)
name– The new name for the asset. - (Optional)
description– The new description for the asset. - (Optional)
status– The new status for the asset. For example, "Draft", "Approved", or "Archived". - (Optional)
tags– A list of tags to associate with the asset. Existing tags not in this list might be removed, or new tags added, depending on the system's behavior. - (Optional)
custom_fields– A dictionary where keys are custom field names and values are their new desired values. - (Optional)
file_url– A URL pointing to a new file that will replace the current content of the asset.
-
-
Example prompts
-
Update asset
asset-456to change its name to 'Q3 Marketing Campaign Banner' and set its status to 'Approved'. -
Can you add the tags 'social media' and 'campaign 2025' to asset
asset-789? -
For asset
asset-101, update its description to 'High-resolution image for website hero section' and set the custom field 'Usage Rights' to 'Internal Only'. -
Replace the file for asset
asset-222with the content fromhttps://example.com/new_image.jpg. -
Update asset
asset-333by setting its status to 'Archived' and removing all existing tags.
-
Update asset
update_campaign_brief – Updates a campaign brief in CMP after you give Opal a confirmation.
-
When to use
- You have reviewed and approved the changes to a campaign brief.
- You want to finalize updates to a campaign brief after a confirmation step.
-
Parameters
-
campaign_id– The ID of the campaign whose brief you are updating. -
brief_content– The new content for the campaign brief, which should be in HTML format. -
update_summary– A very short summary of the change you are making to the brief, phrased in the present tense (for example, 'Updating campaign brief with Q4 strategy').
-
-
Example prompts
- Since this tool is used after you have confirmed changes, your prompts would typically reflect that confirmation.
-
Yes, update the brief for campaign
campaign-123with the new content. - Confirm the brief update for the "Summer Sale" campaign.
-
Go ahead and apply the changes to the campaign brief for
campaign-abc.
-
Yes, update the brief for campaign
- Since this tool is used after you have confirmed changes, your prompts would typically reflect that confirmation.
update_library_asset_field – Updates a single field value on a CMP library asset, supporting various CMP field types and value formats.
-
When to use
- To make a precise change to a single metadata field of a library asset without affecting other properties.
- To correct a typo in an asset's title or description within the library.
- To update a specific custom attribute (for example, "Usage Rights" or "Expiration Date") for a library asset.
- To programmatically adjust a field's value based on external data or a workflow step.
- To ensure consistency across specific fields for multiple assets in the library.
-
Parameters
-
asset_id– The unique identifier of the library asset whose field needs to be updated. -
field_name– The exact name of the field to be updated. For example, "title", "description", or "custom_field_name". -
field_value– The new value to be assigned to the specified field.
-
-
Example prompts
-
Update the 'title' field of library asset
lib-asset-123to 'New Product Launch Campaign Image'. -
Change the 'description' field for library asset
lib-asset-456to 'High-resolution hero image for website banner, Q4 2025 campaign'. -
Set the 'Usage Rights' custom field for library asset
lib-asset-789to 'Internal Use Only'. -
For library asset
lib-asset-101, update the 'Expiration Date' field to '2026-12-31'. -
Can you update the 'tags' field of library asset
lib-asset-222to include 'winter collection' and '2026 fashion'?
-
Update the 'title' field of library asset
update_milestone – Modifies the details of an existing CMP milestone, such as its name, due date, status, or description.
-
When to use
- To adjust the due date of a project milestone due to schedule changes or unforeseen circumstances.
- To mark a milestone as "Completed" or update its status to reflect current progress.
- To revise the description or name of a milestone for clarity, scope changes, or better alignment with project goals.
- To reassign ownership or add specific notes to a milestone.
- To reflect changes in project planning that impact key delivery points or phases.
-
Parameters
-
milestone_id– The unique identifier of the milestone to be updated. - (Optional)
name– The new name for the milestone. - (Optional)
due_date– The new due date for the milestone, typically in "YYYY-MM-DD" format. - (Optional)
status– The new status of the milestone. For example, "Not Started", "In Progress", "Completed", "Delayed", or "Cancelled". - (Optional)
description– The new description for the milestone. - (Optional)
owner_id– The ID of the new user or team to be assigned as the owner of the milestone.
-
-
Example prompts
-
Update milestone
milestone-123to set its due date to '2026-03-15'. - Mark milestone `milestone-456` as 'Completed'.
-
Change the name of milestone
milestone-789to 'Final Review and Approval' and update its description to 'All final assets to be reviewed by stakeholders'. -
For milestone
milestone-101, set its status to 'Delayed' and assign ownership touser-555. -
Update milestone
milestone-222to reflect a new due date of '2026-04-01' and a status of 'In Progress'.
-
Update milestone
update_task – Updates an existing task's title, owner, dates, or other attributes.
-
When to use
- Change the title of a task.
- Assign a new owner to a task.
- Adjust the start or due dates for a task.
- Move a task to a different campaign.
- Change the workflow associated with a task.
-
Parameters
-
task_id– The unique identifier of the task you want to update. -
update_summary– (string, required): A brief, user-friendly summary of the changes you are applying to the task, phrased in the present tense (for example, 'Updating task title and due date'). - (Optional)
title– The new title for the task. - (Optional)
owner_id– The ID of the user you want to assign as the new owner of the task. - (Optional)
start_at– The new start date and time for the task, in ISO 8601 UTC format (for example, '2025-10-06T13:00:00Z'). - (Optional)
due_at– The new due date and time for the task, in ISO 8601 UTC format (for example, '2025-10-06T13:00:00Z'). - (Optional)
campaign_id– The ID of the campaign you want to associate the task with, or change it to. - (Optional)
workflow_id– The ID of the workflow you want to use for the task, or change it to.
-
-
Example prompts
-
Update task
task-123to "Finalize Q4 Marketing Report". -
Change the owner of task
task-456to John Doe. -
Set the due date for task
task-789to next Friday. -
Move task
task-001to campaigncampaign-abc. -
Change the workflow for task
task-222toworkflow-xyz. -
Update task
task-333's title to "Review creative assets" and set the due date to 2025-11-15T17:00:00Z.
-
Update task
update_task_asset_fields – Adds or replaces fields on a CMP task's asset or content. This tool completely replaces all existing fields on the asset, so you need to include all fields you want to keep, plus any new ones.
-
When to use
- Modify the values of existing fields on a content asset within a task.
- Add new fields to a content asset within a task.
- This is typically the final step in a field management workflow:
- First, you might use
get_all_fieldsto find available fields. - Then, you would use
get_task_asset_fieldsto retrieve the current fields on the asset. - Next, you would merge the existing fields with any new fields you want to add or update.
- Finally, you use
update_task_asset_fieldsto apply this complete, merged list of fields.
- First, you might use
-
Parameters
-
task_id– The ID of the task containing the asset. You can often find this in the current URL or it might be provided by you. -
asset_id– The ID of the asset or content item within the task that you want to update. This is a critical parameter, and typos result sin errors. For newly created content, there might be a short delay before it os ready for field updates. -
fields(list of objects) – A complete list of field objects that will replace all existing fields on the asset. Each field object must include the following:-
id– The ID of the field (obtained fromget_all_fields). -
type– The type of the field (for example, 'text', 'dropdown', or 'label'). -
values(list): A list of values for the field. The format depends on the field type.-
text,text_area, orrich_text–['text_value']. -
dropdownorradio_button–['choice_id_string'](use the choice ID from the field definition). -
checkboxorlabel–['choice_id_string', 'another_choice_id'](use choice IDs as strings). -
date–['2024-12-31T23:59:59Z'](ISO datetime string). -
simple_number,currency_number, orpercentage_number–[123](numeric value) - For new fields, you can use an empty list
[]to add the field without specific values initially.
-
-
-
-
Example prompts
-
Since this tool requires a structured list of all fields, direct natural language prompts are less common. Instead, you would typically describe the change you want, and Opal constructs the necessary field list.
-
Add a "Priority" label with a value of "High" to the article in task
task-123. -
Update the "Publish Date" for the image asset in task
task-456to2025-12-31. -
Set the "Status" dropdown for the content in task
task-789to "Approved". -
I want to add a checkbox field called "Featured" and mark it as true for the video asset in task
task-001.
-
Add a "Priority" label with a value of "High" to the article in task
-
update_task_brief – Updates the brief for a task in CMP.
-
When to use
- Update the descriptive brief for a particular task.
- Refine the instructions or context provided within a task's brief.
- Apply changes to a task brief after reviewing and confirming the new content.
-
Parameters
-
task_id– The ID of the task whose brief you are updating. -
brief_content– The new content for the task brief, which should be in proper Markdown formatting. -
update_summary– A one-line summary of the changes you are making to the brief.
-
-
Example prompts
-
Update the brief for task
task-123with this new information. - Can you change the brief for the "Social Media Post" task to include the new hashtags?
-
I want to update the task brief for
task-456to reflect the new project scope.
-
Update the brief for task
upsert_task_field – Creates or updates a CMP task field by name.
-
When to use
- Add a new custom field to a task (for instance, a "Budget" field or a "Project Manager" field).
- Update the value of an existing field on a task (for example, change the "Status" from "Draft" to "In Review" or update a "Due Date").
- Simplify field management by referring to fields by name rather than complex IDs.
-
Parameters
-
task_id– The unique identifier of the task you want to modify. -
field_name– The name of the field you want to update or create (case-insensitive matching for existing fields). -
field_type(Required for new fields, optional for updates) – The type of the field. This is necessary if you are creating a new field. If you are updating an existing field, this parameter is ignored. Supported types include the following:text-
text_area -
rich_text -
simple_number currency_number-
percentage_number date-
checkbox -
label -
dropdown -
radio_butto image-
video
-
values– The values for the field. The format of this parameter depends on thefield_type.- Text fields (
text,text_area,rich_text) – A single string value in an array (for example,["Your text here"]). - Numeric fields (
simple_number,currency_number,percentage_number) – A single numeric value in an array (for instance,[5000]). - Date fields (
date) – A single ISO 8601 UTC datetime string in an array (for example,["2025-12-31T23:59:59Z"]). - Selection fields (
checkbox,label) – An array of choice IDs for multiple selections (for instance,["tag_id_1", "tag_id_2"]). - Selection fields (
dropdown) – An array of choice IDs (single for non-multi-select dropdowns) (for instance,["choice_id_1"]). - Selection fields (
radio_button) – A single choice ID in an array (for example,["choice_id_1"]). - Asset fields (
image,video) – A single asset object with title and key properties (for example,[{ "title": "My Image", "key": "asset_key_123" }]).
- Text fields (
-
-
Example prompts
-
Set the 'Priority' field on task
task-123to 'High'. -
Add a 'Budget' field to task
task-456with a value of 5000. -
Update the 'Due Date' for task
task-789to2025-12-31T23:59:59Z. -
Create a 'Tags' field on task
task-001and set its values to 'Marketing' and 'Campaign'. -
Change the 'Content Type' field on task
task-555to 'Blog Post'.
-
Set the 'Priority' field on task
update_task_structured_content – Updates structured content within a CMP task.
-
When to use
- Make changes to an existing piece of structured content within a task.
- Update the title, content, or other details of an article, blog post, or similar content item that is part of a CMP task.
- Refine content based on feedback or new requirements, ensuring the changes are tracked within the task.
-
Parameters
-
content_id– The ID of the specific structured content item you want to update. -
task_id– The ID of the task that contains the structured content. -
content_title– The new title for the content. -
locale– The locale for which the content is being updated (for example,en_US). -
update_content_brief– A precise summary of the updates needed based on your input. -
update_goal– A one-line description of the goal for this update. -
user_email– Your email address. -
user_name– Your name.
-
-
Example prompts
-
Update the title of the article in task
task-123to "New SEO Best Practices". -
For the content
content-456in tasktask-789, update the brief to include details about the Q4 campaign. -
Can you change the goal for the content in task
task-001to "Increase organic traffic by 15%"? -
Update the content with ID
content-abcin tasktask-xyzfor theen_USlocale, changing the title to "Product Launch Guide" and summarizing the updates as "Revised product features and launch timeline".
-
Update the title of the article in task
update_task_substep – Update the status or assignee of workflow substeps in a task by matching step names (supports complete, progress, skip, and assign).
-
When to use
- Change the status of a sub-step (for example, mark it as completed, in progress, skipped, or not started).
- Reassign a sub-step to a different user or team.
- Update multiple sub-steps simultaneously that share a common name or pattern.
-
Parameters
-
task_id– The unique identifier of the task containing the workflow sub-step you want to update. -
action_type– The type of action you want to perform. Valid values include the following:-
"complete"– Mark sub-steps as completed. -
"progress"– Mark sub-steps as in progress. -
"skip"– Mark sub-steps as skipped. -
"not-started"– Mark sub-steps as not started. -
"assign"– Change the assignee (requiresassignee_name).
-
-
step_name– The name or a partial name (using regex) of the main step containing the sub-step you want to update. This search is case-insensitive. - (Optional)
substep_name– The name or a partial name (using regex) of the specific sub-step within the main step. If not provided, theupdate_task_substeptool targets the first sub-step of the matched main step. - (Optional)
match_all– Set toTrueif you want to update all matching sub-steps. IfFalse(default), only the first matched sub-step is updated. - (Optional)
assignee_name– The name or partial name of the user or team you want to assign the sub-step to. This is required ifaction_typeis"assign". - (Optional)
assignee_type– The type of assignee to search for:"user","team", or"auto"(searches both). Defaults to"auto".
-
-
Example prompts
-
Mark the 'Review' step in task
task-123as completed. -
Set the 'Content Creation' sub-step to in progress for task
task-456. -
Skip all 'Approval' steps in task
task-789. -
Assign the 'Design' sub-step in task
task-001to the 'Design Team'. -
Assign all 'QA' sub-steps in task
task-222to 'Jane Doe'.
-
Mark the 'Review' step in task
update_work_request_resource_link – Modifies an existing resource link associated with a specific work request, such as updating its URL, description, or type.
-
When to use
- To correct an incorrect or outdated URL for a resource linked to a work request.
- To update the description of a resource link to provide more context or clarity.
- To change the type or category of a resource link. For example, from "design spec" to "final asset".
- To replace a placeholder link with the final link once the resource is available and approved.
- To ensure all resource links within a work request are accurate and up-to-date for collaborators.
-
Parameters
-
work_request_id– The unique identifier of the work request that contains the resource link to be updated. -
link_id– The unique identifier of the specific resource link to be updated within the work request. - (Optional)
url– The new URL for the resource link. - (Optional)
description– The new description for the resource link. - (Optional)
type– The new type or category for the resource link. For example, "design_file", "brief", "final_asset", or "reference".
-
-
Example prompts
-
Update the resource link
link-111within work requestwr-123to change its URL tohttps://new-design-spec.com. -
For work request
wr-456, update the description of linklink-222to 'Final approved copy for website hero section'. -
Change the type of resource link
link-333in work requestwr-789to 'final_asset'. -
In work request
wr-101, update linklink-444with a new URLhttps://updated-brief.pdfand description 'Revised project brief'. -
I need to update resource link
link-555in work requestwr-222. The new URL ishttps://final-mockup.pngand the type should be 'mockup'.
-
Update the resource link
If you use Opti ID, administrators can turn off generative AI in the Opti ID Admin Center. See Turn generative AI off across Optimizely applications.
Article is closed for comments.