System tools overview

  • Updated

System tools by functionality

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.

This page lists all built-in system tools provided and maintained by Optimizely, grouped by functionality, so you can see what actions are available for your workflows. 

Additionally, Optimizely maintains tools for specific Optimizely products. See the following documentation for product-specific tools:

You can ask Opal what tools it has at any time. For example, enter "Please list the tools you have with a brief description of what they do and the parameters" into Opal Chat.

Click on a tool's name to expand it and learn more about when to use the tool, required and optional parameters, and example prompts on how to call the tool. If you do not provide a required parameter, Opal prompts you for it.

Browse the web

browse_web – Opens and extracts content from multiple webpages concurrently and returns the content in Markdown or HTML format.
  • When to use
    • When you need to gather information from one or more specific URLs.
    • When you want to summarize the content of a webpage.
    • When you need to extract raw HTML content from a URL.
    • When you are provided with a list of URLs and need to process them.
  • Parameters
    • urls – A list of URL items. Each item is an object that must contain a url and can optionally contain information_needed to specify what information to extract from that particular URL, and output_format (either 'markdown' or 'raw') to specify the desired output format for that URL.
    • default_information_needed – A string representing the default query to use if information_needed is not specified for a particular URL. This parameter is required when the default_output_format is 'markdown'.
    • default_output_format – A string specifying the default output format ('markdown' or 'raw') if not specified per URL. 'raw' formats return content without LLM processing.
  • Example prompts
    • Please summarize the main points of the article at https://www.optimizely.com/insights/blog/ and also get the raw content from https://www.example.com.
    • Can you tell me what is on this page: https://www.optimizely.com/products/experiment/web/.
    • Browse these two links for me: https://www.example.org and https://www.another-example.net.
browse_web_html – Browses a single webpage, extracts information, and returns content in raw HTML format.
  • When to use
    • When you need the complete, unprocessed HTML source code of a specific webpage.
    • When you want to analyze the structure or elements of a page directly.
    • When you are not looking for a summary but the full content as rendered by a browser.
  • Parameters
    • url – The URL of the webpage to browse and return raw content from.
  • Example prompts
    • Get the raw HTML from https://www.optimizely.com.
    • I need the full content of this page: https://www.example.com/product-details.
    • Can you fetch the HTML source of https://support.optimizely.com/hc/en-us/articles/36354416686477-Optimizely-Opal-overview.
take_webpage_screenshot – Captures a screenshot of a webpage by given URL.
  • When to use
    • When you need a visual representation or preview of a webpage.
    • When you want to see how a specific URL (including images or PDFs) appears in a browser.
    • To get a visual overview of content without needing to browse it yourself.
  • Parameters
    • url – The URL of the webpage to take a screenshot of.
  • Example prompts
    • Take a screenshot of https://www.optimizely.com.
    • Can you show me what https://www.example.com looks like?
    • Get a preview of the page at https://www.optimizely.com/blog/latest-posts/.

Canvas

Your active canvas provides a dynamic and collaborative environment where you and Optimizely Opal can build, customize, and deliver interactive digital assets, applications, and complex content. This workspace lets you create and manage digital assets in real-time. 

See Canvas overview for more information.

edit_canvas – Edits existing AI canvas (element) content using JSON Patch operations.
  • When to use
    • Modify specific parts of an existing canvas, whether it is a Markdown document, HTML code, or a React or Next.js application.
    • Programmatically update content in a canvas, for example, changing a title, updating a section of text, or replacing a code block.
    • Make iterative changes to a canvas's content based on feedback or new requirements.
  • Parameters
    • element_id – The unique identifier of the canvas (element) you want to modify.
    • base_commit_id – A crucial identifier representing the current version of the canvas. It is used to prevent conflicts if multiple people (or the AI) are trying to edit the same canvas simultaneously. When you are editing a canvas in the UI, this ID is typically provided by the system.
    • patch_operations – This is a list of instructions (list of dictionaries), in JSON Patch format, that describe the changes you want to make to the canvas content. These operations can include adding, removing, or replacing content, or applying a text-based diff patch.
  • Example prompts
    • Since this tool operates at a technical level with JSON Patch operations, direct user prompts to execute it are less common. Instead, you would typically ask the AI to make a change, and the AI would then use edit_canvas to perform that change. The following are examples of user requests that would likely trigger the AI to use this tool:
    • Can you update the main heading in my "Marketing Plan" canvas to "Q4 Marketing Strategy"?
    • In my "Product Page" React component, replace the old image URL with https://new-image.com/product.jpg.
    • Please remove the third bullet point from the "Key Features" section in my markdown document.
    • I want to replace the entire content of my "About Us" page canvas with this new HTML code.
create_canvas – Creates an interactive AI canvas (element) where you and Opal can collaboratively edit content in real-time. Canvases are versatile and can hold various types of content, from documentation to code.
  • When to use
    • Create any new editable content, including documents, files, presentations, code, or reports.
    • Collaborate on content.
    • Generate interactive (runnable) code. 
  • Parameters
    • name – The name of the canvas (element) to create.
    • content – The initial content you want to place in the canvas (element).
    • mime_type – The MIME type of the element content which determines how i i's rendered and interpreted. Valid options include the following:
      • text/markdown – For documentation, notes, and articles.
      •  text/html – For pure HTML content.
      • application/x-reactjs – For React components and applications.
      •  application/x-nextjs – For Next.js pages and applications.
    • (Optional) space_name – The name for the workspace (space) if you are creating a new one. If you do not provide one, it defaults to the canvas (element) name.
    • (Optional) space_description – A description for the workspace (space) if you are creating a new one.
  • Example prompts
    • Create a new markdown document for my marketing brief.
    • Write a React component for a hero section.
    • Make an HTML page with a simple contact form.
    • Can you create a Next.js application for a product listing page?
    • I need a canvas to draft a new blog post.
get_canvas – Retrieves an AI canvas (element) with current content and metadata for read-only operations.
  • When to use

    • Show the current content of a canvas to yourself or others.
    • Read the content of a canvas for processing or understanding, such as reviewing a document or code.
    • Verify if a canvas exists and retrieve its metadata.
    • Any task where you need to see the content but do not intend to modify it.
    Do not use this tool to get the base_commit_id before applying patches with edit_canvas. Th base_commit_id for editing must come from the UI's current element state to ensure you are working with the most up-to-date version and avoid conflicts.
  • Parameters
    • element_id – The ID of the canvas (element) you want to retrieve.
  • Example prompts
    • Show me the content of my "Project Proposal" document.
    • What is in the canvas named "Homepage Redesign"?
    • Can you display the code for the "User Authentication" React component?
    • Retrieve the details of ELEMENT_ID.
get_canvas_by_workspace – Lists all canvases (elements) in the current thread's workspace. It provides a summary of each element, including its ID, name, and type, but not its full content.
  • When to use
    • See all the content you have created or have access to in the current space.
    •  Identify specific canvases before performing actions like retrieving their full content (get_element) or editing them (edit_canvas).
    • Check what content already exists. Before creating a new canvas, you might want to see if a similar one already exists.
  • Parameters
    • None
  • Example prompts
    • List all the canvases in this space.
    • What content do I have in my current workspace?
    • Show me all the elements I've created.
    • Can you give me a summary of all the canvases here?
get_canvas_workspace – Returns details about the current workspace, including its metadata and current version information.
  • When to use
    • Check general information about your current workspace.
    • Retrieve metadata associated with the space.
    • Verify that a space exists for your current thread.
  • Parameters
    • None
  • Example prompts
    • What is this workspace about?
    • Can you tell me about the current space?
    • Show me the details of this project space.
create_powerpoint_canvas – Imports an external PowerPoint file (.pptx) and sets it up as a canvas for viewing, review, and text-based editing. The tool extracts slide text and prepares the file for PDFTron rendering.
  • When to use
    • Use this tool when you want to load an existing .pptx file into an interactive canvas for editing, reviewing, or rewriting slide content.
  • Parameters
    • name –  The name of the canvas (element) to create.
    • ppt_url – Specifies the URL of the .pptx file to import.
  • Example prompts
    • Import this PowerPoint into a new canvas: <URL>.
    • Create a canvas from this .pptx so I can rewrite the content.
update_powerpoint_canvas – Updates an existing PowerPoint canvas by modifying the underlying .pptx file. It supports deleting slides, replacing text, copying slides, and inserting images into placeholders.
  • When to use
    • Use this tool when you want to edit PowerPoint content already imported into a canvas.
  • Parameters
    • operation – Indicates the type of PowerPoint update to perform.
    • slide_numbers – Lists slides to delete (delete_slide operation).
    • search_text – Specifies text to find during replacement.
    • replace_text – Specifies text to insert during replacement.
    • source_ppt_url – Identifies the external PowerPoint used for copying slides.
    • source_slide_number – Selects which slide to copy from the source file.
    • image_url – Provides the image to insert into a placeholder.
    • slide_number – Selects the slide for image placement or matching.
    • placeholder_text_regex – Matches the target placeholder to replace with an image.
  • Example prompts
    • Delete slides 2 and 4 from this presentation.
    • Replace all instances of ‘Q3 2024’ with ‘Q4 2024’.
    • Copy slide 1 from this external PowerPoint into this canvas.
    • Insert this logo into the placeholder labeled ‘Logo’ on slide 3.

Date

get_today – Returns the current UTC date and time in a human-readable Markdown format.
  • When to use
    • When you need to know the current date and time in UTC.
    • When a task or request requires a timestamp or a reference to the current day.
  • Parameters
    • This tool has no parameters.
  • Example prompts
    • What is today's date?
    • Can you tell me the current UTC time?
    • What is the date and time right now?

Email notifications

send_email – Composes and sends emails as a notification tool. Supports setting email triggers by specifying various parameters. See Email domain configuration.
  • Use for notifications – Send status updates and alerts only. Do not send email marketing campaigns. Use a dedicated email marketing platform instead.
  • Limit to internal recipients – Send emails to your employees or approved team mailboxes only. Do not send emails to customers or external audiences.
  • When to use
    • When you need to send an email to one or more recipients.
    • When the email needs to include a subject and a body.
    • When you want to include attachments from the Opal backend.
    • When you need to CC or BCC other recipients.
  • Parameters
    • recipient_emails – A comma-separated list of primary recipient email addresses.
    • subject – The email subject line.
    • body – The email body content (HTML or plain text, auto-detected).
    • (Optional) from_email – The sender email address. This can be left blank, and Opal uses a default sender.
    • cc_emails – A comma-separated list of CC recipient email addresses.
    • bcc_emails – A comma-separated list of BCC recipient email addresses.
    • attachments – A comma-separated list of Opal file IDs or file links for attachment.
  • Example prompts
    • Send an email to john.doe@example.com with the subject "Project Update" and the body "The project is on track."
    • Please email the marketing team at marketing@optimizely.com about the new campaign, and CC my manager at manager@optimizely.com.
    • I need to send a quick note to the sales team, subject "New Product Launch", body "See attached for details", and attach file_id_123 and file_id_456.

File operations

convert_to_pdf – Converts a file or webpage to PDF.
  • When to use
    • When you need to convert a document (identified by a file ID or URL) into a PDF.
    • When you want to save a webpage as a PDF.
  • Parameters
    • source – The file ID, file URL, or webpage URL to convert to PDF (string). This accepts UUID format file IDs, Opal Backend file links, or any webpage URL.
  • Example prompts
    • Convert the file with ID 'file_12345' to PDF.
    • Can you convert the webpage at https://www.optimizely.com/products/web-experimentation/ to a PDF?
    • I need a PDF version of this document: https://example.com/report.docx.
get_file_metadata – Retrieves metadata for a file, such as dimensions or alt text.
  • When to use
    • When you have a file ID (from a previous upload or generation) and need to access its associated metadata.
    • When you want to confirm details about a file, such as its name, type, or size.
  • Parameters
    • file_id – The file ID from a previous upload in Opal.
  • Example prompts
    • What is the metadata for file ID 'file_abc123'?
    • Can you give me the details of the file with ID '40026099-7bf5-4e36-b5b5-86ffdf4f1de0'?
    • Retrieve information about the uploaded document, its ID is 'doc_xyz789'
read_file_content – Reads a file from the Opal backend with configurable encoding.
  • When to use
    • When you need to access the textual or binary content of a file that has been previously uploaded to or generated within the Opal Backend.
    • When you know the file_id of a file and want to retrieve its content for further processing or display.
  • Parameters
    • file_id – The file ID from the Opal Backend.
    • encoding – The file encoding to use, or 'binary' for binary files.
  • Example prompts
    • Read the content of file 'file_12345'.
    • Can you show me what is inside the document with ID 'doc_xyz789'?
    • Retrieve the binary content of the image file 'image_id_001'.
retrieve_file_from_gcs_uri – Read file content directly from a Google Cloud Storage (GCS) URI.
  • When to use
    • When you need to access the content of a file that is stored in GCS.
  • Parameters
    • gcs_uri – The GCS URI of the file.
    • (Optional) mime_type – The expected MIME type of the file. Should only be provided if you are certain of the MIME type.
  • Example prompts
    • Retrieve the content of the file located at gs://my-bucket/documents/report.pdf.
    • Can you get the data from this GCS URI: gs://data-lake/analytics/sales_data.csv?
    • Fetch the image from gs://product-images/new_product.png.
write_content_to_file – Saves generated content by Opal as a file in the backend. 
  • When to use
    • When you need to save any generated content (text, code, markdown) as a file.
    • To store temporary or permanent content that might be used by other tools (for example, as an attachment for an email).
  • Parameters
    • content – The content to write to the file.
    • filename – The desired filename with its extension (for example, "document.pdf" or "image.png").
    • (Optional) content_type – The MIME type of the content, auto-detected if not provided.
  • Example prompts
    • Save this markdown content as "my_report.md".
    • Write the following HTML code to a file named "index.html".
    • Create a text file called "meeting_notes.txt" with the content "Discussed Q4 strategy and next steps."

Ideate and reason

evaluate_response – Evaluates LLM responses as a quality assurance tool. Takes an original prompt and the LLM's response, then uses another LLM to provide a quality score (0-100) and feedback for improvement.
  • When to use
    • When you need to verify if your generated answer meets expected format and quality standards before finalizing your response.
    • To get objective feedback on an LLM's output against a given prompt and criteria.
  • Parameters
    • original_prompt – The original prompt or question that you asked the LLM.
    • llm_response – The LLM's response that needs to be evaluated for quality and format.
    • (Optional) evaluation_criteria – Specific criteria to focus on during evaluation.
  • Example prompts
    • Evaluate my response to the user's request for a campaign brief.
    • Check if this generated code adheres to the specified formatting guidelines.
    • Assess the quality of my explanation for the browse_web tool based on the original prompt.
ideate – Generates a plan and suggests available tools for complex or ambiguous tasks. Use this tool when Optimizely Opal is overwhelmed with how to proceed or needs a plan for how to address a given problem or topic.
  • When to use
    • When you are unsure how to proceed with a complex request or problem.
    • When you want a strategic plan or a step-by-step approach to address a query.
    • When you need to break down a large problem into smaller, manageable steps.
    • When you want to explore different ways to use the available tools to achieve a goal.
  • Parameters
    • what_to_ideate – The topic or problem to ideate on. This should be a clear description of what you want to brainstorm or plan for.
    • list_of_tools – A list of tools that can be suggested during the ideation process. This helps the ideation process focus on practical applications of the available functionalities.
  • Example prompts
    • Ideate on how to create a new marketing campaign using the available tools.
    • I need a plan to analyze website performance and suggest improvements.
    • How can I use the tools to generate customer segments and then create targeted content.
reasoning_step – Articulates internal intermediate reasoning steps, plans, or observations for complex questions to help Opal continue multi-step work. This is particularly useful for complex questions that require careful consideration or decomposition before formulating a final answer.
  • When to use
    • Whenever Opal needs to think through a complex problem or user request.
    • To break down a multi-step task into a clear plan.
    • To analyze the user's query and determine the best approach using available tools.
    • To record my internal observations or decisions before generating a response.
  • Parameters
    • thought_process where Opal articulate its detailed internal reasoning, step-by-step plan, analysis of the query, or any scratchpad notes needed to arrive at the final answer.
  • Example prompts
    • I need to determine the best sequence of tool calls to fulfill this request.
    • Let me analyze your intent and identify any ambiguities.
    • My plan is to first search for relevant information, then synthesize it, and finally present it to the user.

Images

analyze_image_content – Helps Opal understand and interpret the visual content of images, whether they are screenshots you provide or images Opal has found through a search. Opal can answer your questions based on what it "sees" in the image.
  • When to use
    • Describe what is present in an image.
    • Identify objects, people, or scenes within a picture.
    • Answer specific questions about the visual information in an image.
    • Extract context or details from a screenshot or any other image.
  • Parameters
    • file_id – The ID of the image file you want me to analyze. This would typically be an ID you received from Opal after uploading an image or if Opal generated an image for you.
    • query – The question or analysis request you have about the image.
  • Example prompts
    • What is in this image?
    • Describe the main elements of this screenshot.
    • What is the person in this image doing?
    • Can you tell me about the product shown in this picture?
change_image_aspect_ratio – Changes the aspect ratio of existing images. Maintains all visual content while extending to fit the new ratio. Supports standard ratios (1:1, 4:3, 16:9, 9:16) and custom ratios (for example, 3:2, 21:9, 5:4).
  • When to use
    • When you need to change the aspect ratio of an existing image.
    • When you want to adapt an image to a specific display size or layout requirement (for examplee, for a social media post, website banner, or print).
    • When you explicitly request to "change the aspect ratio," "make it square," "widescreen," or similar.
  • Parameters
    • image_link – A single image file link to change the aspect ratio.
    • target_aspect_ratio – The desired target aspect ratio. Options include standard ratios like '1:1' (Square), '4:3' (Standard landscape), '16:9' (Widescreen landscape), '9:16' (Vertical portrait), or custom ratios such as '3:2', '21:9', '5:4', and so on.
    • number_of_images – The number of variations (integer, from 1 to 4) to generate for the new aspect ratio.
  • Example prompts
    • Change the aspect ratio of this image to 16:9.
    • Can you make this picture a square?
    • I need to resize this image to a 9:16 portrait format.
    • Adjust the aspect ratio of the image at 'link_to_image.jpg' to 3:2.
generate_or_edit_image – Generate new images from text descriptions or edit existing images. Supports style transfers, object manipulation, zoom, and more.
  • When to use
    • When you need to generate a new image based on a textual description.
    • When you want to edit an existing image, such as removing an object, changing the background, or adjusting lighting.
    • When you want to create multiple variations of an existing image.
    • When performing operations like style transfer, object addition, or artistic enhancement on an image
  • Parameters
    • prompt – A text description for image generation or detailed instructions for image modification.
    • image_links – A comma-separated string of image file links. This can be used for editing existing images or generating variations. The first image is considered primary, and additional images provide context.
    • number_of_images – The number of variations (integer, 1-4) to generate or edit.
    • edit_type – The type of edit operation for temperature optimization (edit mode only). Options include the following:
      • style_transfer
      • object_removal
      • object_addition
      • background_change
      • lighting_adjustment
      • color_correction
      • artistic_enhancement
      • aspect_ratio_change
    • historical_context – Previous conversation context or editing history (edit mode only).
  • Example prompts
    • Generate a picture of a futuristic city at sunset.
    • Edit this image to remove the person in the background.
    • Change the style of this photo to a watercolor painting.
    • Create three variations of this product image with different lighting.
    • Add a dog to the image at 'image_link_1'.
analyze_image_content – Uses AI to understand and analyze the content of images, including screenshots or images found through web searches, and answers questions based on the visual information.
  • When to use
    • When you have an image (for example, a screenshot or a generated image) and need to extract information or ask specific questions about its content.
    • To get a description or analysis of what is depicted in an image.
  • Parameters
    • file_id – The ID of the image file to be analyzed. This file should exist in the Opal backend (for instance, from a previous upload or generation).
    • query – The specific question or analysis request you have about the image (for example, What is the main subject? or Describe the colors used).
  • Example prompts
    • What is in this image?
    • Describe this product.
    • What is happening here?

Keywords

figure_out_search_keywords – Generates 8-15 related search keywords for comprehensive information about a topic, presented in a markdown table format.
  • When to use
    • When you need to determine effective keywords for a search based on a user's natural language query.
    • When you want to understand the core components of a  request to formulate precise search queries for other tools (like search_web or search_optimizely_docs).
    • To break down a complex query into actionable search terms.
  • Parameters
    • user_query – The query for which the search keywords need to be generated.
  • Example prompts
    • Figure out search keywords for "Optimizely product features and benefits".
    • What are the best keywords to search for information on "A/B testing best practices"?
    • Help me find search terms for "How to integrate Optimizely with Google Analytics".

Search

search_optimizely_docs – Searches Optimizely public documentation (end-user and developer documentation) and summarizes relevant content.
  • When to use
    • Understand how to perform a specific task within an Optimizely product.
    • Search the Optimizely knowledge base or documentation for answers to your questions.
    • Find steps, procedures, or details about product features that are likely covered in support documentation.
    • Clarify or supplement your understanding of a topic if you are unsure about an answer.
  • Parameters
    • query – The search query you want to use to find information in the Optimizely knowledge base.
  • Example prompts
    • How do I create a new experiment in Optimizely Web Experimentation?
    • Tell me about the different types of content in Optimizely CMS.
    • What are the steps to integrate Optimizely Feature Experimentation with a React application?
    • Search the documentation for information on A/B testing best practices.
    • I need to know how to set up metrics in Personalization.
search_web – Searches the web for a given query using Google.
  • When to use
    • Find general information, news, or external resources related to marketing, experimentation, or digital experience.
    • Look for best practices, industry trends, or competitive analysis that extends beyond Optimizely's product features.
    • Search for images or other media files.
    • Gather information from specific websites (site search).
    • Find definitions or explanations of general concepts.
  • Parameters
    • search_query – The main query you want to search for.
    • (Optional) num_results – The number (integer) of search results you want to retrieve.
    • (Optional) country_code – A two-letter ISO country code (for example, 'us' or 'gb') to localize your search results.
    • (Optional) exact_terms – A phrase that all documents in the search results must contain.
    • (Optional) exclude_terms – A word or phrase that must not appear in the search results.
    • (Optional) file_type – If you are looking for specific file formats (for example, 'pdf' or 'docx').
    • (Optional )site_search – Specifies a particular website to include or exclude from the search results (for example, 'optimizely.com').
    • (Optional) search_type – Set to 'image' if you are looking for images.
      • (Optional) image_size – If search_type is 'image', you can specify the desired image size (for example, 'large', 'medium', or 'icon').
      • (Optional) image_type – If search_type is 'image', you can specify the desired image type (for example, 'photo', 'clipart', or 'face').
  • Example prompts
    • What are the latest trends in e-commerce personalization?
    • Find articles about A/B testing strategies.
    • Search for images of successful landing page designs.
    • What is the definition of 'customer lifetime value'?
    • Find information on optimizely.com about feature flags.
    • Search for marketing automation tools, excluding HubSpot.

Webpage analysis

analyze_pagespeed – Analyze a webpage's performance, SEO, or accessibility using Google PageSpeed Insights
  • When to use
    • Before launching a new webpage or website, to ensure it meets performance, SEO, and accessibility standards.
    • When a webpage is experiencing slow loading times, high bounce rates, or poor user engagement, to identify underlying technical issues.
    • To regularly check and improve the accessibility of a website, ensuring it is usable by individuals with disabilities.
    • To identify technical SEO opportunities and issues that might be impacting search engine rankings.
    • After implementing performance or SEO improvements, to verify their effectiveness and measure the impact.
  • Parameters
    • url – The URL of the webpage to analyze.
    • analysis_type – The type of audit to perform. It can be one of the following:
      • 'seo_audit' – Technical SEO analysis with performance metrics (SEO + Performance categories).
      • 'accessibility' – Accessibility audit (WCAG/ARIA compliance).
      • 'page_speed' – Page speed and performance analysis (Performance + Best Practices categories).
    • (Optional) device – The device to emulate for the analysis. It can be 'desktop' or 'mobile'.
  • Example prompts
    • Can you run a page speed analysis for https://www.optimizely.com on mobile?
    • I need an SEO audit for my new product page at https://www.example.com/products/new-product.
    • Check the accessibility of our homepage https://www.mycompany.com.
    • Give me a performance report for https://blog.optimizely.com on desktop.
    • Perform an SEO and performance audit for https://www.marketingcampaign.com/landing-landing-landing-landing.page.

System tools in beta

Tools labeled Preview are not available in Opal Chat by default and are in beta. Contact your Customer Success Manager to add your instance to the beta and then Opal administrators can go to the Tools tab and enable them in Opal Chat.

Retrieval-Augmented Generation (RAG)

The RAG tools are in beta. Contact your Customer Success Manager for more information.
search_application_data – Searches across Content Management Platform (CMP) campaigns, tasks, assets, and briefs with RAG, returning ranked results and links. The tool returns structured information with similarity scores and direct links to relevant objects in your CMP instance. 
  • When to use
    • Find specific campaigns, tasks, or assets in CMP.
    • Get information about campaign briefs or task details.
    • Search for content across your CMP workspace.
    • Retrieve context for content creation or planning.
  • Parameters
    • query – Search query to find relevant application data in CMP.
    • (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.
search_optimizely_graph – Search for relevant information in your CMP and CMS data using RAG for Optimizely Graph. The tool provides powerful search, filtering, and content delivery capabilities for your applications. The tool can return both structured documents (like content items) and unstructured analytical data, depending on your query.
  • When to use
    • Search for content across your Optimizely products (CMS, CMP).
    • Find specific content, such as articles, products, or experiments.
    • Get analytics or summary data from Optimizely Graph.
    • Power headless content delivery for mobile or web applications.
  • Parameters
    • query – Search query to find relevant application data in CMP or CMS.
    • (Optional) chat_history – Previous conversation context for better search results.
    • (Optional) thread_id – Thread identifier for conversation continuity.
  • Example prompts
    • Find content related to 'winter promotions'.
    • Show me analytics for the latest homepage experiment.
    • What features are enabled for US users?

To-do

The to-do tools are in beta. Contact your Customer Success Manager for more information.
add_todo – Adds an item to a to-do checklist.
  • When to use
    • Add a new task or item to a specific to-do list.
    • Keep track of action items or reminders related to your Optimizely projects or general work.
  • Parameters
    • list_id – The ID of the to-do list where you want to add the task.
    • task_description – A description of the task you want to add.
  • Example prompts
    • Add "review campaign brief" to my to-do list.
    • Can you add "follow up with design team" to my tasks?
    • I need to add "prepare Q4 report" to my list.
complete_todo – Marks a to-do checklist item complete.
  • When to use
    • Mark a specific task on your to-do list as completed.
    • Remove a task from your list when it is finished.
  • Parameters
    • list_id – The ID of the to-do list from which you want to complete a task.
    • task_index – The index (0-based) of the task you want to complete within the specified list.
  • Example prompts
    • Mark "review campaign brief" as complete.
    • I finished "follow up with design team", please complete it.
    • Complete the task "prepare Q4 report".
    • I am done with the first item on my list. In this case, you would need to specify the task_index.
create_todolist – Creates a to-do checklist and returns its ID.
  • When to use
    • Start a new list to organize tasks, action items, or reminders.
    • Create a dedicated list for a specific project, campaign, or area of work.
  • Parameters
    • (Optional) initial_item –The description of the first task to add to the newly created to-do list.
  • Example prompts
    • Create a new to-do list for my marketing campaign tasks.
    • Make a new list called "Website Redesign Checklist".
    • Create a to-do list and add "research competitor websites" as the first item.
list_todos – Lists items in a to-do checklist.
  • When to use
    • See all the tasks that are currently on a particular to-do list.
    • Check the progress or status of items in a list.
    • Get an overview of what needs to be done for a project or initiative.
  • Parameters
    • list_id –The ID of the to-do list you want to view.
  • Example prompts
    • List all my tasks.
    • Show me what's on my "Marketing Campaign" to-do list.
    • What are the outstanding items in the "Website Redesign" list?

Video

The generate_video tool is in beta. Contact your Customer Success Manager for more information.
generate_video – Generates videos from text descriptions and optional starting images. It supports various aspect ratios and durations, and includes automatic prompt enhancement and audio generation. 
  • When to use
    • Create a new video based on a textual description.
    • Generate a video using an existing image as a starting point.
    • Produce video content for marketing, social media, or other digital experiences.
    • Experiment with different video styles, durations, or aspect ratios.
  • Parameters
    • prompt – A text description of the video you want to generate.
    • (Optional) starting_image_link – The URL or link to a starting image to be used for image-to-video generation.
    • (Optional aspect_ratio – The aspect ratio of the video. Options include '16:9' (Widescreen), '9:16' (Portrait), or '1:1' (Square). If not specified, it defaults to '16:9'.
    • (Optional) duration_seconds – The desired duration of the video in seconds. Options are 4 or 8. If not specified, it defaults to 8 seconds.
    • (Optional) generate_audio – Set to True to include audio generation in the video. If not specified, it defaults to True.
    • (Optional) generation_mode – Determines the balance between generation speed and quality. Options are 'standard' or 'fast'. If not specified, it defaults to 'standard'.
    • (Optional) number_of_videos – The number of video variations to generate. You can request 1 or 2 variations. If not specified, it defaults to 1.
    • (Optional) resolution – The resolution of the video. Options are '1080p' or '720p'. If not specified, it defaults to '1080p'.
  • Example prompts
    • Generate a video of a futuristic city at sunset.
    • Create a 16:9 video, 8 seconds long, showing a product being unboxed.
    • Generate a video from this image: https://example.com/image.jpg with a prompt about a serene forest.
    • Make a short portrait video (9:16) of a person dancing.
    • Generate two variations of a video about a new software feature.

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.