---
schema_version: "1"
id: 6c116ceb2afb0f3f8d004a5d0d25496ee5e7f8a92ab30fd90d0f950aa903706a
title: Create an Apex-Based Lightning Type
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ai/264-0-0/prompt_builder_create_apex_based_lt.md
canonical_url: https://help.salesforce.com/s/articleView?id=ai.prompt_builder_create_apex_based_lt.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 546370142227a444bf1b2e54aa7563030367630efd38b6acd7ba46d8e5e29513
description: Create Apex-based Lightning types when you define schemas with Apex.
products:
  - Agentforce
  - Cross Cloud
release: "264"
---
# Create an Apex-Based Lightning Type

Create Apex-based Lightning types when you define schemas with Apex.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> Editions with the Einstein for Platform, or Einstein or Agentforce for Sales or Service add-on, or Agentforce Foundations</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d173195e68">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d173195e68 ">To create and manage prompt templates in Prompt Builder:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d173195e68 ">
              <p>Prompt Template Manager permission set</p>
              <ul>
                <li>Manage Prompt Templates</li>

                <li>Execute Prompt Templates</li>

              </ul>
              <p>OR</p>
              <p style="margin-bottom:0;">Customize Application permission set</p>
            </td>

          </tr>
        </tbody>
      </table>

1. Create an Apex class that defines the output structure. Ensure the Apex class implements: AICopilot.GenAIPromptTemplateOutput.
2. In Setup, search and select **Lightning Types**.
3. Create a Lightning type and associate it with the existing Apex class.
4. Click **Save**.

Apex-based Lightning types appear in Setup and used in Prompt Builder.

#### See Also

- [_Salesforce Help_: Citations in Retrievers](https://developer.salesforce.com/docs/einstein/genai/guide/lightning-types-custom-schema.html)