Infrastructure setup create-first-app
Infrastructure is the technical foundation for your app: the repositories that store its code and the services that run its action handlers and deliver its widgets to users.
As explained in the overview, an action handler performs a task, such as finding products, while a widget presents the result as an interactive experience in the conversation.
LLM Apps stores handler and widget source code in two separate GitHub repositories:
- Action repository — contains the server-side handlers and their tests.
- Widget repository — contains the code and styles for the interactive widgets.
For example, a product-search handler retrieves matching products, and its widget displays them as product cards. The repositories store that code; Adobe I/O Runtime runs the deployed handlers, and Edge Delivery Services serves the widgets.
The setup wizard prepares these repositories and connects the services your app needs. We recommend starting with Adobe managed infrastructure, the fastest way to get started. Adobe creates and hosts the repositories for your action handlers and widgets. You do not need to set up repositories yourself.
Alternatively, provide two empty GitHub repositories in your own account or organization. The platform initializes them with the required project files; you do not need to prepare action or widget code beforehand.
In this guide: Learn how to choose an infrastructure option and create your app with the setup wizard. After setup, continue to Create actions.
Creating the app does not start action generation. Start action generation separately from the app page.
Open the create-app wizard
Open Adobe LLM Apps. From the welcome page, select Get started. If you already have an app open, use the app selector and select Create new app.
The Create your LLM App wizard starts with Get started. Choose how to set up the technical environment.
Both options support automatic action generation later. Neither option requires you to write actions manually.
Use Adobe managed infrastructure adobe-managed-infrastructure
Use this option to let Adobe set up and manage the repositories and connected services for your app. You do not need to create repositories or install GitHub Apps yourself.
- Select Let us handle it.
- Select Next step.
- Complete App details.
- Select Create App.
The app page shows Setting up your app while Adobe prepares the repositories and connects the widget site. The UI indicates that setup usually takes 1–2 minutes; actions, testing, and deployment remain unavailable until setup is ready.
If setup fails, read the error and select Retry. If the page cannot check progress, setup continues in the background; select Check again to reconnect.
When setup completes, continue with Create actions.
Connect your own repositories your-own-repositories
Select I’ll set it up myself, then Next step. This path has four wizard steps:
Get started → Action infrastructure setup → Widget infrastructure setup → App details.
You need access to the selected repositories and permission to install or configure the required GitHub Apps. For organization-owned repositories, an administrator may need to approve access.
Create two empty repositories: one for action handlers and one for widgets. Do not initialize either with a README, license, or .gitignore. The platform adds the required project structure when you validate each repository in the wizard.
If you already have compatible action and EDS projects, you can connect those instead, but existing code is not required.
Set up the action infrastructure
The action repository contains the server-side handlers and tests that run when an LLM platform invokes an action.
-
Under Actions source, select GitHub. The other code sources are not currently available.
-
Answer Do you have a GitHub repository already created?:
- Select Yes, I will use a repo already created to connect a compatible existing project or an empty repository.
- Select I don’t have a repository yet, then Create repositories on GitHub, to create an empty action repository. Return to the wizard afterward.
-
Connect the repository to the Adobe LLM Apps GitHub App:
- If no organization is connected, select Install on GitHub.
- If an organization is already connected, select Connect repository and add the repository to that installation.
-
On GitHub, choose Only select repositories and grant access only to the repositories used by this app.
-
Return to the wizard. Under Select repository, choose the Organization and Repository.
-
Select Validate repository. Validation initializes an empty repository with the Adobe LLM Apps boilerplate. An existing repository must contain a compatible actions project.
-
After validation succeeds, select Next step.
If an organization or repository is missing, use Connect another org or Connect another repository in its picker. After changing access on GitHub, select Refresh organizations and repositories.
Set up the widget infrastructure
Widgets are optional visual responses attached to actions, such as product cards or booking forms. The wizard connects an Edge Delivery Services (EDS) repository to host them.
- Under Widget source, select Select widget repository manually.
- Under Code source, select GitHub.
- Choose whether you already have a repository. If not, select Create repositories on GitHub, create an empty widget repository, and return to the wizard.
- Install or configure the Adobe LLM Apps GitHub App for this repository, as you did for the action repository.
- Select its Organization and Repository. Do not select the action repository.
- Select Validate repository. Validation initializes an empty repository with the AEM boilerplate. An existing repository must be a compatible EDS project.
- Select Install AEM Code Sync and grant AEM Code Sync access to the widget repository.
- On the installation confirmation page, use the setup wizard to add yourself as an administrator of the EDS site.
- Return to LLM Apps and select Validate AEM Code Sync installation.
- When AEM Code Sync installed appears, select Next step.
If validation does not detect AEM Code Sync, confirm that AEM Code Sync has access to the selected widget repository and that you added yourself as a site administrator. Then validate again.
Enter app details app-details
Both infrastructure options finish with App details.
- Enter the LLM App Name. Use a name that identifies the brand or experience, such as Frescopa Coffee.
- Select the AEM program the app belongs to. If you have access to only one program, the wizard selects that program automatically.
- Under Analytics data region, choose United States (US) or Europe (EU).
- Select Create App.
If no AEM program is available, ask your administrator for access. If loading the programs fails, select Retry loading programs.
The wizard opens the app page after creation. With Adobe managed infrastructure, wait for infrastructure setup to finish before continuing.
Next: create the actions
Your app now has its infrastructure, but no generated actions yet. Continue with Create actions to analyze a website or choose manual action creation.
For the relationship between action metadata, handlers, widgets, and the deployed MCP server, see How an app is wired together.