Action and widget fields action-widget-configuration

IMPORTANT
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:

Tab
Settings
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.

Property
Description
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.

Metadata fields

Basic information

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:

Annotation
Description
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

OpenAI metadata

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:

Toggle
Description
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

Field
Description
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

Widget fields

Widget information

Field
Description
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

Field
Description
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.

Directive
Description
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.

Permission
Description
Camera
Access the device camera
Microphone
Access the device microphone
Geolocation
Access the user’s location
Clipboard
Read from or write to the clipboard
recommendation-more-help
llm-apps-help-main-toc