Create Your First App Automatically create-first-app

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.

The platform turns your website into a fully functional app. It proposes actions, writes handler code and tests, creates EDS widgets, and sends the generated files to two GitHub repositories that you own.

Allow approximately 15 minutes for generation. At the end of this tutorial, you will have a deployed app that you can test in a supported LLM platform such as ChatGPT.

Journey: Confirm requirements → create two repositories → create the app → review generated actions → deploy to Stage → test the plugin → connect production systems.

Before you begin

Complete all LLM Apps requirements before starting this tutorial.

This tutorial creates an LLM App for Frescopa Coffee.

Create two empty repositories

The platform needs two empty repositories. Create both under the same GitHub account or organization:

  • Handler repository — stores action handlers and tests. For example, my-brand-llm-app.
  • EDS repository — stores generated widget blocks and styles. For example, my-brand-llm-app-eds.

Go to github.com/new for each repository.

Do not initialize either repository with a README, .gitignore, or license. The platform prepares the required project structure.

TIP
Use repository names that identify the app and the purpose of each repository. This makes them easier to recognize in the app-creation dialog.

Start the app

  1. Open Adobe LLM Apps and select Create App.

  2. Enter the LLM App Name and an optional description.

  3. Select the Analytics region.

    note important
    IMPORTANT
    The analytics region cannot be changed after the app is created.
  4. In Build My App, select Build my app automatically.

  5. In your website, enter your website URL including the https:// protocol. The platform analyzes this site to determine useful actions and representative sample results.

Create LLM App — app details and Build My App enabled

Give LLM Apps access to the repositories

The Adobe LLM Apps GitHub App gives LLM Apps access to the repositories you select.

NOTE
Connecting a GitHub organization is a one-time setup. If the organization already appears in the dialog, use Manage repos on GitHub instead of connecting it again.

Connected organization

If the Adobe LLM Apps GitHub App was already installed before you created the repositories:

  1. Select the connected organization.
  2. Select Manage repos on GitHub.
  3. Add the two repositories to the existing GitHub App installation.
  4. Return to LLM Apps and refresh the repository lists.

First-time connection only

If the organization does not appear in the dialog:

  1. Select Connect a GitHub org.
  2. Install the Adobe LLM Apps GitHub App.
  3. Choose Only select repositories and select the two repositories.
  4. Return to the Create LLM App dialog.

If you cannot install or update the GitHub App, ask an organization administrator.

Select the repositories

  1. Under Boilerplate Repository, select the organization and the empty handler repository.

  2. Under EDS Repository, select the organization and the empty EDS repository.

    Build My App — select the GitHub organization, Boilerplate Repository, and EDS Repository

  3. Under Terms & Conditions, check I accept the Adobe Developer Terms.

  4. Select Create App.

Complete the EDS setup

When the selected EDS repository is empty, LLM Apps initializes it with the AEM boilerplate. The dialog then asks you to install AEM Code Sync before trying to create the app again.

  1. In the message below the EDS repository, select Install AEM Code Sync.

  2. On GitHub, install AEM Code Sync and grant it access to the EDS repository.

    On the AEM Code Sync registered confirmation page, under Site users, select + Add user and add the email address you use to sign in to LLM Apps with the admin role. Then select Finish setup at the bottom of the page.

    AEM Code Sync registered — add yourself as a Site user with the admin role

  3. Return to the Create LLM App dialog.

Create LLM App — empty EDS repository initialized and AEM Code Sync required

You must be an administrator for the EDS site. If the dialog reports that you are not an administrator:

Create LLM App — EDS administrator access required

  1. Select Open AEM Live Admin.

  2. Add yourself as an administrator for the EDS site by clicking on the + Add User(s) button.

    Create LLM App — Add you as an EDS Admin

  3. Return to LLM Apps, refresh the EDS repository, and select Create App again.

After the repository and administrator checks pass, LLM Apps creates the app and starts generating actions.

Wait for Actions generation

Go to Actions page, from the left. The Actions page shows Discovering actions for your conversational experience while the agent analyzes the website and generates the app. Generation usually takes approximately 15 minutes. You can leave this page and return later.

Actions — generating recommendations

During generation, LLM Apps:

  1. Analyzes the website and identifies useful customer intents.
  2. Creates action metadata, including descriptions and input parameters.
  3. Generates a handler and tests for each action in the handler repository.
  4. Generates an EDS widget for each action in the EDS repository.
  5. Prepares the actions for your review.

The generated handlers initially use sample data derived from the website. They demonstrate the complete experience but do not connect to your production systems.

Review the generated actions

When generation finishes, the Actions page displays the generated actions and widget previews. Each action has an AI-generated action, needs review badge.

Actions — generated actions ready for review

For each action:

  1. Select Review.
  2. Review the name, description, parameters, annotations, generated handler, and widget.
  3. Select Mark as reviewed. This merges the generated pull requests.
  4. Return to the Actions page and repeat for the remaining actions.

Generated action — ready to mark as reviewed

When all actions are reviewed, select Go to App page.

Actions — all generated actions reviewed

NOTE
Generated code is a starting point that you own. You can change action metadata, handlers, tests, widget JavaScript, and widget styles after review.

Deploy the app

  1. Return to the App Detail page.
  2. Select Deploy.
  3. Select Stage as the target environment.
  4. Select Deploy.

Deploy — select the Stage environment

Wait while LLM Apps prepares, builds, and publishes the app.

Deploy — deployment pipeline running

Deploy — successful staging deployment

After deployment, the Test the app section displays the staging MCP server URL. Select Copy URL.

App Detail — copy the staging MCP server URL

Test in ChatGPT

Follow Test in ChatGPT to create a plugin using the staging MCP server URL.

Ask a question that matches one of the generated actions. Verify that:

  • ChatGPT selects the expected action.
  • The widget renders and contains the expected sample data.
  • Widget controls produce the expected follow-up behavior.
  • The text response accurately summarizes the result.

ChatGPT — generated LLM App plugin response

You now have a fully functional, working end-to-end app.

Make the app production-ready

The generated app uses sample data. Before using it with customers:

  1. Connect your systemscustomize each generated handler to replace sample data with calls to your APIs or data sources.
  2. Protect credentials — store API URLs and credentials in managed runtime configuration, never in source code or widget JavaScript.
  3. Validate data — validate action arguments and API responses, add request timeouts, and return safe error messages.
  4. Update the widgets — keep each widget aligned with its handler’s structuredContent, then apply your branding and accessibility requirements. See Customize a generated widget.
  5. Test the handlers — cover valid input, invalid input, empty results, API failures, and the data shape expected by the widget.
  6. Verify in Stage — redeploy and test every action through the ChatGPT plugin.
  7. Deploy to Production — after Stage testing succeeds, deploy to Production and create or update the plugin with the production MCP server URL.

To add a capability that the platform did not create, see Create an action from scratch.

recommendation-more-help
llm-apps-help-main-toc