---
schema_version: "1"
id: f2c177038324699cc6c3ae76e827c769364c1f5747cd5060037e38ac19e2e62b
title: EinsteinLLM Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_ConnectAPI_EinsteinLLM_static_methods.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_ConnectAPI_EinsteinLLM_static_methods.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: e1ac4bf055a21df467c0285bc7443f7de59835aa7896d803f8123e20cf1f8eee
description: Get a list of prompt templates and generate LLM responses for prompt templates.These methods are for EinsteinLLM. All methods are static.Generates a response using the specified prompt template and input parameters.Get a list of prompt templates using the specified filters.
---
# EinsteinLLM Class

Get a list of prompt templates and generate LLM responses for prompt templates.

## Namespace

[ConnectApi](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_classes_connect_api.htm "The ConnectApi namespace (also called Connect in Apex) provides classes for accessing the same data available in Connect REST API. Use Connect in Apex to create custom experiences in Salesforce.")

## EinsteinLLM Methods

These methods are for EinsteinLLM. All methods are static.

- **[generate​MessagesFor​PromptTemplate​(promptTemplate​DevName, prompt​Template​GenerationsInput)](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_ConnectAPI_EinsteinLLM_static_methods.htm#apex_ConnectAPI_EinsteinLLM_generateMessagesForPromptTemplate_1)**  
    Generates a response using the specified prompt template and input parameters.
- **[getPromptTemplates(query, sortBy, offset, pageLimit, fields, type, relatedEntity, isActive)](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_ConnectAPI_EinsteinLLM_static_methods.htm#apex_ConnectAPI_EinsteinLLM_getPromptTemplates_1)**  
    Get a list of prompt templates using the specified filters.

### generate​MessagesFor​PromptTemplate​(promptTemplate​DevName, prompt​Template​GenerationsInput)

Generates a response using the specified prompt template and input parameters.

#### API Version

60.0

#### Requires Chatter

No

#### Signature

public static ConnectApi.EinsteinPromptTemplateGenerationsRepresentation generateMessagesForPromptTemplate(String promptTemplateDevName, ConnectApi.EinsteinPromptTemplateGenerationsInput promptTemplateGenerationsInput)

#### Parameters

promptTemplateDevName

Type: String

Developer name or ID of a prompt template record.

promptTemplateGenerationsInput

Type: [ConnectApi.EinsteinPromptTemplateGenerationsInput](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_einstein_prompt_template_generations.htm "Prompt template input parameters to use for generation.")

Input for generating a response using the specified prompt template.

#### Return Value

Type: [ConnectApi.EinsteinPromptTemplateGenerationsRepresentation](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_einstein_prompt_template_generations.htm "Generated response from the LLM provider and resolved prompt template text.")

#### Example

In this example, call generateMessagesForPromptTemplate(promptTemplateDevName, promptTemplateGenerationsInput) to resolve a Sales Email prompt template. For more examples, see [Resolve a Prompt Template](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/connectapi_examples_resolve_prompt_template.htm).

// Create input
ConnectApi.EinsteinPromptTemplateGenerationsInput promptGenerationsInput = new ConnectApi.EinsteinPromptTemplateGenerationsInput();
promptGenerationsInput.isPreview = false;

// Build input map
Map<String,ConnectApi.WrappedValue> valueMap = new Map<String,ConnectApi.WrappedValue>();

Map<String, String> recipientEntityRecordIdMap = new Map<String, String>();
recipientEntityRecordIdMap.put('id', '00Qxx000002ToPvEAK');

Map<String, String> senderEntityRecordIdMap = new Map<String, String>();
senderEntityRecordIdMap.put('id', '005xx000001XiWLAA0');

ConnectApi.WrappedValue recipientEntityWrappedValue = new ConnectApi.WrappedValue();
recipientEntityWrappedValue.value = recipientEntityRecordIdMap;

ConnectApi.WrappedValue senderEntityWrappedValue = new ConnectApi.WrappedValue();
senderEntityWrappedValue.value = senderEntityRecordIdMap;

valueMap.put('Input:Account', recipientEntityWrappedValue);
valueMap.put('Input:Recipient', recipientEntityWrappedValue);
valueMap.put('Input:Sender', senderEntityWrappedValue);

promptGenerationsInput.inputParams = valueMap;

// Set additional configuration values
promptGenerationsInput.additionalConfig = new ConnectApi.EinsteinLlmAdditionalConfigInput();
promptGenerationsInput.additionalConfig.applicationName = 'PromptTemplateGenerationsInvocable';

// Call the service
ConnectApi.EinsteinPromptTemplateGenerationsRepresentation generationsOutput = 
ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate('0hfxx0000000KTNAA2', promptGenerationsInput);

// Consume response
System.debug('Prompt Testing: ' + generationsOutput.prompt);

### getPromptTemplates(query, sortBy, offset, pageLimit, fields, type, relatedEntity, isActive)

Get a list of prompt templates using the specified filters.

#### API Version

62.0

#### Requires Chatter

No

#### Signature

public static ConnectApi.EinsteinPromptRecordCollectionOutputRepresentation getPromptTemplates(String query, String sortBy, Integer offset, Integer pageLimit, List<String\> fields, String type, String relatedEntity, Boolean isActive)

#### Parameters

query

Type: String

User-entered search string. If null, all prompt template records are returned.

sortBy

Type: String

Field to sort the returned prompt template records by, such as createdDate. If null, records are returned in the order they’re retrieved.

offset

Type: Integer

Used for pagination. Number of rows to skip between returned prompt template records. The default value is 0.

pageLimit

Type: Integer

Used for pagination. Maximum number of prompt template records returned per page. The default value is 50.

fields

Type: [List](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list "Contains methods for the List collection type.")<String>

Comma-separated list of prompt template record fields to return, such as createdDate. If null, all fields are returned.

type

Type: String

Prompt template type to filter records by, such as einstein\_gpt\_\_salesEmail. If null, records of all types are returned.

relatedEntity

Type: String

Related entity to filter records by, such as Contact. If null, all records with all related entities are returned.

isActive

Type: Boolean

Specifies whether to return active prompt templates only. The default is false.

#### Return Value

Type: [ConnectApi.EinsteinPromptRecordCollectionOutputRepresentation](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_einstein_prompt_record_collection_output.htm "List of prompt template records.")

#### Usage

To get a list of prompt templates, you must have Einstein Generative AI enabled and the Execute Prompt Templates user permission.

#### Example

ConnectApi.EinsteinPromptRecordCollectionOutputRepresentation promptTemplateList = ConnectApi.EinsteinLLM.getPromptTemplates('Summarize', 'CreatedDate', 0, 5, null, 'einstein\_gpt\_\_flex', null, true);

// Get information from the prompt templates in the list
    if (promptTemplateList != null && promptTemplateList.promptRecords != null) {
    for (ConnectApi.EinsteinPromptRecordRepresentation promptTemplate : promptTemplateList.promptRecords) {
        System.debug('Prompt Template ID: ' + promptTemplate.id);
        for (String fieldName : promptTemplate.fields.keySet()) {
            System.debug('Field Name: ' + fieldName + ', Value: ' + promptTemplate.fields.get(fieldName).value);
        }
    }
} else {
    System.debug('No prompt templates found.');
}