Take the community feedback survey now.

K Khan
Sep 13, 2025
  1555
(0 votes)

Opal Core Concepts

Before you dive into the code, it's crucial to understand the foundational ideas that make Opal tick. Core concepts are consistent across all its SDKs. 

The Tool Manifest

Imagine you're introducing your tool to the Opal platform for the first time. You need a well-structured document that explains exactly what it is, what it needs, and how to use it. That document is the Tool Manifest. It’s the single source of truth that ensures Opal understands your tool perfectly.

This JSON blueprint contains all the essential details:
Name & Description: The human-readable "elevator pitch" for your tool.
Parameters: A detailed list of every input your tool expects, including their names, data types (string, number, boolean, etc.), and whether they are required or optional.
How to Invoke: The technical instructions: the specific HTTP endpoint (URL) and method (GET/POST) Opal should call to run your tool.
Authentication Requirements: Instructions on what, if any, credentials are needed.


The Discovery Endpoint

This is a specific URL your tool service must expose, typically at /discovery. When you register your tool with Opal, this is the first place it will "knock on the door." Its sole job is to respond to Opal's call by returning that all-important Tool Manifest we just discussed. This is how Opal dynamically discovers every tool your service offers, without you having to manually configure each one in a UI.

This endpoint is the critical handshake between your service and the Opal platform. If it's down, returns an error, or provides a malformed manifest, the conversation stops before it even begins. The SDKs automate its creation, so you can focus on your tool's logic.

Tool Execution

This is the main event—the process where Opal calls your tool to do its actual job. A user or process in Opal triggers your tool. Opal packages up all the provided parameters into a neat HTTP request (a POST with a JSON body). This request is sent to your tool's designated execution endpoint. Your tool processes the request, performs its task (query a database, call an API, run a calculation, etc.), and then returns a structured response (as JSON) back to Opal. This is the "work" phase. Understanding the expected request format and designing a clear response is key to implementing your tool's core functionality effectively.

Authentication

The essential security layer that ensures only authorized requests from Opal can trigger your tools and access their capabilities.

Bearer Tokens: A simple yet powerful method where Opal passes a secret token in the Authorization header. Your tool's first job is to validate this token before doing anything else.
OAuth Flows: For tools that interact with third-party services (like Google or Salesforce), your tool can leverage OAuth through Opal to securely access user data.

The Opal SDKs provide built-in helpers to simplify implementing these critical security measures.

 

Do you want to learn more?

https://world.optimizely.com/blogs/allthingsopti/dates/2025/8/a-day-in-the-life-of-an-optimizely-developer---the-optimizely-opal-tools-sdk-how-to-extend-opal-with-your-own-superpowers/

 

Sep 13, 2025

Comments

Please login to comment.
Latest blogs
Optimizely CMS Mixed Auth - Okta + ASP.NET Identity

Configuring mixed authentication and authorization in Optimizely CMS using Okta and ASP.NET Identity.

Damian Smutek | Oct 27, 2025 |

Optimizely: Multi-Step Form Creation Through Submission

I have been exploring Optimizely Forms recently and created a multi-step Customer Support Request Form with File Upload Functionality.  Let’s get...

Madhu | Oct 25, 2025 |

How to Add Multiple Authentication Providers to an Optimizely CMS 12 Site (Entra ID, Google, Facebook, and Local Identity)

Modern websites often need to let users sign in with their corporate account (Entra ID), their social identity (Google, Facebook), or a simple...

Francisco Quintanilla | Oct 22, 2025 |

Connecting the Dots Between Research and Specification to Implementation using NotebookLM

Overview As part of my day to day role as a solution architect I overlap with many clients, partners, solutions and technologies. I am often...

Scott Reed | Oct 22, 2025