Last update: October 19, 2026
Adobe LLM Apps is currently in Beta.
Features, workflows, and UI shown here do not necessarily represent the final state of the product. To join the Beta, send an email to llm-apps-beta@adobe.com.
Use this page to look up fields in the action editor. For the creation steps, see Create an action from scratch.
Find the settings
The Create new action dialog has Action and Widget Metadata tabs.
After creation, the saved-action editor uses three tabs:
LLM Widget details
Widget type, sandbox domain, widget description, template URLs, and CSP
Action details
Code identifier, description, input parameters, and LLM settings, including annotations, invocation status text, and visibility
Analytics
User intent collection and instructions
To save your edits, select Save changes. Generated actions awaiting review instead show Mark as reviewed, which also handles their generated pull requests.
Action parameters
Input parameters are the values the LLM platform sends to your action handler. The model extracts the values from the user’s message and maps them to the configured parameters.
Name
The parameter identifier (for example, category, query)
Type
String, Number, Integer, or Boolean
Description
A human-readable explanation — the LLM platform uses the explanation to extract the right value
Required
If checked, the model must provide this parameter before invoking the action
File parameters
File parameters are input field names configured in the action editor. When a user uploads a file, the host supplies a file object for those arguments, typically including download_url and file_id.
Field
Required
Description
Action name
Yes
Display name for the action (for example, Search Products)
Description
Yes
Explanation of what the action does — the LLM platform uses the explanation to decide when to invoke the action
The creation dialog previews an immutable Code identifier derived from the action name. It is unique within the app and contains up to 63 characters, starting with a lowercase letter and using lowercase letters, digits, hyphens, or underscores. It maps the action to actions/<code-identifier>/index.js in the handler repository.
Annotations
Optional hints that describe the action’s behavior:
Destructive hint
The action may delete or overwrite data
Idempotent (same args = no extra effect)
Repeating the same request has no additional effect on the environment; repeated requests do not necessarily return identical data
Open world hint
The action interacts with external systems
Read only hint
The action only reads data, never writes
Field
Max length
Description
Invoking status text
64 chars
Message shown in the LLM platform while the action runs (for example, Loading products …)
Invoked status text
64 chars
Message shown after the action completes (for example, Products loaded …)
Widget description
512 chars
Maps to _meta["openai/widgetDescription"]; summarizes the rendered component for the model and reduces repeated narration
The action description controls when the model selects the action. The widget description explains what the component shows after it renders.
Visibility
To turn an action on or off, use its Visibility switch on the app page. The switch controls whether the next deployment includes the action. The action editor has no separate on/off switch.
The following action-editor settings control model and widget exposure, not the app-level on/off state:
Expose to AI model
The action can be invoked by the AI model during conversations
Show as widget in app surface
The action renders a visual widget in the app
Model and widget exposure settings do not replace choosing a widget type.
Analytics
Collect user intent
Enabled by default. Requests an anonymized summary of the goal that led to the action for analytics
User intent description
Instructions used to request the summary, up to 2,000 characters. The default excludes personal and sensitive information. Review any customization against your privacy policy
Type / Widget type
In the creation dialog, select Edge Delivery Services block or No widget. The saved editor labels the text-only choice No interactive UI
Widget domain
Sandbox origin used by the host. The UI identifies it as required for app submission and unique per app. This is separate from the EDS page’s Widget URL
Prefers border
Requests a bordered container; rendering depends on the host. Available in the creation dialog
Template URLs
Script URL
HTTPS URL for the EDS scripts/aem-embed.js entry point. Shared across actions in the same EDS project
Widget URL
HTTPS URL for the EDS page rendered by the action. Generated actions configure the URL automatically
CSP configuration
Content Security Policy controls which external domains the widget iframe may contact. Every external domain must be explicitly allowlisted.
Resource domains
Domains for static assets — images, fonts, scripts, styles
Connect domains
Domains the widget may contact via fetch, XHR, or WebSocket
Frame domains
Origins allowed for nested iframes; triggers stricter app review
Redirect domains
Trusted targets for openExternal redirect links (ChatGPT-specific)
Base URI domains
The base-uri CSP directive (MCP Apps SDK only, not ChatGPT)
Permissions
Widget permissions govern access to hardware and browser APIs. The permissions map to the iframe permission policy.
Permission controls appear under Permissions (MCP specific) in the creation dialog. Grant only capabilities the widget requires; host support and user consent also apply.
Camera
Access the device camera
Microphone
Access the device microphone
Geolocation
Access the user’s location
Clipboard
Read from or write to the clipboard